From e05120bbc4cd47a8056798f28bfcd66e1ae376d8 Mon Sep 17 00:00:00 2001 From: Jonathan Stichbury <2533428+nzjony@users.noreply.github.com> Date: Thu, 14 Jan 2021 10:29:31 +0100 Subject: [PATCH] MINOR: Relates to #2019, fix broken storageLevelOffset Signed-off-by: Jonathan Stichbury <2533428+nzjony@users.noreply.github.com> --- .../lib/HereWebTileDataSource.ts | 4 ++-- .../test/HereWebTileDataSourceTest.ts | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/@here/harp-webtile-datasource/lib/HereWebTileDataSource.ts b/@here/harp-webtile-datasource/lib/HereWebTileDataSource.ts index 4a61f1f9dd..a7360068b4 100644 --- a/@here/harp-webtile-datasource/lib/HereWebTileDataSource.ts +++ b/@here/harp-webtile-datasource/lib/HereWebTileDataSource.ts @@ -399,10 +399,10 @@ export class HereWebTileDataSource extends WebTileDataSource { minDataLevel: 1, maxDataLevel: 20, resolution: m_options.resolution, - dataProvider: new HereTileProvider(m_options) + dataProvider: new HereTileProvider(m_options), + storageLevelOffset: m_options.storageLevelOffset ?? -1 }); this.cacheable = true; - this.storageLevelOffset = -1; if (this.resolution === WebTileDataSource.resolutionValue.resolution512) { this.maxDataLevel = 19; // 512x512 tiles do not have z19 } diff --git a/@here/harp-webtile-datasource/test/HereWebTileDataSourceTest.ts b/@here/harp-webtile-datasource/test/HereWebTileDataSourceTest.ts index b9582aad33..28e0044f07 100644 --- a/@here/harp-webtile-datasource/test/HereWebTileDataSourceTest.ts +++ b/@here/harp-webtile-datasource/test/HereWebTileDataSourceTest.ts @@ -70,4 +70,23 @@ describe("HereWebTileDataSource", function() { it("#createWebTileDataSource throws w/ missing appId", async function() { assert.throw(() => new HereWebTileDataSource({ appCode: "42" } as any)); }); + it("#createWebTileDataSource check storageLevelOffset", async function() { + const apikey = "123"; + for (let storageLevelOffset = -2; storageLevelOffset <= 2; storageLevelOffset++) { + const webTileDataSource = new HereWebTileDataSource({ + apikey, + tileBaseAddress: HereTileProvider.TILE_AERIAL_SATELLITE, + storageLevelOffset + }); + assert(webTileDataSource.storageLevelOffset === storageLevelOffset); + } + + // Test the default value + const webTileDataSource = new HereWebTileDataSource({ + apikey, + tileBaseAddress: HereTileProvider.TILE_AERIAL_SATELLITE, + storageLevelOffset: undefined + }); + assert(webTileDataSource.storageLevelOffset === -1); + }); });