From ac4653ada5656ae03a8d930fd4e8f85cb0471092 Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Thu, 19 May 2016 09:07:57 -0600 Subject: [PATCH] Tests for source.setKey() --- test/spec/ol/source/tilesource.test.js | 41 ++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/test/spec/ol/source/tilesource.test.js b/test/spec/ol/source/tilesource.test.js index 779b829dee..110524dcfe 100644 --- a/test/spec/ol/source/tilesource.test.js +++ b/test/spec/ol/source/tilesource.test.js @@ -12,6 +12,47 @@ describe('ol.source.Tile', function() { }); }); + describe('#setKey()', function() { + it('sets the source key', function() { + var source = new ol.source.Tile({}); + expect(source.getKey()).to.equal(''); + + var key = 'foo'; + source.setKey(key); + expect(source.getKey()).to.equal(key); + }); + }); + + describe('#setKey()', function() { + it('dispatches a change event', function(done) { + var source = new ol.source.Tile({}); + + var key = 'foo'; + source.once('change', function() { + done(); + }); + source.setKey(key); + }); + + it('does not dispatch change if key does not change', function(done) { + var source = new ol.source.Tile({}); + + var key = 'foo'; + source.once('change', function() { + source.once('change', function() { + done(new Error('Unexpected change event after source.setKey()')); + }); + setTimeout(function() { + done(); + }, 10); + source.setKey(key); // this should not result in a change event + }); + + source.setKey(key); // this should result in a change event + }); + + }); + describe('#forEachLoadedTile()', function() { var callback;