mirror of
https://github.com/Leaflet/Leaflet.git
synced 2025-08-20 14:34:38 +00:00

* MapSpec.js: fix: mocked function must be restored Otherwise it will break crs.project test in CRSSpec.js * MapSpec.js: skip broken test crsMock.verify() call is mandatory here, but it shows that crs.project is never called, thus the test is not ever valid. * MapSpec.js: fix non-valid test Revert50a4845a78
and1b1d96a4c4
, and refactor a bit (rather cosmetical changes) * MapSpec.js: fix more tests Refactor before/afterEach hooks for more careful setup/cleanup. Fix some non-valid tests: * #remove - "undefines container._leaflet" - "unbinds events" * #removeLayer - "when the last tile layer on a map is removed" - "when a tile layer is removed from a map and it had greater zoom level coverage than the remainding layer" - "when a tile layer is removed from a map it and it had lesser or the sa,e zoom level coverage as the remainding layer(s)" * GridLayerSpec.js: fix some tests Refactor before/afterEach hooks for more careful setup/cleanup. Fix some non-valid tests: * "when a tilelayer is added to a map that already has a tilelayer" * spec/suites/**: refactor for more careful setup/cleanup Refactor before/afterEach hooks Other minor changes * SpecHelper.js: rename skipIn(non)Phantom to skipIf(No)3d ..to make things more clear Remove unused helper functions * Update testing deps sinon.js: left on 7.5.0 (latest still working on PhantomJS) karma-rollup-preprocessor: left on 6.1.2 (latest still supporting rollup < 1.0.0) * CRSSpec.js: workaround round-off error in Chrome L.CRS.zoom(L.CRS.scale(2.5)) results 2.4999999999999996 in Chrome Note: comparing floating point numbers properly is hard, e.g. see https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/ * Fix touch tests failing in Chrome * karma.conf.js: add custom Chrome config to make some tests pass npm run test-nolint -- --browsers Chrome1280x1024 * spec/.eslintrc: do not forbid no-unused-vars rule * spec/.eslintrc: do not forbid more rules no-extend-native no-irregular-whitespace no-shadow * Add karma-edge-launcher * Add karma-ie-launcher Some test fails atm, see log: > karma start ./spec/karma.conf.js "--browsers" "IE" ................................................................................ ..... WARN: 'Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.', undefined ................................................................................ ................................................................................ ............................................................... IE 11.0 (Windows 10) ImageOverlay _image when loaded should raise the load event FAILED TypeError: Argument not optional at raiseImageEvent (spec/suites/layer/ImageOverlaySpec.js:66:4) at Anonymous function (spec/suites/layer/ImageOverlaySpec.js:74:5) IE 11.0 (Windows 10) ImageOverlay _image when load fails should raise the error event FAILED TypeError: Argument not optional at raiseImageEvent (spec/suites/layer/ImageOverlaySpec.js:66:4) at Anonymous function (spec/suites/layer/ImageOverlaySpec.js:83:5) IE 11.0 (Windows 10) ImageOverlay _image when load fails should change the image to errorOverlayUrl FAILED TypeError: Argument not optional at raiseImageEvent (spec/suites/layer/ImageOverlaySpec.js:66:4) at Anonymous function (spec/suites/layer/ImageOverlaySpec.js:88:5) .. IE 11.0 (Windows 10) ImageOverlay #setZIndex should update the z-index of the image if it has allready been added to the map FAILED Error: expected 1 to equal '1' at Assertion.prototype.assert (node_modules/expect.js/index.js:102:7) at Assertion.prototype.equal (node_modules/expect.js/index.js:216:5) at Anonymous function (node_modules/expect.js/index.js:69:13) at Anonymous function (spec/suites/layer/ImageOverlaySpec.js:111:4) IE 11.0 (Windows 10) ImageOverlay #setZIndex should set the z-index of the image when it is added to the map FAILED Error: expected 10 to equal '10' at Assertion.prototype.assert (node_modules/expect.js/index.js:102:7) at Assertion.prototype.equal (node_modules/expect.js/index.js:216:5) at Anonymous function (node_modules/expect.js/index.js:69:13) at Anonymous function (spec/suites/layer/ImageOverlaySpec.js:121:4) IE 11.0 (Windows 10) ImageOverlay #setZIndex should use the z-index specified in options FAILED Error: expected 20 to equal '20' at Assertion.prototype.assert (node_modules/expect.js/index.js:102:7) at Assertion.prototype.equal (node_modules/expect.js/index.js:216:5) at Anonymous function (node_modules/expect.js/index.js:69:13) at Anonymous function (spec/suites/layer/ImageOverlaySpec.js:127:4) ........................................................................ IE 11.0 (Windows 10) Marker.Drag drag in CSS scaled container drags a marker with mouse, compensating for CSS scale FAILED expected 0 to be within -50..-30 (node_modules/expect.js/index.js:102) ................................................................................ ........................................................... WARN: 'Deprecated use of _flat, please use L.LineUtil.isFlat instead.' . WARN: 'Deprecated use of _flat, please use L.LineUtil.isFlat instead.' .......................................................................... 05 2020 15:25:48.917:WARN [web-server]: : /000 05 2020 15:25:48.938:WARN [web-server]: : /000 ...... .. IE 11.0 (Windows 10) Map #invalidateSize pans by the right amount when growing in 1px increments FAILED Error: expected 0 to equal 1 at Assertion.prototype.assert (node_modules/expect.js/index.js:102:7) at Assertion.prototype.equal (node_modules/expect.js/index.js:216:5) at Anonymous function (node_modules/expect.js/index.js:69:13) at Anonymous function (spec/suites/map/MapSpec.js:649:4) IE 11.0 (Windows 10) Map #invalidateSize pans by the right amount when shrinking in 1px increments FAILED Error: expected 0 to equal -1 at Assertion.prototype.assert (node_modules/expect.js/index.js:102:7) at Assertion.prototype.equal (node_modules/expect.js/index.js:216:5) at Anonymous function (node_modules/expect.js/index.js:69:13) at Anonymous function (spec/suites/map/MapSpec.js:667:4) .. IE 11.0 (Windows 10) Map #invalidateSize emits a move event if the size has changed FAILED Error: expected false to be truthy at Assertion.prototype.assert (node_modules/expect.js/index.js:102:7) at Assertion.prototype.ok (node_modules/expect.js/index.js:115:5) at Anonymous function (node_modules/expect.js/index.js:499:7) at Anonymous function (spec/suites/map/MapSpec.js:700:4) IE 11.0 (Windows 10) Map #invalidateSize emits a moveend event if the size has changed FAILED Error: expected false to be truthy at Assertion.prototype.assert (node_modules/expect.js/index.js:102:7) at Assertion.prototype.ok (node_modules/expect.js/index.js:115:5) at Anonymous function (node_modules/expect.js/index.js:499:7) at Anonymous function (spec/suites/map/MapSpec.js:710:4) IE 11.0 (Windows 10) Map #invalidateSize debounces the moveend event if the debounceMoveend option is given FAILED Error: expected false to be truthy at Assertion.prototype.assert (node_modules/expect.js/index.js:102:7) at Assertion.prototype.ok (node_modules/expect.js/index.js:115:5) at Anonymous function (node_modules/expect.js/index.js:499:7) at Anonymous function (spec/suites/map/MapSpec.js:724:4) IE 11.0 (Windows 10) Map #invalidateSize correctly adjusts for new container size when view is set during map initialization (#6165) FAILED Error: expected 0 to equal 100 at Assertion.prototype.assert (node_modules/expect.js/index.js:102:7) at Assertion.prototype.equal (node_modules/expect.js/index.js:216:5) at Anonymous function (spec/suites/map/MapSpec.js:745:4) ................ IE 11.0 (Windows 10) Map #fitBounds after layers set Snaps to a number after adding tile layer FAILED Error: Access is denied. at createTile (src/Leaflet.js:11698:3) at _addTile (src/Leaflet.js:11433:3) at _update (src/Leaflet.js:11330:5) at _setView (src/Leaflet.js:11191:5) at _resetView (src/Leaflet.js:11146:3) at onAdd (src/Leaflet.js:10784:3) at _layerAdd (src/Leaflet.js:6580:3) at Events.fire (src/Leaflet.js:588:6) at _resetView (src/Leaflet.js:4184:4) at setView (src/Leaflet.js:3181:3) .............................. IE 11.0 (Windows 10) Map.Drag mouse events in CSS scaled container change the center of the map, compensating for CSS scale FAILED expected 31.952162238024975 to be within 21.943..21.9431 (node_modules/expect.js/index.js:102) IE 11.0 (Windows 10) Map.Drag touch events change the center of the map FAILED Object doesn't support this action (node_modules/prosthetic-hand/dist/prosthetic-hand.js:624) IE 11.0 (Windows 10) Map.Drag touch events does not change the center of the map when finger is moved less than the drag threshold FAILED Object doesn't support this action (node_modules/prosthetic-hand/dist/prosthetic-hand.js:624) IE 11.0 (Windows 10) Map.Drag touch events reset itself after touchend FAILED Object doesn't support this action (node_modules/prosthetic-hand/dist/prosthetic-hand.js:624) ............. IE 11.0 (Windows 10) Map.TouchZoom Increases zoom when pinching out FAILED Object doesn't support this action (node_modules/prosthetic-hand/dist/prosthetic-hand.js:624) IE 11.0 (Windows 10) Map.TouchZoom Decreases zoom when pinching in FAILED Object doesn't support this action (node_modules/prosthetic-hand/dist/prosthetic-hand.js:624) IE 11.0 (Windows 10): Executed 685 of 688 (20 FAILED) (skipped 3) (25.993 secs / 22.211 secs) * karma.conf.js: additional Firefox configs - FirefoxPointer - FirefoxTouch - FirefoxPointerTouch * .travis.yml: run CI tests with different Firefox configs Use FirefoxHeadless * karma.conf.js: change reporter to default ('progress') Because 'dots' is confusing when mixed up with different warnings. But for CI script 'dots' fits better due to travis-ci log qualities. * .travis.yml: run CI tests with Chrome too
139 lines
3.9 KiB
JavaScript
139 lines
3.9 KiB
JavaScript
describe('Bounds', function () {
|
|
var a, b, c;
|
|
|
|
beforeEach(function () {
|
|
a = new L.Bounds(
|
|
[14, 12], // left, top
|
|
[30, 40]); // right, bottom
|
|
b = new L.Bounds([
|
|
[20, 12], // center, top
|
|
[14, 20], // left, middle
|
|
[30, 40] // right, bottom
|
|
]);
|
|
c = new L.Bounds();
|
|
});
|
|
|
|
describe('constructor', function () {
|
|
it('creates bounds with proper min & max on (Point, Point)', function () {
|
|
expect(a.min).to.eql(new L.Point(14, 12));
|
|
expect(a.max).to.eql(new L.Point(30, 40));
|
|
});
|
|
|
|
it('creates bounds with proper min & max on (Point[])', function () {
|
|
expect(b.min).to.eql(new L.Point(14, 12));
|
|
expect(b.max).to.eql(new L.Point(30, 40));
|
|
});
|
|
});
|
|
|
|
describe('#extend', function () {
|
|
it('extends the bounds to contain the given point', function () {
|
|
a.extend([50, 20]);
|
|
expect(a.min).to.eql(new L.Point(14, 12));
|
|
expect(a.max).to.eql(new L.Point(50, 40));
|
|
|
|
b.extend([25, 50]);
|
|
expect(b.min).to.eql(new L.Point(14, 12));
|
|
expect(b.max).to.eql(new L.Point(30, 50));
|
|
});
|
|
});
|
|
|
|
describe('#getCenter', function () {
|
|
it('returns the center point', function () {
|
|
expect(a.getCenter()).to.eql(new L.Point(22, 26));
|
|
});
|
|
});
|
|
|
|
describe('#contains', function () {
|
|
it('contains other bounds or point', function () {
|
|
a.extend([50, 10]);
|
|
expect(a.contains(b)).to.be.ok();
|
|
expect(b.contains(a)).to.not.be.ok();
|
|
expect(a.contains([24, 25])).to.be.ok();
|
|
expect(a.contains([54, 65])).to.not.be.ok();
|
|
});
|
|
});
|
|
|
|
describe('#isValid', function () {
|
|
it('returns true if properly set up', function () {
|
|
expect(a.isValid()).to.be.ok();
|
|
});
|
|
|
|
it('returns false if is invalid', function () {
|
|
expect(c.isValid()).to.not.be.ok();
|
|
});
|
|
|
|
it('returns true if extended', function () {
|
|
c.extend([0, 0]);
|
|
expect(c.isValid()).to.be.ok();
|
|
});
|
|
});
|
|
|
|
describe('#getSize', function () {
|
|
it('returns the size of the bounds as point', function () {
|
|
expect(a.getSize()).to.eql(new L.Point(16, 28));
|
|
});
|
|
});
|
|
|
|
describe('#intersects', function () {
|
|
it('returns true if bounds intersect', function () {
|
|
expect(a.intersects(b)).to.be(true);
|
|
});
|
|
|
|
it('two bounds intersect if they have at least one point in common', function () {
|
|
expect(a.intersects([[14, 12], [6, 5]])).to.be(true);
|
|
});
|
|
|
|
it('returns false if bounds not intersect', function () {
|
|
expect(a.intersects([[100, 100], [120, 120]])).to.eql(false);
|
|
});
|
|
});
|
|
|
|
describe('#overlaps', function () {
|
|
it('returns true if bounds overlaps', function () {
|
|
expect(a.overlaps(b)).to.be(true);
|
|
});
|
|
|
|
it('two bounds overlaps if their intersection is an area', function () {
|
|
// point in common
|
|
expect(a.overlaps([[14, 12], [6, 5]])).to.be(false);
|
|
// matching boundary
|
|
expect(a.overlaps([[30, 12], [35, 25]])).to.be(false);
|
|
});
|
|
|
|
it('returns false if bounds not overlaps', function () {
|
|
expect(a.overlaps([[100, 100], [120, 120]])).to.eql(false);
|
|
});
|
|
});
|
|
|
|
describe('#getBottomLeft', function () {
|
|
it('returns the proper bounds bottom-left value', function () {
|
|
expect(a.getBottomLeft()).to.eql(new L.Point(14, 40)); // left, bottom
|
|
});
|
|
});
|
|
|
|
describe('#getTopRight', function () {
|
|
it('returns the proper bounds top-right value', function () {
|
|
expect(a.getTopRight()).to.eql(new L.Point(30, 12)); // right, top
|
|
});
|
|
});
|
|
|
|
describe('#getTopLeft', function () {
|
|
it('returns the proper bounds top-left value', function () {
|
|
expect(a.getTopLeft()).to.eql(new L.Point(14, 12)); // left, top
|
|
});
|
|
});
|
|
|
|
describe('#getBottomRight', function () {
|
|
it('returns the proper bounds bottom-right value', function () {
|
|
expect(a.getBottomRight()).to.eql(new L.Point(30, 40)); // left, bottom
|
|
});
|
|
});
|
|
|
|
describe('L.bounds factory', function () {
|
|
it('creates bounds from array of number arrays', function () {
|
|
var bounds = L.bounds([[14, 12], [30, 40]]);
|
|
expect(bounds).to.eql(a);
|
|
});
|
|
});
|
|
});
|