Commit Graph

4 Commits

Author SHA1 Message Date
0ae68f4658 Correct Browser.touch (and more related changes) (#7029)
* Simplify touch detection

1. Detect touch in recommended way
   Ref: https://www.chromestatus.com/feature/4764225348042752
   More: https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/KV6kqDJpYiE/YFM28ZNBBAAJ

2. Drop legacy Firefox touch support
   It is deprecated since Gecko 25.
   https://developer.mozilla.org/en-US/docs/Web/API/DocumentTouch

* Introduce `Browser.touchNative`, separated from `Browser.touch`

Bring `Browser.touch` description to reality.
Add brief note about pointer->touch processing in Leaflet.

* DomEvent: do not use pointer wrapper when native touch events are available
2021-11-01 10:32:06 +02:00
e7a5c6ffbf Add more browser profiles and fix some tests (#7115)
* 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

Revert 50a4845a78 and 1b1d96a4c4,
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
2020-05-04 14:19:14 +03:00
2b96ea5aba make Leaflet.js requirable for version, remove noConflict test
Currently tests don’t account for wrapper function around Leaflet
source, so the noConflict one failed — removing for now.
2013-12-26 18:29:46 +02:00
2ebe67f110 cleanup testacular config 2013-01-31 15:44:55 +02:00