From 0ab9dd8bd0c05f2d5d0c4bbbc8fd96cd56363c33 Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Thu, 3 Mar 2016 08:47:48 -0700 Subject: [PATCH] Tests for ol.Disposable --- test/spec/ol/disposable.test.js | 45 +++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 test/spec/ol/disposable.test.js 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');