UNPKG

geospatialdraw

Version:
161 lines 6.69 kB
"use strict"; 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