Deprecate the imageSmoothing option for sources
This commit is contained in:
123
test/browser/spec/ol/source/ImageStatic.test.js
Normal file
123
test/browser/spec/ol/source/ImageStatic.test.js
Normal file
@@ -0,0 +1,123 @@
|
||||
import Static from '../../../../../src/ol/source/ImageStatic.js';
|
||||
import {get as getProjection} from '../../../../../src/ol/proj.js';
|
||||
|
||||
describe('ol/source/ImageStatic', function () {
|
||||
let extent, pixelRatio, projection, resolution;
|
||||
beforeEach(function () {
|
||||
extent = [
|
||||
-13637278.73946974, 4543799.13271362, -13617443.330629736,
|
||||
4553927.038961405,
|
||||
];
|
||||
pixelRatio = 1;
|
||||
projection = getProjection('EPSG:3857');
|
||||
resolution = 38;
|
||||
});
|
||||
|
||||
describe('#getInterpolate()', function () {
|
||||
it('is true by default', function () {
|
||||
const source = new Static({});
|
||||
expect(source.getInterpolate()).to.be(true);
|
||||
});
|
||||
|
||||
it('is false if constructed with interpolate: false', function () {
|
||||
const source = new Static({interpolate: false});
|
||||
expect(source.getInterpolate()).to.be(false);
|
||||
});
|
||||
|
||||
it('is false if constructed with imageSmoothing: false', function () {
|
||||
const source = new Static({imageSmoothing: false});
|
||||
expect(source.getInterpolate()).to.be(false);
|
||||
});
|
||||
});
|
||||
|
||||
describe('#getImage', function () {
|
||||
it('scales image height to fit imageExtent', function (done) {
|
||||
const source = new Static({
|
||||
url: 'spec/ol/source/images/12-655-1583.png',
|
||||
imageExtent: [
|
||||
-13629027.891360067, 4539747.983913189, -13619243.951739565,
|
||||
4559315.863154193,
|
||||
],
|
||||
projection: projection,
|
||||
});
|
||||
|
||||
const image = source.getImage(extent, resolution, pixelRatio, projection);
|
||||
|
||||
source.on('imageloadend', function (event) {
|
||||
expect(image.getImage().width).to.be(256);
|
||||
expect(image.getImage().height).to.be(512);
|
||||
done();
|
||||
});
|
||||
|
||||
image.load();
|
||||
});
|
||||
|
||||
it('scales image width to fit imageExtent', function (done) {
|
||||
const source = new Static({
|
||||
url: 'spec/ol/source/images/12-655-1583.png',
|
||||
imageExtent: [
|
||||
-13629027.891360067, 4539747.983913189, -13609460.012119063,
|
||||
4549531.923533691,
|
||||
],
|
||||
projection: projection,
|
||||
});
|
||||
|
||||
const image = source.getImage(extent, resolution, pixelRatio, projection);
|
||||
|
||||
source.on('imageloadend', function (event) {
|
||||
expect(image.getImage().width).to.be(512);
|
||||
expect(image.getImage().height).to.be(256);
|
||||
done();
|
||||
});
|
||||
|
||||
image.load();
|
||||
});
|
||||
|
||||
it('respects imageSize', function (done) {
|
||||
const source = new Static({
|
||||
url: 'spec/ol/source/images/12-655-1583.png',
|
||||
imageExtent: [
|
||||
-13629027.891360067, 4539747.983913189, -13619243.951739565,
|
||||
4559315.863154193,
|
||||
],
|
||||
imageSize: [254, 254],
|
||||
projection: projection,
|
||||
});
|
||||
|
||||
const image = source.getImage(extent, resolution, pixelRatio, projection);
|
||||
|
||||
source.on('imageloadend', function (event) {
|
||||
expect(image.getImage().width).to.be(254);
|
||||
expect(image.getImage().height).to.be(508);
|
||||
done();
|
||||
});
|
||||
|
||||
image.load();
|
||||
});
|
||||
|
||||
it('triggers image load events', function (done) {
|
||||
const source = new Static({
|
||||
url: 'spec/ol/source/images/12-655-1583.png',
|
||||
imageExtent: [
|
||||
-13629027.891360067, 4539747.983913189, -13619243.951739565,
|
||||
4549531.923533691,
|
||||
],
|
||||
projection: projection,
|
||||
});
|
||||
|
||||
const imageloadstart = sinon.spy();
|
||||
const imageloaderror = sinon.spy();
|
||||
|
||||
source.on('imageloadstart', imageloadstart);
|
||||
source.on('imageloaderror', imageloaderror);
|
||||
source.on('imageloadend', function (event) {
|
||||
expect(imageloadstart.callCount).to.be(1);
|
||||
expect(imageloaderror.callCount).to.be(0);
|
||||
done();
|
||||
});
|
||||
|
||||
const image = source.getImage(extent, resolution, pixelRatio, projection);
|
||||
image.load();
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user