test gutter

This commit is contained in:
mike-000
2022-03-30 11:57:10 +01:00
parent ea30a59bfe
commit d2da88a3fd
3 changed files with 144 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

View File

@@ -1,6 +1,6 @@
import TileLayer from '../../../../../src/ol/layer/Tile.js'; import TileLayer from '../../../../../src/ol/layer/Tile.js';
import {Map, View} from '../../../../../src/ol/index.js'; import {Map, View} from '../../../../../src/ol/index.js';
import {OSM, XYZ} from '../../../../../src/ol/source.js'; import {OSM, TileWMS, XYZ} from '../../../../../src/ol/source.js';
describe('ol/layer/Tile', function () { describe('ol/layer/Tile', function () {
describe('constructor (defaults)', function () { describe('constructor (defaults)', function () {
@@ -78,6 +78,77 @@ describe('ol/layer/Tile', function () {
}); });
}); });
describe('gutter', () => {
let map, target, layer, data;
beforeEach((done) => {
target = document.createElement('div');
target.style.width = '256px';
target.style.height = '256px';
document.body.appendChild(target);
layer = new TileLayer({
source: new TileWMS({
params: {
LAYERS: 'layer',
},
gutter: 20,
url: 'spec/ol/data/wms20.png',
}),
});
map = new Map({
target: target,
pixelRatio: 1,
layers: [layer],
view: new View({
center: [0, 0],
zoom: 0,
}),
});
map.once('rendercomplete', () => done());
});
afterEach(() => {
map.setTarget(null);
document.body.removeChild(target);
});
it('gets pixel data', () => {
data = layer.getData([76, 114]);
expect(data).to.be.a(Uint8ClampedArray);
expect(data.length).to.be(4);
expect(data[0]).to.be(77);
expect(data[1]).to.be(255);
expect(data[2]).to.be(77);
expect(data[3]).to.be(179);
data = layer.getData([76, 118]);
expect(data).to.be.a(Uint8ClampedArray);
expect(data.length).to.be(4);
expect(data[0]).to.be(255);
expect(data[1]).to.be(77);
expect(data[2]).to.be(77);
expect(data[3]).to.be(179);
data = layer.getData([80, 114]);
expect(data).to.be.a(Uint8ClampedArray);
expect(data.length).to.be(4);
expect(data[0]).to.be(255);
expect(data[1]).to.be(77);
expect(data[2]).to.be(77);
expect(data[3]).to.be(179);
data = layer.getData([80, 118]);
expect(data).to.be.a(Uint8ClampedArray);
expect(data.length).to.be(4);
expect(data[0]).to.be(77);
expect(data[1]).to.be(255);
expect(data[2]).to.be(77);
expect(data[3]).to.be(179);
});
});
describe('frameState.animate after tile transition with layer opacity', function () { describe('frameState.animate after tile transition with layer opacity', function () {
let target, map; let target, map;

View File

@@ -1,5 +1,6 @@
import DataTileSource from '../../../../../src/ol/source/DataTile.js'; import DataTileSource from '../../../../../src/ol/source/DataTile.js';
import Map from '../../../../../src/ol/Map.js'; import Map from '../../../../../src/ol/Map.js';
import TileWMS from '../../../../../src/ol/source/TileWMS.js';
import View from '../../../../../src/ol/View.js'; import View from '../../../../../src/ol/View.js';
import WebGLHelper from '../../../../../src/ol/webgl/Helper.js'; import WebGLHelper from '../../../../../src/ol/webgl/Helper.js';
import WebGLTileLayer from '../../../../../src/ol/layer/WebGLTile.js'; import WebGLTileLayer from '../../../../../src/ol/layer/WebGLTile.js';
@@ -128,6 +129,77 @@ describe('ol/layer/WebGLTile', function () {
}); });
}); });
describe('gutter', () => {
let map, target, layer, data;
beforeEach((done) => {
target = document.createElement('div');
target.style.width = '256px';
target.style.height = '256px';
document.body.appendChild(target);
layer = new WebGLTileLayer({
source: new TileWMS({
params: {
LAYERS: 'layer',
},
gutter: 20,
url: 'spec/ol/data/wms20.png',
}),
});
map = new Map({
target: target,
pixelRatio: 1,
layers: [layer],
view: new View({
center: [0, 0],
zoom: 0,
}),
});
map.once('rendercomplete', () => done());
});
afterEach(() => {
map.setTarget(null);
document.body.removeChild(target);
});
it('gets pixel data', () => {
data = layer.getData([76, 114]);
expect(data).to.be.a(Uint8ClampedArray);
expect(data.length).to.be(4);
expect(data[0]).to.be(77);
expect(data[1]).to.be(255);
expect(data[2]).to.be(77);
expect(data[3]).to.be(179);
data = layer.getData([76, 118]);
expect(data).to.be.a(Uint8ClampedArray);
expect(data.length).to.be(4);
expect(data[0]).to.be(255);
expect(data[1]).to.be(77);
expect(data[2]).to.be(77);
expect(data[3]).to.be(179);
data = layer.getData([80, 114]);
expect(data).to.be.a(Uint8ClampedArray);
expect(data.length).to.be(4);
expect(data[0]).to.be(255);
expect(data[1]).to.be(77);
expect(data[2]).to.be(77);
expect(data[3]).to.be(179);
data = layer.getData([80, 118]);
expect(data).to.be.a(Uint8ClampedArray);
expect(data.length).to.be(4);
expect(data[0]).to.be(77);
expect(data[1]).to.be(255);
expect(data[2]).to.be(77);
expect(data[3]).to.be(179);
});
});
describe('dispose()', () => { describe('dispose()', () => {
it('calls dispose on the renderer', () => { it('calls dispose on the renderer', () => {
const renderer = layer.getRenderer(); const renderer = layer.getRenderer();