diff --git a/test/spec/ol/disposable.test.js b/test/spec/ol/disposable.test.js new file mode 100644 index 0000000000..975f18b6cc --- /dev/null +++ b/test/spec/ol/disposable.test.js @@ -0,0 +1,45 @@ +goog.provide('ol.test.Disposable'); + +describe('ol.Disposable', function() { + + describe('constructor', function() { + + it('creates an instance', function() { + var disposable = new ol.Disposable(); + expect(disposable).to.be.a(ol.Disposable); + }); + + }); + + describe('#disposed_', function() { + + it('is initially false', function() { + var disposable = new ol.Disposable(); + expect(disposable.disposed_).to.be(false); + }); + + it('is true after a call to dispose', function() { + var disposable = new ol.Disposable(); + disposable.dispose(); + expect(disposable.disposed_).to.be(true); + }); + + }); + + describe('#dispose()', function() { + + it('calls disposeInternal only once', function() { + var disposable = new ol.Disposable(); + sinon.spy(disposable, 'disposeInternal'); + expect(disposable.disposeInternal.called).to.be(false); + disposable.dispose(); + expect(disposable.disposeInternal.callCount).to.be(1); + disposable.dispose(); + expect(disposable.disposeInternal.callCount).to.be(1); + }); + + }); + +}); + +goog.require('ol.Disposable'); diff --git a/test/spec/ol/events/eventtarget.test.js b/test/spec/ol/events/eventtarget.test.js index ac8f4a05e4..9fd6619a20 100644 --- a/test/spec/ol/events/eventtarget.test.js +++ b/test/spec/ol/events/eventtarget.test.js @@ -20,6 +20,7 @@ describe('ol.events.EventTarget', function() { describe('constructor', function() { it('creates an instance', function() { expect(eventTarget).to.be.a(ol.events.EventTarget); + expect(eventTarget).to.be.a(ol.Disposable); }); it('creates an empty listeners_ object', function() { expect(Object.keys(eventTarget.listeners_)).to.have.length(0); @@ -127,6 +128,7 @@ describe('ol.events.EventTarget', function() { }); +goog.require('ol.Disposable'); goog.require('ol.events'); goog.require('ol.events.Event'); goog.require('ol.events.EventTarget'); diff --git a/test/spec/ol/render/box.test.js b/test/spec/ol/render/box.test.js index 12982204f8..d9cd0ba8a7 100644 --- a/test/spec/ol/render/box.test.js +++ b/test/spec/ol/render/box.test.js @@ -27,6 +27,12 @@ describe('ol.render.Box', function() { }); describe('constructor', function() { + it('creates an instance', function() { + var obj = new ol.render.Box('test-box'); + expect(obj).to.be.a(ol.render.Box); + expect(obj).to.be.a(ol.Disposable); + obj.dispose(); + }) it('creates an absolutely positioned DIV with a className', function() { expect(box.element_).to.be.a(HTMLDivElement); expect(box.element_.style.position).to.be('absolute'); @@ -62,6 +68,7 @@ describe('ol.render.Box', function() { }); +goog.require('ol.Disposable'); goog.require('ol.Map'); goog.require('ol.View'); goog.require('ol.geom.Polygon'); diff --git a/test/spec/ol/renderer/maprenderer.test.js b/test/spec/ol/renderer/maprenderer.test.js new file mode 100644 index 0000000000..02eee605c8 --- /dev/null +++ b/test/spec/ol/renderer/maprenderer.test.js @@ -0,0 +1,22 @@ +goog.provide('ol.test.renderer.Map'); + +describe('ol.renderer.Map', function() { + + describe('constructor', function() { + + it('createst an instance', function() { + var map = new ol.Map({}); + var renderer = new ol.renderer.Map(null, map); + expect(renderer).to.be.a(ol.renderer.Map); + expect(renderer).to.be.a(ol.Disposable); + renderer.dispose(); + map.dispose(); + }); + + }); + +}); + +goog.require('ol.Disposable'); +goog.require('ol.Map'); +goog.require('ol.renderer.Map');