Merge pull request #12409 from M393/wmts-bounding-box

Fix WMTS wrapX detection if WGS84BoundingBox is not set
This commit is contained in:
Andreas Hocevar
2021-06-21 12:40:01 +02:00
committed by GitHub
3 changed files with 1167 additions and 4 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -458,6 +458,56 @@ describe('ol.source.WMTS', function () {
expectDelta(extent[3], expectedMatrixSetExtend[3]);
});
});
describe('set wrap x by bounding box if available', function () {
const parser = new WMTSCapabilities();
let capabilities;
before(function (done) {
afterLoadText(
'spec/ol/format/wmts/capabilities_wrapx.xml',
function (xml) {
try {
capabilities = parser.read(xml);
} catch (e) {
done(e);
}
done();
}
);
});
it('sets wrapx when no bounding box is set', function () {
const options = optionsFromCapabilities(capabilities, {
layer: 'no-bb',
matrixSet: 'EPSG:3857',
crossOrigin: 'anonymous',
});
expect(options.wrapX).to.be(true);
});
it('sets wrapx when only wgs 84 bb is set', function () {
const options = optionsFromCapabilities(capabilities, {
layer: 'only-wgs84-bb',
matrixSet: 'EPSG:3857',
crossOrigin: 'anonymous',
});
expect(options.wrapX).to.be(true);
});
it('does not set wrapx when wgs84 bb is set', function () {
const options = optionsFromCapabilities(capabilities, {
layer: 'no-wrap-wgs84-bb',
matrixSet: 'EPSG:3857',
crossOrigin: 'anonymous',
});
expect(options.wrapX).to.be(false);
});
it('does not set wrapx when tile matrix does not wrap', function () {
const options = optionsFromCapabilities(capabilities, {
layer: 'no-wrap-tm',
matrixSet: 'EPSG:3857',
crossOrigin: 'anonymous',
});
expect(options.wrapX).to.be(false);
});
});
describe('when creating options from capabilities with TileMatrixSetLink', function () {
const parser = new WMTSCapabilities();
let capabilities;