From fad3f801a3dc1185779b8c7b8b9442811aaa1982 Mon Sep 17 00:00:00 2001 From: Andrew Harvey Date: Fri, 7 May 2021 22:36:33 +1000 Subject: because OSM tag values are limited to 255 characters, implement code to split addr:flats across addr:flatsN --- test/valueLimits.js | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 test/valueLimits.js (limited to 'test') 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() +}) -- cgit v1.2.3