aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAndrew Harvey <andrew@alantgeo.com.au>2021-05-07 22:36:33 +1000
committerAndrew Harvey <andrew@alantgeo.com.au>2021-05-07 22:36:33 +1000
commitfad3f801a3dc1185779b8c7b8b9442811aaa1982 (patch)
tree230a764977c3a95d2815abd4cf2c3bc299f18251 /test
parentbb58cd0921d16268a6a1ff3f9d61a141184dded8 (diff)
because OSM tag values are limited to 255 characters, implement code to split addr:flats across addr:flatsN
Diffstat (limited to 'test')
-rw-r--r--test/valueLimits.js66
1 files changed, 66 insertions, 0 deletions
diff --git a/test/valueLimits.js b/test/valueLimits.js
new file mode 100644
index 0000000..a7f7fd7
--- /dev/null
+++ b/test/valueLimits.js
@@ -0,0 +1,66 @@
+const test = require('tape')
+
+const valueLimits = require('../lib/valueLimits.js')
+
+test('less than limit', t => {
+ t.same(
+ valueLimits({
+ properties: {
+ 'addr:flats': ''
+ }
+ }),
+ {
+ properties: {
+ 'addr:flats': ''
+ }
+ },
+ 'less than limit'
+ )
+
+ t.same(
+ valueLimits({
+ properties: {
+ 'addr:flats': '#'.repeat(255)
+ }
+ }),
+ {
+ properties: {
+ 'addr:flats': '#'.repeat(255)
+ }
+ },
+ 'exactly at limit'
+ )
+
+ t.same(
+ valueLimits({
+ properties: {
+ 'addr:flats': '#'.repeat(256)
+ }
+ }),
+ {
+ properties: {
+ 'addr:flats': '#'.repeat(255),
+ 'addr:flats2': '#'.repeat(1)
+ }
+ },
+ 'one over limit'
+ )
+
+ t.same(
+ valueLimits({
+ properties: {
+ 'addr:flats': '#'.repeat(255 + 255 + 100)
+ }
+ }),
+ {
+ properties: {
+ 'addr:flats': '#'.repeat(255),
+ 'addr:flats2': '#'.repeat(255),
+ 'addr:flats3': '#'.repeat(100)
+ }
+ },
+ 'split into three'
+ )
+
+ t.end()
+})