65 lines
1.9 KiB
JavaScript
65 lines
1.9 KiB
JavaScript
import Disposable from '../../../../src/ol/Disposable.js';
|
|
import Feature from '../../../../src/ol/Feature.js';
|
|
import Map from '../../../../src/ol/Map.js';
|
|
import MapRenderer from '../../../../src/ol/renderer/Map.js';
|
|
import VectorLayer from '../../../../src/ol/layer/Vector.js';
|
|
import VectorSource from '../../../../src/ol/source/Vector.js';
|
|
import View from '../../../../src/ol/View.js';
|
|
import {Point} from '../../../../src/ol/geom.js';
|
|
import {Projection} from '../../../../src/ol/proj.js';
|
|
|
|
describe('ol.renderer.Map', function () {
|
|
describe('constructor', function () {
|
|
it('createst an instance', function () {
|
|
const map = new Map({});
|
|
const renderer = new MapRenderer(null, map);
|
|
expect(renderer).to.be.a(MapRenderer);
|
|
expect(renderer).to.be.a(Disposable);
|
|
renderer.dispose();
|
|
map.dispose();
|
|
});
|
|
});
|
|
|
|
describe('#forEachFeatureAtCoordinate', function () {
|
|
let map;
|
|
beforeEach(function () {
|
|
const target = document.createElement('div');
|
|
target.style.width = '100px';
|
|
target.style.height = '100px';
|
|
document.body.appendChild(target);
|
|
const projection = new Projection({
|
|
code: 'EPSG:21781',
|
|
units: 'm',
|
|
});
|
|
map = new Map({
|
|
target: target,
|
|
layers: [
|
|
new VectorLayer({
|
|
source: new VectorSource({
|
|
projection: projection,
|
|
features: [new Feature(new Point([660000, 190000]))],
|
|
}),
|
|
}),
|
|
],
|
|
view: new View({
|
|
projection: projection,
|
|
center: [660000, 190000],
|
|
zoom: 9,
|
|
}),
|
|
});
|
|
map.renderSync();
|
|
});
|
|
|
|
afterEach(function () {
|
|
const target = map.getTargetElement();
|
|
map.setTarget(null);
|
|
document.body.removeChild(target);
|
|
});
|
|
|
|
it('works with custom projection', function () {
|
|
const features = map.getFeaturesAtPixel([50, 50]);
|
|
expect(features.length).to.be(1);
|
|
});
|
|
});
|
|
});
|