diff --git a/frontend-js/src/main/js/map/Submap.js b/frontend-js/src/main/js/map/Submap.js index f0519ffa46482cc0c3e7af3fce26623a33fc8f35..4811edf5c65d21de79eaa296ef65a820bfb5c222 100644 --- a/frontend-js/src/main/js/map/Submap.js +++ b/frontend-js/src/main/js/map/Submap.js @@ -83,6 +83,7 @@ Submap.prototype.open = function (htmlTag) { self._createMapChangedCallbacks(); self.getMapCanvas().triggerListeners('resize'); + self.getMapCanvas().setBackgroundId(self.getTopMap().getBackgroundDataOverlay().getId()); self.initialized = true; } else { diff --git a/frontend-js/src/test/js/map/Submap-test.js b/frontend-js/src/test/js/map/Submap-test.js index a312d46dafb5a2ebc59cc72c9708fceb36a75377..4387f88aed68b0e5765a1edaaa4a8c0745bae5ea 100644 --- a/frontend-js/src/test/js/map/Submap-test.js +++ b/frontend-js/src/test/js/map/Submap-test.js @@ -23,23 +23,44 @@ describe('Submap', function () { assert.equal(logger.getErrors().length, 0); }); - it("open", function () { - var map = helper.createCustomMap(); + describe("open", function () { + it("default", function () { + var map = helper.createCustomMap(); - var model = helper.createModel(); + var model = helper.createModel(); - var submap = new Submap(map, model); + var submap = new Submap(map, model); - $(testDiv).dialog({ - autoOpen: false - }); + $(testDiv).dialog({ + autoOpen: false + }); - submap.open(testDiv); + submap.open(testDiv); - $(testDiv).dialog("destroy"); - assert.ok(submap); - assert.equal(logger.getWarnings().length, 0); - assert.equal(logger.getErrors().length, 0); + $(testDiv).dialog("destroy"); + assert.ok(submap); + assert.equal(logger.getWarnings().length, 0); + assert.equal(logger.getErrors().length, 0); + }); + + it("with different background", function () { + var map, submap; + var projectId = "complex_model_with_submaps"; + helper.setUrl("http://test/?id=" + projectId); + return ServerConnector.getProject(projectId).then(function (project) { + map = helper.createCustomMap(project); + submap = map.getSubmapById(16729); + return project.getDataOverlayById(14960) + }).then(function (dataOverlay) { + return map.openDataOverlay(dataOverlay); + }).then(function () { + return submap.open(testDiv); + }).then(function () { + assert.equal(map.getMapCanvas().getBackgroundId(), submap.getMapCanvas().getBackgroundId(), "Background on top map different from submap"); + }).finally(function () { + return submap.destroy(); + }); + }); }); it("getTopMap", function () { @@ -72,7 +93,7 @@ describe('Submap', function () { return marker.init(); }).then(function () { assert.ok(marker.getAliasData()); - }).finally(function(){ + }).finally(function () { return submap.destroy(); }); });