geospatialdraw
Version:
Geospatial Map Drawing Library
161 lines • 6.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var chai_1 = require("chai");
var style_1 = require("ol/style");
var mock_map_1 = require("./test/mock-map");
var drawing_context_1 = require("./drawing-context");
var Polygon_1 = require("ol/geom/Polygon");
var Feature_1 = require("ol/Feature");
var Extent_1 = require("ol/interaction/Extent");
var DRAW_LAYER_INDEX = 1;
var BUFFER_LAYER_INDEX = 0;
describe('DrawingContext', function () {
var context;
var map = new mock_map_1.default();
beforeEach(function () {
map = new mock_map_1.default();
context = new drawing_context_1.default({
// @ts-ignore
map: map,
drawingStyle: new style_1.Style(),
});
});
describe('constructor', function () {
it('default', function () {
(0, chai_1.expect)(map.getTestData().layerCount).to.equal(2);
(0, chai_1.expect)(map.getTestData().interactionsCount).to.equal(0);
});
});
describe('updateFeature', function () {
it('default', function () {
var geometry = new Polygon_1.default([
[
[50, 50],
[10, 10],
[20, 20],
[50, 50],
],
]);
var feature = new Feature_1.default(geometry);
var source = map.getTestData().layers[DRAW_LAYER_INDEX].getSource();
(0, chai_1.expect)(source.getFeatures().length).to.equal(0);
context.updateFeature(feature);
(0, chai_1.expect)(source.getFeatures().length).to.equal(1);
context.updateFeature(feature);
(0, chai_1.expect)(source.getFeatures().length).to.equal(1);
});
});
describe('updateBufferFeature', function () {
it('no buffer', function () {
var geometry = new Polygon_1.default([
[
[50, 50],
[10, 10],
[20, 20],
[50, 50],
],
]);
var feature = new Feature_1.default(geometry);
var source = map.getTestData().layers[BUFFER_LAYER_INDEX].getSource();
(0, chai_1.expect)(source.getFeatures().length).to.equal(0);
context.updateBufferFeature(feature);
(0, chai_1.expect)(source.getFeatures().length).to.equal(0);
context.updateBufferFeature(feature);
(0, chai_1.expect)(source.getFeatures().length).to.equal(0);
(0, chai_1.expect)(map.getTestData().eventListeners['pointerdrag'].size).to.equal(0);
context.removeListeners();
(0, chai_1.expect)(source.getFeatures().length).to.equal(0);
(0, chai_1.expect)(map.getTestData().eventListeners['pointerdrag'].size).to.equal(0);
});
it('has buffer', function () {
var geometry = new Polygon_1.default([
[
[50, 50],
[10, 10],
[20, 20],
[50, 50],
],
]);
var feature = new Feature_1.default({
geometry: geometry,
buffer: 1,
bufferUnit: 'meters',
});
var source = map.getTestData().layers[BUFFER_LAYER_INDEX].getSource();
(0, chai_1.expect)(source.getFeatures().length).to.equal(0);
context.updateBufferFeature(feature);
(0, chai_1.expect)(source.getFeatures().length).to.equal(1);
context.updateBufferFeature(feature);
(0, chai_1.expect)(source.getFeatures().length).to.equal(1);
(0, chai_1.expect)(map.getTestData().eventListeners['pointerdrag'].size).to.equal(1);
context.removeListeners();
context.removeInteractions();
(0, chai_1.expect)(source.getFeatures().length).to.equal(0);
(0, chai_1.expect)(map.getTestData().eventListeners['pointerdrag'].size).to.equal(0);
});
});
describe('setEvent', function () {
it('snap', function () {
context.setEvent('snap', 'event', function () { });
context.removeListeners();
});
it('modify', function () {
context.setEvent('modify', 'event', function () { });
context.removeListeners();
});
it('draw', function () {
context.setDrawInteraction(new Extent_1.default());
context.setEvent('draw', 'event', function () { });
context.removeListeners();
});
});
describe('removeListeners', function () {
it('default', function () {
context.setDrawInteraction(new Extent_1.default());
context.setEvent('snap', 'event', function () { });
context.setEvent('draw', 'event', function () { });
context.setEvent('modify', 'event', function () { });
context.removeListeners();
});
});
describe('addInteractions', function () {
it('without draw interaction', function () {
context.addInteractions();
(0, chai_1.expect)(map.getTestData().interactionsCount).to.equal(2);
});
it('with draw interaction', function () {
context.setDrawInteraction(new Extent_1.default());
context.addInteractions();
(0, chai_1.expect)(map.getTestData().interactionsCount).to.equal(3);
});
});
describe('addInteractionsWithoutModify', function () {
it('without draw interaction', function () {
context.addInteractionsWithoutModify();
(0, chai_1.expect)(map.getTestData().interactionsCount).to.equal(1);
});
it('with draw interaction', function () {
context.setDrawInteraction(new Extent_1.default());
context.addInteractionsWithoutModify();
(0, chai_1.expect)(map.getTestData().interactionsCount).to.equal(2);
});
});
describe('removeInteractions', function () {
it('default', function () {
var geometry = new Polygon_1.default([
[
[50, 50],
[10, 10],
[20, 20],
[50, 50],
],
]);
var feature = new Feature_1.default(geometry);
context.updateFeature(feature);
context.addInteractions();
context.removeInteractions();
(0, chai_1.expect)(map.getTestData().interactionsCount).to.equal(0);
});
});
});
//# sourceMappingURL=drawing-context.spec.js.map