From 04f21740527de02797e429c739ab9d656c9211ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bobo=20H=C3=A4ggstr=C3=B6m?= <444567+bobobobo@users.noreply.github.com> Date: Fri, 12 Oct 2018 11:22:59 +0200 Subject: [PATCH] Add test for attributionsCollapsible property on source --- test/spec/ol/control/attribution.test.js | 42 ++++++++++++++++++------ 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/test/spec/ol/control/attribution.test.js b/test/spec/ol/control/attribution.test.js index 086f37584d..9bcadc9859 100644 --- a/test/spec/ol/control/attribution.test.js +++ b/test/spec/ol/control/attribution.test.js @@ -9,6 +9,18 @@ import {createXYZ} from '../../../../src/ol/tilegrid.js'; describe('ol.control.Attribution', function() { let map; + + const tileLoadFunction = function() { + const tile = new Tile([0, 0, -1], 2 /* LOADED */); + tile.getImage = function() { + const image = new Image(); + image.width = 256; + image.height = 256; + return image; + }; + return tile; + }; + beforeEach(function() { const target = document.createElement('div'); target.style.width = target.style.height = '100px'; @@ -49,16 +61,7 @@ describe('ol.control.Attribution', function() { }); map.getLayers().forEach(function(layer) { const source = layer.getSource(); - source.getTile = function() { - const tile = new Tile([0, 0, -1], 2 /* LOADED */); - tile.getImage = function() { - const image = new Image(); - image.width = 256; - image.height = 256; - return image; - }; - return tile; - }; + source.getTile = tileLoadFunction; }); }); @@ -73,4 +76,23 @@ describe('ol.control.Attribution', function() { expect(attribution.length).to.be(2); }); + it('renders attributions as non-collapsible if source is configured with attributionsCollapsible set to false', function() { + map.getControls().clear(); + map.addControl(new Attribution()); + const source = new TileSource({ + projection: 'EPSG:3857', + tileGrid: createXYZ(), + attributions: 'foo', + attributionsCollapsible: false + }); + source.getTile = tileLoadFunction; + map.addLayer(new TileLayer({ + source: source + })); + map.renderSync(); + + const attribution = map.getTarget().querySelectorAll('.ol-attribution.ol-uncollapsible'); + expect(attribution.length).to.be(1); + }); + });