diff --git a/src/data/localGeojson.js b/src/data/localGeojson.js index 8ad0c0ca1..3798552e0 100644 --- a/src/data/localGeojson.js +++ b/src/data/localGeojson.js @@ -35,11 +35,15 @@ export const localGeoJsonServices = Object.freeze({ export function createLocalGeoJsonLayer(options) { return createLayer(options, { ...localGeoJsonServices, - overlayHost: options.overlayHost ?? localGeoJsonServices.overlayHost, + overlayHost: options.overlayHost === undefined + ? localGeoJsonServices.overlayHost : options.overlayHost, }); } /** Create an overlay publisher using the standalone app's host by default. */ export function createLocalInfrastructureOverlayPublisher(options) { - return createPublisher({ host: localGeoJsonServices.overlayHost, ...options }); + return createPublisher({ + ...options, + host: options.host === undefined ? localGeoJsonServices.overlayHost : options.host, + }); } diff --git a/src/data/localGeojson.test.mjs b/src/data/localGeojson.test.mjs index ea8f14613..6f6b3a27d 100644 --- a/src/data/localGeojson.test.mjs +++ b/src/data/localGeojson.test.mjs @@ -1336,3 +1336,15 @@ test('globe-LOD re-selects during continuous motion, without ever seeing a moveE env.preRender.raise(); assert.deepEqual(env.layer.getLodDiagnostics(), parked, 'a parked camera never re-selects'); }); + + +test('standalone publisher retains its default host for an undefined override', () => { + const publisher = createLocalInfrastructureOverlayPublisher({ + sourceId: 'local-default-host-test', host: undefined, + }); + assert.doesNotThrow(() => { + publisher.show(); + publisher.hide(); + publisher.destroy(); + }); +});