Merge pull request #4970 from tschaub/disposable-tests

Tests for ol.Disposable.
This commit is contained in:
Tim Schaub
2016-03-03 09:35:29 -07:00
4 changed files with 76 additions and 0 deletions

View File

@@ -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');

View File

@@ -20,6 +20,7 @@ describe('ol.events.EventTarget', function() {
describe('constructor', function() { describe('constructor', function() {
it('creates an instance', function() { it('creates an instance', function() {
expect(eventTarget).to.be.a(ol.events.EventTarget); expect(eventTarget).to.be.a(ol.events.EventTarget);
expect(eventTarget).to.be.a(ol.Disposable);
}); });
it('creates an empty listeners_ object', function() { it('creates an empty listeners_ object', function() {
expect(Object.keys(eventTarget.listeners_)).to.have.length(0); 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');
goog.require('ol.events.Event'); goog.require('ol.events.Event');
goog.require('ol.events.EventTarget'); goog.require('ol.events.EventTarget');

View File

@@ -27,6 +27,12 @@ describe('ol.render.Box', function() {
}); });
describe('constructor', 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() { it('creates an absolutely positioned DIV with a className', function() {
expect(box.element_).to.be.a(HTMLDivElement); expect(box.element_).to.be.a(HTMLDivElement);
expect(box.element_.style.position).to.be('absolute'); 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.Map');
goog.require('ol.View'); goog.require('ol.View');
goog.require('ol.geom.Polygon'); goog.require('ol.geom.Polygon');

View File

@@ -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');