diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a6c2a4ac3..b46c132b3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -124,6 +124,14 @@ jobs: with: node-version: ${{ env.NODE_VERSION }} + - name: Set up Google Chrome + uses: browser-actions/setup-chrome@v1 + if: contains(matrix.browser, 'Chrome') + + - name: Set up Firefox + uses: browser-actions/setup-firefox@v1 + if: contains(matrix.browser, 'Firefox') + - name: Run tests on ${{ matrix.browser }} run: npm test -- --browsers ${{ matrix.browser }} --single-run diff --git a/package-lock.json b/package-lock.json index 8547bdf38..9b3417620 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,8 +18,8 @@ "http-server": "^14.1.1", "husky": "^8.0.1", "karma": "^6.4.1", + "karma-chai": "^0.1.0", "karma-chrome-launcher": "^3.1.1", - "karma-expect": "^1.1.3", "karma-firefox-launcher": "^2.1.2", "karma-mocha": "^2.0.1", "karma-safarinative-launcher": "^1.1.0", @@ -145,9 +145,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", - "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.5.tgz", + "integrity": "sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==", "dev": true, "dependencies": { "regenerator-runtime": "^0.13.11" @@ -157,9 +157,9 @@ } }, "node_modules/@babel/runtime-corejs3": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.21.0.tgz", - "integrity": "sha512-TDD4UJzos3JJtM+tHX+w2Uc+KWj7GV+VKKFdMVd2Rx8sdA19hcc3P3AHFYd5LVOw+pYuSd5lICC3gm52B6Rwxw==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.21.5.tgz", + "integrity": "sha512-FRqFlFKNazWYykft5zvzuEl1YyTDGsIRrjV9rvxvYkUC7W/ueBng1X68Xd6uRMzAaJ0xMKn08/wem5YS1lpX8w==", "dev": true, "dependencies": { "core-js-pure": "^3.25.1", @@ -194,9 +194,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.0.tgz", - "integrity": "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -445,9 +445,9 @@ } }, "node_modules/@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", "dev": true }, "node_modules/@types/json5": { @@ -463,9 +463,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.15.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.11.tgz", - "integrity": "sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==", + "version": "20.1.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.1.3.tgz", + "integrity": "sha512-NP2yfZpgmf2eDRPmgGq+fjGjSwFgYbihA8/gK+ey23qT9RkxsgNTZvGOEpXgzIGqesTYkElELLgtKoMQTys5vA==", "dev": true }, "node_modules/@types/parse-json": { @@ -684,6 +684,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "peer": true, + "engines": { + "node": "*" + } + }, "node_modules/astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", @@ -721,9 +731,9 @@ } }, "node_modules/axios": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.5.tgz", - "integrity": "sha512-glL/PvG/E+xCWwV8S6nCHcrfg1exGx7vxyUIivIA1iL7BIh6bePylCfVHwp6k13ao7SATxB6imau2kqY+I67kw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", + "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", "dev": true, "dependencies": { "follow-redirects": "^1.15.0", @@ -939,6 +949,25 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/chai": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "dev": true, + "peer": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^4.1.2", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -955,6 +984,16 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "dev": true, + "peer": true, + "engines": { + "node": "*" + } + }, "node_modules/chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", @@ -1111,9 +1150,9 @@ "dev": true }, "node_modules/colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true }, "node_modules/columnify": { @@ -1214,9 +1253,9 @@ } }, "node_modules/core-js-pure": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.30.1.tgz", - "integrity": "sha512-nXBEVpmUnNRhz83cHd9JRQC52cTMcuXAmR56+9dSMpRdpeA4I1PX6yjmhd71Eyc/wXNsdBdUDIj1QTIeZpU5Tg==", + "version": "3.30.2", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.30.2.tgz", + "integrity": "sha512-p/npFUJXXBkCCTIlEGBdghofn00jWG6ZOtdoIXSJmAu2QBvN0IqpZXWweOytcwE6cfx8ZvVUy1vw8zxhe4Y2vg==", "dev": true, "hasInstallScript": true, "funding": { @@ -1320,6 +1359,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dev": true, + "peer": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -1913,12 +1965,6 @@ "node": ">=8" } }, - "node_modules/expect.js": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/expect.js/-/expect.js-0.3.1.tgz", - "integrity": "sha512-okDF/FAPEul1ZFLae4hrgpIqAeapoo5TRdcg/lD0iN9S3GWrBFIJwNezGH1DMtIz+RxU4RrFmMq7WUUvDg3J6A==", - "dev": true - }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -2184,6 +2230,16 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "dev": true, + "peer": true, + "engines": { + "node": "*" + } + }, "node_modules/get-intrinsic": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", @@ -3113,6 +3169,16 @@ "node": ">= 10" } }, + "node_modules/karma-chai": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/karma-chai/-/karma-chai-0.1.0.tgz", + "integrity": "sha512-mqKCkHwzPMhgTYca10S90aCEX9+HjVjjrBFAsw36Zj7BlQNbokXXCAe6Ji04VUMsxcY5RLP7YphpfO06XOubdg==", + "dev": true, + "peerDependencies": { + "chai": "*", + "karma": ">=0.10.9" + } + }, "node_modules/karma-chrome-launcher": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz", @@ -3134,15 +3200,6 @@ "which": "bin/which" } }, - "node_modules/karma-expect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/karma-expect/-/karma-expect-1.1.3.tgz", - "integrity": "sha512-a4MvikmSLA+G4ikJY6VVGGX2Pmc8eLL+QUXftR7dGMcIt5+qCIotSj7XWifDI5IQVHDnouZgqnQIjZAiFK8oVg==", - "dev": true, - "dependencies": { - "expect.js": "^0.3.1" - } - }, "node_modules/karma-firefox-launcher": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-2.1.2.tgz", @@ -3632,6 +3689,16 @@ "node": ">=8.0" } }, + "node_modules/loupe": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "dev": true, + "peer": true, + "dependencies": { + "get-func-name": "^2.0.0" + } + }, "node_modules/markdown-it": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-11.0.1.tgz", @@ -4266,6 +4333,16 @@ "node": ">=8" } }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "peer": true, + "engines": { + "node": "*" + } + }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -4469,14 +4546,14 @@ "dev": true }, "node_modules/regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -4501,12 +4578,12 @@ "dev": true }, "node_modules/resolve": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.3.tgz", - "integrity": "sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==", + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, "dependencies": { - "is-core-module": "^2.12.0", + "is-core-module": "^2.11.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -4700,9 +4777,9 @@ } }, "node_modules/rxjs": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", - "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "dev": true, "dependencies": { "tslib": "^2.1.0" @@ -4977,9 +5054,9 @@ } }, "node_modules/string-argv": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", - "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", "dev": true, "engines": { "node": ">=0.6.19" diff --git a/package.json b/package.json index 994f02f1f..e9931946d 100644 --- a/package.json +++ b/package.json @@ -13,8 +13,8 @@ "http-server": "^14.1.1", "husky": "^8.0.1", "karma": "^6.4.1", + "karma-chai": "^0.1.0", "karma-chrome-launcher": "^3.1.1", - "karma-expect": "^1.1.3", "karma-firefox-launcher": "^2.1.2", "karma-mocha": "^2.0.1", "karma-safarinative-launcher": "^1.1.0", diff --git a/spec/.eslintrc.js b/spec/.eslintrc.js index 2007ac785..309ea4b3a 100644 --- a/spec/.eslintrc.js +++ b/spec/.eslintrc.js @@ -1,7 +1,8 @@ /** @type {import('eslint').Linter.Config } */ module.exports = { rules: { - 'no-console': 'off' + 'no-console': 'off', + 'no-unused-expressions': 'off' }, env: { mocha: true, @@ -9,6 +10,7 @@ module.exports = { globals: { L: true, expect: false, + chai: false, sinon: false, UIEventSimulator: false, Hand: false, diff --git a/spec/karma.conf.js b/spec/karma.conf.js index 063ce06d7..4e8eb53dd 100644 --- a/spec/karma.conf.js +++ b/spec/karma.conf.js @@ -5,13 +5,13 @@ module.exports = function (/** @type {import('karma').Config} */ config) { plugins: [ 'karma-mocha', 'karma-sinon', - 'karma-expect', + 'karma-chai', 'karma-chrome-launcher', 'karma-safarinative-launcher', 'karma-firefox-launcher', 'karma-time-stats-reporter' ], - frameworks: ['mocha', 'sinon', 'expect'], + frameworks: ['mocha', 'sinon', 'chai'], files: [ 'spec/before.js', {pattern: 'dist/leaflet-src.js'}, diff --git a/spec/suites/SpecHelper.js b/spec/suites/SpecHelper.js index 5386d2e8e..486a64858 100644 --- a/spec/suites/SpecHelper.js +++ b/spec/suites/SpecHelper.js @@ -1,20 +1,16 @@ -expect.Assertion.prototype.near = function (expected, delta) { +chai.util.addMethod(chai.Assertion.prototype, 'near', function (expected, delta = 1) { expected = L.point(expected); - delta = delta || 1; - expect(this.obj.x).to - .be.within(expected.x - delta, expected.x + delta); - expect(this.obj.y).to - .be.within(expected.y - delta, expected.y + delta); -}; -expect.Assertion.prototype.nearLatLng = function (expected, delta) { + new chai.Assertion(this._obj.x).to.be.within(expected.x - delta, expected.x + delta); + new chai.Assertion(this._obj.y).to.be.within(expected.y - delta, expected.y + delta); +}); + +chai.util.addMethod(chai.Assertion.prototype, 'nearLatLng', function (expected, delta = 1e-4) { expected = L.latLng(expected); - delta = delta || 1e-4; - expect(this.obj.lat).to - .be.within(expected.lat - delta, expected.lat + delta); - expect(this.obj.lng).to - .be.within(expected.lng - delta, expected.lng + delta); -}; + + new chai.Assertion(this._obj.lat).to.be.within(expected.lat - delta, expected.lat + delta); + new chai.Assertion(this._obj.lng).to.be.within(expected.lng - delta, expected.lng + delta); +}); // A couple of tests need the browser to be touch-capable it.skipIfNotTouch = L.Browser.touch ? it : it.skip; diff --git a/spec/suites/control/Control.LayersSpec.js b/spec/suites/control/Control.LayersSpec.js index 986f8a071..3930605e3 100644 --- a/spec/suites/control/Control.LayersSpec.js +++ b/spec/suites/control/Control.LayersSpec.js @@ -20,13 +20,13 @@ describe('Control.Layers', () => { map.on('baselayerchange', spy); UIEventSimulator.fire('click', layers._baseLayersList.getElementsByTagName('input')[0]); - expect(spy.called).to.be.ok(); - expect(spy.args[0][0].name).to.be('Layer 1'); - expect(spy.args[0][0].layer).to.be(baseLayers['Layer 1']); + expect(spy.called).to.be.true; + expect(spy.args[0][0].name).to.equal('Layer 1'); + expect(spy.args[0][0].layer).to.equal(baseLayers['Layer 1']); UIEventSimulator.fire('click', layers._baseLayersList.getElementsByTagName('input')[1]); - expect(spy.calledTwice).to.be.ok(); - expect(spy.args[1][0].name).to.be('Layer 2'); - expect(spy.args[1][0].layer).to.be(baseLayers['Layer 2']); + expect(spy.calledTwice).to.be.true; + expect(spy.args[1][0].name).to.equal('Layer 2'); + expect(spy.args[1][0].layer).to.equal(baseLayers['Layer 2']); }); it('works after removing and readding the Control.Layers to the map', () => { @@ -40,13 +40,13 @@ describe('Control.Layers', () => { map.addControl(layers); UIEventSimulator.fire('click', layers._baseLayersList.getElementsByTagName('input')[0]); - expect(spy.called).to.be.ok(); - expect(spy.args[0][0].name).to.be('Layer 1'); - expect(spy.args[0][0].layer).to.be(baseLayers['Layer 1']); + expect(spy.called).to.be.true; + expect(spy.args[0][0].name).to.equal('Layer 1'); + expect(spy.args[0][0].layer).to.equal(baseLayers['Layer 1']); UIEventSimulator.fire('click', layers._baseLayersList.getElementsByTagName('input')[1]); - expect(spy.calledTwice).to.be.ok(); - expect(spy.args[1][0].name).to.be('Layer 2'); - expect(spy.args[1][0].layer).to.be(baseLayers['Layer 2']); + expect(spy.calledTwice).to.be.true; + expect(spy.args[1][0].name).to.equal('Layer 2'); + expect(spy.args[1][0].layer).to.equal(baseLayers['Layer 2']); }); it('is not fired on input that doesn\'t change the base layer', () => { @@ -57,7 +57,7 @@ describe('Control.Layers', () => { map.on('baselayerchange', spy); UIEventSimulator.fire('click', layers._overlaysList.getElementsByTagName('input')[0]); - expect(spy.called).to.not.be.ok(); + expect(spy.called).to.be.false; }); }); @@ -72,7 +72,7 @@ describe('Control.Layers', () => { map.addLayer(overlay); map.removeLayer(overlay); - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; expect(spy.callCount).to.eql(2); }); @@ -85,11 +85,11 @@ describe('Control.Layers', () => { return !!(map._container.querySelector('.leaflet-control-layers-overlays input').checked); } - expect(isChecked()).to.not.be.ok(); + expect(isChecked()).to.be.false; map.addLayer(overlay); - expect(isChecked()).to.be.ok(); + expect(isChecked()).to.be.true; map.removeLayer(overlay); - expect(isChecked()).to.not.be.ok(); + expect(isChecked()).to.be.false; }); it('not when a non-included layer is added or removed', () => { @@ -102,7 +102,7 @@ describe('Control.Layers', () => { map.addLayer(overlay); map.removeLayer(overlay); - expect(spy.called).to.not.be.ok(); + expect(spy.called).to.be.false; }); it('updates when an included layer is removed from the control', () => { @@ -120,7 +120,7 @@ describe('Control.Layers', () => { expect(() => { layers.removeLayer(L.marker([0, 0])); - }).to.not.throwException(); + }).to.not.throw(); expect(layers._layers.length).to.be.equal(1); }); @@ -133,7 +133,7 @@ describe('Control.Layers', () => { function checkInputs(idx) { const inputs = map._container.querySelectorAll('.leaflet-control-layers-base input'); for (let i = 0; i < inputs.length; i++) { - expect(inputs[i].checked === (idx === i)).to.be.ok(); + expect(inputs[i].checked === (idx === i)).to.be.true; } } @@ -160,7 +160,7 @@ describe('Control.Layers', () => { expect(() => { map.removeLayer(baseLayer); - }).to.not.throwException(); + }).to.not.throw(); }); it('and layers in the control can still be removed when added after removing control from map', () => { @@ -171,19 +171,19 @@ describe('Control.Layers', () => { expect(() => { map.removeLayer(baseLayer); - }).to.not.throwException(); + }).to.not.throw(); }); }); describe('is created with an expand link', () => { it('when collapsed', () => { L.control.layers(null, null, {collapsed: true}).addTo(map); - expect(map._container.querySelector('.leaflet-control-layers-toggle')).to.be.ok(); + expect(map._container.querySelector('.leaflet-control-layers-toggle')).to.be.ok; }); it('when not collapsed', () => { L.control.layers(null, null, {collapsed: false}).addTo(map); - expect(map._container.querySelector('.leaflet-control-layers-toggle')).to.be.ok(); + expect(map._container.querySelector('.leaflet-control-layers-toggle')).to.be.ok; }); }); @@ -192,59 +192,59 @@ describe('Control.Layers', () => { const layersCtrl = L.control.layers(null, null, {collapsed: true}).addTo(map); const toggle = layersCtrl._container.querySelector('.leaflet-control-layers-toggle'); UIEventSimulator.fire('keydown', toggle, {code: 'Enter'}); - expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.be.ok(); + expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.be.ok; }); it('expands on click', () => { const layersCtrl = L.control.layers(null, null, {collapsed: true}).addTo(map); const toggle = layersCtrl._container.querySelector('.leaflet-control-layers-toggle'); UIEventSimulator.fire('click', toggle); - expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.be.ok(); + expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.be.ok; }); it('does not expand on "Enter" keydown when toggle is not focused', () => { L.control.layers(null, null, {collapsed: true}).addTo(map); UIEventSimulator.fire('keydown', document, {code:'Enter'}); - expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.not.be.ok(); + expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.be.null; }); it('expands when mouse is over', () => { const layersCtrl = L.control.layers(null, null, {collapsed: true}).addTo(map); UIEventSimulator.fire('mouseover', layersCtrl._container); - expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.be.ok(); + expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.be.ok; }); it('collapses when mouse is out', () => { const layersCtrl = L.control.layers(null, null, {collapsed: true}).addTo(map); UIEventSimulator.fire('mouseover', layersCtrl._container); UIEventSimulator.fire('mouseout', layersCtrl._container); - expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.not.be.ok(); + expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.be.null; }); it('collapses when map is clicked', () => { const layersCtrl = L.control.layers(null, null, {collapsed: true}).addTo(map); UIEventSimulator.fire('mouseover', layersCtrl._container); - expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.be.ok(); + expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.be.ok; UIEventSimulator.fire('click', map._container); - expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.not.be.ok(); + expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.be.null; }); }); describe('does not collapse when collapsed: false', () => { it('does not collapse when mouse enters or leaves', () => { const layersCtrl = L.control.layers(null, null, {collapsed: false}).addTo(map); - expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.be.ok(); + expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.be.ok; UIEventSimulator.fire('mouseover', layersCtrl._container); - expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.be.ok(); + expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.be.ok; UIEventSimulator.fire('mouseout', layersCtrl._container); - expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.be.ok(); + expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.be.ok; }); it('does not collapse when map is clicked', () => { L.control.layers(null, null, {collapsed: false}).addTo(map); - expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.be.ok(); + expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.be.ok; UIEventSimulator.fire('click', map._container); - expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.be.ok(); + expect(map._container.querySelector('.leaflet-control-layers-expanded')).to.be.ok; }); it('is scrollable if necessary when added on map', () => { @@ -266,7 +266,7 @@ describe('Control.Layers', () => { expect(container.clientHeight).to.be.greaterThan(0); // Make sure first that the map container has a height, otherwise this test is useless. expect(container.clientHeight).to.be.greaterThan(layersCtrl._container.clientHeight); - expect(layersCtrl._section.classList.contains('leaflet-control-layers-scrollbar')).to.be(true); + expect(layersCtrl._section.classList.contains('leaflet-control-layers-scrollbar')).to.be.true; }); it('becomes scrollable if necessary when too many layers are added while it is already on map', () => { @@ -280,7 +280,7 @@ describe('Control.Layers', () => { map = L.map(container); layersCtrl.addTo(map); - expect(layersCtrl._section.classList.contains('leaflet-control-layers-scrollbar')).to.be(false); + expect(layersCtrl._section.classList.contains('leaflet-control-layers-scrollbar')).to.be.false; for (; i < 20; i += 1) { // Default text size: 12px => 12 * 20 = 240px height (not even considering padding/margin). @@ -288,7 +288,7 @@ describe('Control.Layers', () => { } expect(container.clientHeight).to.be.greaterThan(layersCtrl._container.clientHeight); - expect(layersCtrl._section.classList.contains('leaflet-control-layers-scrollbar')).to.be(true); + expect(layersCtrl._section.classList.contains('leaflet-control-layers-scrollbar')).to.be.true; }); }); diff --git a/spec/suites/control/ControlSpec.js b/spec/suites/control/ControlSpec.js index d77a3dc91..25d60e754 100644 --- a/spec/suites/control/ControlSpec.js +++ b/spec/suites/control/ControlSpec.js @@ -42,7 +42,7 @@ describe('Control', () => { it('calls onRemove if defined', () => { control.onRemove = sinon.spy(); control.remove(); - expect(control.onRemove.called).to.be(true); + expect(control.onRemove.called).to.be.true; }); it('is a no-op if the control has not been added', () => { diff --git a/spec/suites/core/ClassSpec.js b/spec/suites/core/ClassSpec.js index 5caa573dc..829c1b435 100644 --- a/spec/suites/core/ClassSpec.js +++ b/spec/suites/core/ClassSpec.js @@ -24,12 +24,12 @@ describe('Class', () => { it('creates a class with the given constructor & properties', () => { const a = new Klass(); - expect(constructor.called).to.be.ok(); + expect(constructor.called).to.be.true; expect(a.foo).to.eql(5); a.bar(); - expect(method.called).to.be.ok(); + expect(method.called).to.be.true; }); it('inherits parent classes\' constructor & properties', () => { @@ -37,15 +37,15 @@ describe('Class', () => { const b = new Klass2(); - expect(b instanceof Klass).to.be.ok(); - expect(b instanceof Klass2).to.be.ok(); + expect(b instanceof Klass).to.be.true; + expect(b instanceof Klass2).to.be.true; - expect(constructor.called).to.be.ok(); + expect(constructor.called).to.be.true; expect(b.baz).to.eql(2); b.bar(); - expect(method.called).to.be.ok(); + expect(method.called).to.be.true; }); it('does not modify source props object', () => { @@ -64,7 +64,7 @@ describe('Class', () => { }); it('does not merge \'statics\' property itself', () => { - expect('statics' in Klass.prototype).to.not.be.ok(); + expect('statics' in Klass.prototype).to.be.false; }); it('inherits parent static properties', () => { @@ -81,11 +81,11 @@ describe('Class', () => { it('includes the given mixin', () => { const a = new Klass(); - expect(a.mixin).to.be.ok(); + expect(a.mixin).to.be.true; }); it('does not merge \'includes\' property itself', () => { - expect('includes' in Klass.prototype).to.not.be.ok(); + expect('includes' in Klass.prototype).to.be.false; }); it('includes multiple mixins', () => { @@ -94,15 +94,15 @@ describe('Class', () => { }); const a = new Klass2(); - expect(a.mixin).to.be.ok(); - expect(a.mixin2).to.be.ok(); + expect(a.mixin).to.be.true; + expect(a.mixin2).to.be.true; }); it('grants the ability to include the given mixin', () => { Klass.include({mixin2: true}); const a = new Klass(); - expect(a.mixin2).to.be.ok(); + expect(a.mixin2).to.be.true; }); it('merges options instead of replacing them', () => { @@ -142,7 +142,7 @@ describe('Class', () => { const props = {options: {}}; const K = L.Class.extend(props); - expect(K.prototype.options).not.to.be(props.options); + expect(K.prototype.options).not.to.equal(props.options); }); it('does not replace source props.options object', () => { @@ -151,13 +151,13 @@ describe('Class', () => { const props = {options: opts}; K1.extend(props); - expect(props.options).to.be(opts); + expect(props.options).to.equal(opts); }); it('prevents change of prototype options', () => { const Klass = L.Class.extend({options: {}}); const instance = new Klass(); - expect(Klass.prototype.options).to.not.be(instance.options); + expect(Klass.prototype.options).to.not.equal(instance.options); }); it('adds constructor hooks correctly', () => { @@ -168,7 +168,7 @@ describe('Class', () => { new Klass(); - expect(spy1.called).to.be.ok(); + expect(spy1.called).to.be.true; expect(method.calledWith(1, 2, 3)); }); @@ -183,8 +183,8 @@ describe('Class', () => { new Klass2(); - expect(spy1.called).to.be.ok(); - expect(spy2.called).to.be.ok(); + expect(spy1.called).to.be.true; + expect(spy2.called).to.be.true; }); it('does not call child constructor hooks', () => { @@ -198,7 +198,7 @@ describe('Class', () => { new Klass(); - expect(spy1.called).to.be.ok(); + expect(spy1.called).to.be.true; expect(spy2.called).to.eql(false); }); @@ -210,7 +210,7 @@ describe('Class', () => { const Klass2 = Klass.extend({}); new Klass2(); - expect(spy1.called).to.be.ok(); + expect(spy1.called).to.be.true; }); }); @@ -231,10 +231,10 @@ describe('Class', () => { const b = new Qlass(); a.quux(); - expect(q.called).to.be.ok(); + expect(q.called).to.be.true; b.quux(); - expect(q.called).to.be.ok(); + expect(q.called).to.be.true; }); it('keeps parent options', () => { // #6070 @@ -256,7 +256,7 @@ describe('Class', () => { const props = {options: {}}; const K = Klass.include(props); - expect(K.prototype.options).not.to.be(props.options); + expect(K.prototype.options).not.to.equal(props.options); }); it('does not replace source props.options object', () => { @@ -265,7 +265,7 @@ describe('Class', () => { const props = {options: opts}; K1.extend(props); - expect(props.options).to.be(opts); + expect(props.options).to.equal(opts); }); }); diff --git a/spec/suites/core/EventsSpec.js b/spec/suites/core/EventsSpec.js index 7ebd10a64..38fcbae5c 100644 --- a/spec/suites/core/EventsSpec.js +++ b/spec/suites/core/EventsSpec.js @@ -15,22 +15,22 @@ describe('Events', () => { obj.addEventListener({test: spy4, other: spy5}); // obj.addEventListener({'test other': spy6 }); - expect(spy1.called).to.be(false); - expect(spy2.called).to.be(false); - expect(spy3.called).to.be(false); - expect(spy4.called).to.be(false); - expect(spy5.called).to.be(false); - // expect(spy6.called).to.be(false); + expect(spy1.called).to.be.false; + expect(spy2.called).to.be.false; + expect(spy3.called).to.be.false; + expect(spy4.called).to.be.false; + expect(spy5.called).to.be.false; + // expect(spy6.called).to.be.false; obj.fireEvent('test'); - expect(spy1.called).to.be(true); - expect(spy2.called).to.be(true); - expect(spy3.called).to.be(false); - expect(spy4.called).to.be(true); - expect(spy5.called).to.be(false); - // expect(spy6.called).to.be(true); - // expect(spy6.callCount).to.be(1); + expect(spy1.called).to.be.true; + expect(spy2.called).to.be.true; + expect(spy3.called).to.be.false; + expect(spy4.called).to.be.true; + expect(spy5.called).to.be.false; + // expect(spy6.called).to.be.true; + // expect(spy6.callCount).to.equal(1); }); it('fires all listeners in the order they are added', () => { @@ -83,10 +83,10 @@ describe('Events', () => { obj.fireEvent('test'); - expect(count.one).to.be(1); - expect(count.two).to.be(3); - expect(count.three).to.be(2); - expect(count.four).to.be(1); + expect(count.one).to.equal(1); + expect(count.two).to.equal(3); + expect(count.three).to.equal(2); + expect(count.four).to.equal(1); }); it('provides event object to listeners and executes them in the right context', () => { @@ -148,7 +148,7 @@ describe('Events', () => { obj.fireEvent('test'); - expect(spy.called).to.be(false); + expect(spy.called).to.be.false; obj.addEventListener('test2', spy2); obj.addEventListener('test2', spy3); @@ -156,8 +156,8 @@ describe('Events', () => { obj.fireEvent('test2'); - expect(spy2.called).to.be(false); - expect(spy3.called).to.be(false); + expect(spy2.called).to.be.false; + expect(spy3.called).to.be.false; obj.addEventListener('test3', spy4); obj.addEventListener('test4', spy5); @@ -169,8 +169,8 @@ describe('Events', () => { obj.fireEvent('test3'); obj.fireEvent('test4'); - expect(spy4.called).to.be(false); - expect(spy5.called).to.be(false); + expect(spy4.called).to.be.false; + expect(spy5.called).to.be.false; }); it('can handle calls to #removeEventListener on objects with no registered event listeners', () => { @@ -178,7 +178,7 @@ describe('Events', () => { const removeNonExistentListener = function () { obj.removeEventListener('test'); }; - expect(removeNonExistentListener).to.not.throwException(); + expect(removeNonExistentListener).to.not.throw(); }); // added due to context-sensitive removeListener optimization @@ -195,8 +195,8 @@ describe('Events', () => { obj.fireEvent('test'); - expect(spy1.called).to.be(true); - expect(spy2.called).to.be(true); + expect(spy1.called).to.be.true; + expect(spy2.called).to.be.true; }); it('removes listeners with stamped contexts', () => { @@ -214,8 +214,8 @@ describe('Events', () => { obj.fireEvent('test'); - expect(spy1.called).to.be(false); - expect(spy2.called).to.be(true); + expect(spy1.called).to.be.false; + expect(spy2.called).to.be.true; }); it('removes listeners with a stamp originally added without one', () => { @@ -233,8 +233,8 @@ describe('Events', () => { obj.fireEvent('test'); - expect(spy1.called).to.be(false); - expect(spy2.called).to.be(false); + expect(spy1.called).to.be.false; + expect(spy2.called).to.be.false; }); it('removes listeners with context == this and a stamp originally added without one', () => { @@ -255,9 +255,9 @@ describe('Events', () => { obj.fireEvent('test'); - expect(spy1.called).to.be(false); - expect(spy2.called).to.be(false); - expect(spy3.called).to.be(false); + expect(spy1.called).to.be.false; + expect(spy2.called).to.be.false; + expect(spy3.called).to.be.false; }); it('doesnt lose track of listeners when removing non existent ones', () => { @@ -279,7 +279,7 @@ describe('Events', () => { obj.fireEvent('test'); - expect(spy.called).to.be(false); + expect(spy.called).to.be.false; }); it('correctly removes all listeners if given no fn', () => { @@ -293,19 +293,19 @@ describe('Events', () => { obj.removeEventListener('test'); // Removes both of the above listeners - expect(obj.listens('test')).to.be(false); + expect(obj.listens('test')).to.be.false; // Add and remove a listener obj.addEventListener('test', spy, foo2); obj.removeEventListener('test', spy, foo2); - expect(obj.listens('test')).to.be(false); + expect(obj.listens('test')).to.be.false; // Add and remove a listener without context obj.addEventListener('test', spy); obj.removeEventListener('test', spy); - expect(obj.listens('test')).to.be(false); + expect(obj.listens('test')).to.be.false; }); it('makes sure an event is not triggered if a listener is removed during dispatch', () => { @@ -319,7 +319,7 @@ describe('Events', () => { obj.addEventListener('test', spy); obj.fireEvent('test'); - expect(spy.called).to.be(false); + expect(spy.called).to.be.false; /* with context */ obj.addEventListener('test2', () => { obj.removeEventListener('test2', spy2, foo); }, foo); @@ -335,7 +335,7 @@ describe('Events', () => { obj.addEventListener('test', spy); obj.fire('test'); - expect(spy.called).to.be(false); + expect(spy.called).to.be.false; }); it('handles reentrant event firing', () => { @@ -354,8 +354,8 @@ describe('Events', () => { .addEventListener('test1', spy2); obj.fireEvent('test1'); - expect(spy1.called).to.be(true); - expect(spy2.called).to.be(false); + expect(spy1.called).to.be.true; + expect(spy2.called).to.be.false; }); it('can remove an event listener while firing', () => { @@ -373,7 +373,7 @@ describe('Events', () => { obj.removeEventListener('test', removeSpy); - expect(obj.listens('test')).to.be(false); + expect(obj.listens('test')).to.be.false; }); }); @@ -384,7 +384,7 @@ describe('Events', () => { obj.off('test', undefined); obj.off({test: undefined}); - expect(obj.listens('test')).to.be(true); + expect(obj.listens('test')).to.be.true; }); it('ignores non-function listeners passed', () => { @@ -392,8 +392,8 @@ describe('Events', () => { const off = obj.off.bind(obj); ['string', {}, [], true, false, undefined].forEach((fn) => { obj.on('test', fn); - expect(obj.listens('test')).to.be(false); - expect(off).withArgs('test', fn).to.not.throwException(); + expect(obj.listens('test')).to.be.false; + expect(() => off('test', fn)).to.not.throw(); }); }); @@ -403,8 +403,8 @@ describe('Events', () => { const off = obj.off.bind(obj); // todo? make it throw with [] [true, false, undefined, 1].forEach((type) => { - expect(on).withArgs(type, L.Util.falseFn).to.throwException(); - expect(off).withArgs(type, L.Util.falseFn).to.throwException(); + expect(() => on(type, L.Util.falseFn)).to.throw(); + expect(() => off(type, L.Util.falseFn)).to.throw(); }); // todo? make `fire` and `listen` to throw with wrong type @@ -417,7 +417,7 @@ describe('Events', () => { obj.on('test', spy); obj.fire('test'); - expect(spy.called).to.be(true); + expect(spy.called).to.be.true; obj.off('test', spy); obj.fireEvent('test'); @@ -439,13 +439,13 @@ describe('Events', () => { const obj = new Klass(); obj.on(); - expect(spy1.called).to.be(true); + expect(spy1.called).to.be.true; obj.off(); - expect(spy2.called).to.be(true); + expect(spy2.called).to.be.true; obj.fire(); - expect(spy3.called).to.be(true); + expect(spy3.called).to.be.true; }); it('does not add twice the same function', () => { @@ -476,7 +476,7 @@ describe('Events', () => { obj.fire('test'); - expect(spy.called).to.be(false); + expect(spy.called).to.be.false; }); }); @@ -488,7 +488,7 @@ describe('Events', () => { obj.once('test', spy, obj); obj.fire('test'); - expect(spy.called).to.be(true); + expect(spy.called).to.be.true; obj.fire('test'); @@ -508,8 +508,8 @@ describe('Events', () => { obj.fire('test'); obj.fire('otherTest'); - expect(spy.called).to.be(true); - expect(otherSpy.called).to.be(true); + expect(spy.called).to.be.true; + expect(otherSpy.called).to.be.true; obj.fire('test'); obj.fire('otherTest'); @@ -527,7 +527,7 @@ describe('Events', () => { obj.fire('test'); - expect(spy.called).to.be(false); + expect(spy.called).to.be.false; }); it('doesn\'t call once twice', () => { @@ -540,7 +540,7 @@ describe('Events', () => { obj.fire('test'); - expect(spy.calledOnce).to.be(true); + expect(spy.calledOnce).to.be.true; }); @@ -553,7 +553,7 @@ describe('Events', () => { obj.fire('test'); - expect(spy.called).to.be(true); + expect(spy.called).to.be.true; }); }); @@ -572,20 +572,20 @@ describe('Events', () => { obj.fire('test'); - expect(spy1.called).to.be(false); - expect(spy2.called).to.be(false); + expect(spy1.called).to.be.false; + expect(spy2.called).to.be.false; obj.fire('test', null, true); - expect(spy1.called).to.be(true); - expect(spy2.called).to.be(true); + expect(spy1.called).to.be.true; + expect(spy2.called).to.be.true; obj.removeEventParent(parent1); obj.fire('test', null, true); - expect(spy1.callCount).to.be(1); - expect(spy2.callCount).to.be(2); + expect(spy1.callCount).to.equal(1); + expect(spy2.callCount).to.equal(2); }); it('can fire event where child has no listeners', () => { @@ -626,7 +626,7 @@ describe('Events', () => { type: 'test2', target: obj, sourceTarget: obj - })).to.be.ok(); + })).to.be.true; expect(spy2.calledWith({ type: 'test2', target: parent, @@ -635,7 +635,7 @@ describe('Events', () => { layer: obj, sourceTarget: obj, propagatedFrom: obj - })).to.be.ok(); + })).to.be.true; }); }); @@ -643,7 +643,7 @@ describe('Events', () => { it('is false if there is no event handler', () => { const obj = new L.Evented(); - expect(obj.listens('test')).to.be(false); + expect(obj.listens('test')).to.be.false; }); it('is true if there is an event handler', () => { @@ -651,7 +651,7 @@ describe('Events', () => { spy = sinon.spy(); obj.on('test', spy); - expect(obj.listens('test')).to.be(true); + expect(obj.listens('test')).to.be.true; }); it('is false if event handler has been removed', () => { @@ -660,7 +660,7 @@ describe('Events', () => { obj.on('test', spy); obj.off('test', spy); - expect(obj.listens('test')).to.be(false); + expect(obj.listens('test')).to.be.false; }); it('changes for a "once" handler', () => { @@ -668,10 +668,10 @@ describe('Events', () => { spy = sinon.spy(); obj.once('test', spy); - expect(obj.listens('test')).to.be(true); + expect(obj.listens('test')).to.be.true; obj.fire('test'); - expect(obj.listens('test')).to.be(false); + expect(obj.listens('test')).to.be.false; }); it('returns true if event handler with specific function and context is existing', () => { @@ -683,17 +683,17 @@ describe('Events', () => { obj.on('test', spy); // event handler 'test' is existing - expect(obj.listens('test')).to.be(true); + expect(obj.listens('test')).to.be.true; // event handler with specific function is existing - expect(obj.listens('test', spy)).to.be(true); // context arg: undefined === this - expect(obj.listens('test', spy, obj)).to.be(true); + expect(obj.listens('test', spy)).to.be.true; // context arg: undefined === this + expect(obj.listens('test', spy, obj)).to.be.true; // event handler with specific function and other context is not existing - expect(obj.listens('test', spy, differentContext)).to.be(false); + expect(obj.listens('test', spy, differentContext)).to.be.false; // event handler with specific function is not existing - expect(obj.listens('test', diffentFnc)).to.be(false); + expect(obj.listens('test', diffentFnc)).to.be.false; }); it('is true if there is an event handler on parent', () => { @@ -702,8 +702,8 @@ describe('Events', () => { spy = sinon.spy(); fg.on('test', spy); - expect(marker.listens('test', false)).to.be(false); - expect(marker.listens('test', true)).to.be(true); + expect(marker.listens('test', false)).to.be.false; + expect(marker.listens('test', true)).to.be.true; }); it('is true if there is an event handler on parent parent', () => { @@ -713,8 +713,8 @@ describe('Events', () => { spy = sinon.spy(); fgP.on('test', spy); - expect(marker.listens('test', false)).to.be(false); - expect(marker.listens('test', true)).to.be(true); + expect(marker.listens('test', false)).to.be.false; + expect(marker.listens('test', true)).to.be.true; }); it('is true if there is an event handler with specific function on parent', () => { @@ -723,10 +723,10 @@ describe('Events', () => { spy = sinon.spy(); fg.on('test', spy); - expect(marker.listens('test', spy, marker, false)).to.be(false); - expect(marker.listens('test', spy, marker, true)).to.be(false); - expect(marker.listens('test', spy, fg, false)).to.be(false); - expect(marker.listens('test', spy, fg, true)).to.be(true); + expect(marker.listens('test', spy, marker, false)).to.be.false; + expect(marker.listens('test', spy, marker, true)).to.be.false; + expect(marker.listens('test', spy, fg, false)).to.be.false; + expect(marker.listens('test', spy, fg, true)).to.be.true; }); }); }); diff --git a/spec/suites/core/UtilSpec.js b/spec/suites/core/UtilSpec.js index d5be82463..b4668462c 100644 --- a/spec/suites/core/UtilSpec.js +++ b/spec/suites/core/UtilSpec.js @@ -50,7 +50,7 @@ describe('Util', () => { describe('#falseFn', () => { it('returns false', () => { - expect(L.Util.falseFn()).to.be(false); + expect(L.Util.falseFn()).to.be.false; }); }); @@ -201,7 +201,7 @@ describe('Util', () => { it('throws when a template token is not given', () => { expect(() => { L.Util.template(undefined, {foo: 'bar'}); - }).to.throwError(); + }).to.throw(); }); it('allows underscores, dashes and spaces in placeholders', () => { diff --git a/spec/suites/dom/DomEvent.DoubleTapSpec.js b/spec/suites/dom/DomEvent.DoubleTapSpec.js index 23fd63e11..d8fd121af 100644 --- a/spec/suites/dom/DomEvent.DoubleTapSpec.js +++ b/spec/suites/dom/DomEvent.DoubleTapSpec.js @@ -20,8 +20,8 @@ describe('DomEvent.DoubleTapSpec.js', () => { clock.tick(100); UIEventSimulator.fire('click', container, {detail: 1}); - expect(spy.called).to.be.ok(); - expect(spy.calledOnce).to.be.ok(); + expect(spy.called).to.be.true; + expect(spy.calledOnce).to.be.true; expect(spy.lastCall.args[0] instanceof MouseEvent).to.equal(true); expect(spy.lastCall.args[0].isTrusted).to.equal(false); }); @@ -31,7 +31,7 @@ describe('DomEvent.DoubleTapSpec.js', () => { clock.tick(300); UIEventSimulator.fire('click', container, {detail: 1}); - expect(spy.notCalled).to.be.ok(); + expect(spy.notCalled).to.be.true; }); it('does not fire dblclick when detail !== 1', () => { @@ -40,7 +40,7 @@ describe('DomEvent.DoubleTapSpec.js', () => { UIEventSimulator.fire('click', container, {detail: 0}); clock.tick(100); - expect(spy.notCalled).to.be.ok(); + expect(spy.notCalled).to.be.true; }); it('does not fire dblclick after removeListener', () => { @@ -51,7 +51,7 @@ describe('DomEvent.DoubleTapSpec.js', () => { UIEventSimulator.fire('click', container, {detail: 1}); clock.tick(100); - expect(spy.notCalled).to.be.ok(); + expect(spy.notCalled).to.be.true; }); it('does not conflict with native dblclick', () => { @@ -59,8 +59,8 @@ describe('DomEvent.DoubleTapSpec.js', () => { clock.tick(100); UIEventSimulator.fire('click', container, {detail: 2}); // native dblclick expected UIEventSimulator.fire('dblclick', container); // native dblclick expected - expect(spy.called).to.be.ok(); - expect(spy.calledOnce).to.be.ok(); + expect(spy.called).to.be.true; + expect(spy.calledOnce).to.be.true; }); it('synthetic dblclick event has expected properties', () => { @@ -84,9 +84,9 @@ describe('DomEvent.DoubleTapSpec.js', () => { target: container }); for (const [prop, expectedValue] of Object.entries(expectedProps)) { - expect(event[prop]).to.be(expectedValue); + expect(event[prop]).to.equal(expectedValue); } - expect(event.isTrusted).not.to.be.ok(); + expect(event.isTrusted).not.to.be.true; }); it('respects disableClickPropagation', () => { @@ -109,8 +109,8 @@ describe('DomEvent.DoubleTapSpec.js', () => { clock.tick(100); UIEventSimulator.fire('click', ctrl, {detail: 1}); - expect(spyCtrl.called).to.be.ok(); - expect(spyMap.notCalled).to.be.ok(); + expect(spyCtrl.called).to.be.true; + expect(spyMap.notCalled).to.be.true; }); it('doesn\'t fire double-click while clicking on a label with `for` attribute', () => { @@ -131,7 +131,7 @@ describe('DomEvent.DoubleTapSpec.js', () => { // click on the label UIEventSimulator.fire('click', div.children[1], {detail: 1}); clock.tick(100); - expect(spyMap.notCalled).to.be.ok(); + expect(spyMap.notCalled).to.be.true; map.remove(); }); }); diff --git a/spec/suites/dom/DomEvent.PointerSpec.js b/spec/suites/dom/DomEvent.PointerSpec.js index 6707515b7..a7a4758bf 100644 --- a/spec/suites/dom/DomEvent.PointerSpec.js +++ b/spec/suites/dom/DomEvent.PointerSpec.js @@ -29,8 +29,8 @@ describe('DomEvent.Pointer', () => { UIEventSimulator.fire(type, el); }); touchEvents.forEach((type) => { - expect(listeners[type].called).to.be.ok(); - expect(listeners[type].calledOnce).to.be.ok(); + expect(listeners[type].called).to.be.true; + expect(listeners[type].calledOnce).to.be.true; }); }); @@ -42,7 +42,7 @@ describe('DomEvent.Pointer', () => { UIEventSimulator.fire(type, el); }); touchEvents.forEach((type) => { - expect(listeners[type].notCalled).to.be.ok(); + expect(listeners[type].notCalled).to.be.true; }); }); @@ -51,7 +51,7 @@ describe('DomEvent.Pointer', () => { UIEventSimulator.fire(type, el, {pointerType: 'mouse'}); }); touchEvents.forEach((type) => { - expect(listeners[type].notCalled).to.be.ok(); + expect(listeners[type].notCalled).to.be.true; }); }); @@ -60,7 +60,7 @@ describe('DomEvent.Pointer', () => { UIEventSimulator.fire(type, el); }); touchEvents.forEach((type) => { - expect(listeners[type].notCalled).to.be.ok(); + expect(listeners[type].notCalled).to.be.true; }); }); @@ -89,72 +89,77 @@ describe('DomEvent.Pointer', () => { return res; } // test helper function - expect(containIn(undefined, {a:1})).not.to.be.ok(); - expect(containIn({}, {a:1})).not.to.be.ok(); - expect(containIn({a:1}, {a:2})).not.to.be.ok(); - expect(containIn({a:1}, {a:1, b:2})).to.be.ok(); - expect(containIn({a:1, b:2}, {a:1})).not.to.be.ok(); - expect(containIn({a:1}, [{a:1}, {b:2}])).to.be.ok(); - expect(containIn({a:1}, [{a:0}, {b:2}])).not.to.be.ok(); - expect(containIn([{a:1}, {b:2}], [{a:1}, {b:2}, {c:3}])).to.be.ok(); - expect(containIn([{a:1}, {b:2}], [{a:0}, {b:2}])).not.to.be.ok(); + expect(containIn(undefined, {a:1})).not.to.be.true; + expect(containIn({}, {a:1})).not.to.be.true; + expect(containIn({a:1}, {a:2})).not.to.be.true; + expect(containIn({a:1}, {a:1, b:2})).to.be.true; + expect(containIn({a:1, b:2}, {a:1})).not.to.be.true; + expect(containIn({a:1}, [{a:1}, {b:2}])).to.be.true; + expect(containIn({a:1}, [{a:0}, {b:2}])).not.to.be.true; + expect(containIn([{a:1}, {b:2}], [{a:1}, {b:2}, {c:3}])).to.be.true; + expect(containIn([{a:1}, {b:2}], [{a:0}, {b:2}])).not.to.be.true; // pointerdown/touchstart const pointer1 = {clientX:1, clientY:1, pointerId: 1}; UIEventSimulator.fire('pointerdown', el, pointer1); let evt = listeners.touchstart.lastCall.args[0]; - expect(evt.type).to.be('pointerdown'); - expect(evt).to.have.keys('touches', 'changedTouches'); + expect(evt.type).to.equal('pointerdown'); + expect(evt).to.have.property('touches'); + expect(evt).to.have.property('changedTouches'); expect(evt.changedTouches).to.have.length(1); - expect(containIn(pointer1, evt.changedTouches[0])).to.be.ok(); + expect(containIn(pointer1, evt.changedTouches[0])).to.be.true; expect(evt.touches).to.have.length(1); - expect(containIn(pointer1, evt.touches[0])).to.be.ok(); + expect(containIn(pointer1, evt.touches[0])).to.be.true; // another pointerdown/touchstart (multitouch) const pointer2 = {clientX:2, clientY:2, pointerId: 2}; UIEventSimulator.fire('pointerdown', el, pointer2); evt = listeners.touchstart.lastCall.args[0]; - expect(evt.type).to.be('pointerdown'); - expect(evt).to.have.keys('touches', 'changedTouches'); + expect(evt.type).to.equal('pointerdown'); + expect(evt).to.have.property('touches'); + expect(evt).to.have.property('changedTouches'); expect(evt.changedTouches).to.have.length(1); - expect(containIn(pointer2, evt.changedTouches[0])).to.be.ok(); + expect(containIn(pointer2, evt.changedTouches[0])).to.be.true; expect(evt.touches).to.have.length(2); - expect(containIn([pointer1, pointer2], evt.touches)).to.be.ok(); + expect(containIn([pointer1, pointer2], evt.touches)).to.be.true; // pointermove/touchmove (multitouch) L.extend(pointer1, {clientX:11, clientY:11}); UIEventSimulator.fire('pointermove', el, pointer1); evt = listeners.touchmove.lastCall.args[0]; - expect(evt.type).to.be('pointermove'); - expect(evt).to.have.keys('touches', 'changedTouches'); + expect(evt.type).to.equal('pointermove'); + expect(evt).to.have.property('touches'); + expect(evt).to.have.property('changedTouches'); expect(evt.changedTouches).to.have.length(1); - expect(containIn(pointer1, evt.changedTouches[0])).to.be.ok(); + expect(containIn(pointer1, evt.changedTouches[0])).to.be.true; expect(evt.touches).to.have.length(2); - expect(containIn([pointer1, pointer2], evt.touches)).to.be.ok(); + expect(containIn([pointer1, pointer2], evt.touches)).to.be.true; // pointerup/touchend (multitouch) UIEventSimulator.fire('pointerup', el, pointer2); evt = listeners.touchend.lastCall.args[0]; - expect(evt.type).to.be('pointerup'); - expect(evt).to.have.keys('touches', 'changedTouches'); + expect(evt.type).to.equal('pointerup'); + expect(evt).to.have.property('touches'); + expect(evt).to.have.property('changedTouches'); expect(evt.changedTouches).to.have.length(1); - expect(containIn(pointer2, evt.changedTouches[0])).to.be.ok(); + expect(containIn(pointer2, evt.changedTouches[0])).to.be.true; expect(evt.touches).to.have.length(1); - expect(containIn(pointer1, evt.touches[0])).to.be.ok(); + expect(containIn(pointer1, evt.touches[0])).to.be.true; // pointercancel/touchcancel UIEventSimulator.fire('pointercancel', el, pointer1); evt = listeners.touchcancel.lastCall.args[0]; - expect(evt.type).to.be('pointercancel'); - expect(evt).to.have.keys('touches', 'changedTouches'); + expect(evt.type).to.equal('pointercancel'); + expect(evt).to.have.property('touches'); + expect(evt).to.have.property('changedTouches'); expect(evt.changedTouches).to.have.length(1); - expect(containIn(pointer1, evt.changedTouches[0])).to.be.ok(); - expect(evt.touches).to.be.empty(); + expect(containIn(pointer1, evt.changedTouches[0])).to.be.true; + expect(evt.touches).to.be.empty; - expect(listeners.touchstart.calledTwice).to.be.ok(); - expect(listeners.touchmove.calledOnce).to.be.ok(); - expect(listeners.touchend.calledOnce).to.be.ok(); - expect(listeners.touchcancel.calledOnce).to.be.ok(); + expect(listeners.touchstart.calledTwice).to.be.true; + expect(listeners.touchmove.calledOnce).to.be.true; + expect(listeners.touchend.calledOnce).to.be.true; + expect(listeners.touchcancel.calledOnce).to.be.true; }); }); @@ -164,7 +169,7 @@ describe('DomEvent.Pointer', () => { UIEventSimulator.fire(type, el); }); touchEvents.forEach((type) => { - expect(listeners[type].calledOnce).to.be.ok(); + expect(listeners[type].calledOnce).to.be.true; }); }); @@ -173,7 +178,7 @@ describe('DomEvent.Pointer', () => { UIEventSimulator.fire(type, el); }); touchEvents.forEach((type) => { - expect(listeners[type].notCalled).to.be.ok(); + expect(listeners[type].notCalled).to.be.true; }); }); }); diff --git a/spec/suites/dom/DomEventSpec.js b/spec/suites/dom/DomEventSpec.js index cb00a33e2..c7d055d9f 100644 --- a/spec/suites/dom/DomEventSpec.js +++ b/spec/suites/dom/DomEventSpec.js @@ -13,217 +13,173 @@ describe('DomEvent', () => { describe('#arguments check', () => { it('throws when el is not HTMLElement', () => { - expect(L.DomEvent.on).withArgs({}, 'click', L.Util.falseFn) - .to.throwException(); - expect(L.DomEvent.disableScrollPropagation).withArgs({}) - .to.throwException(); - expect(L.DomEvent.disableClickPropagation).withArgs({}) - .to.throwException(); - expect(L.DomEvent.getMousePosition).withArgs({clientX: 0, clientY: 0}, {}) - .to.throwException(); + expect(() => L.DomEvent.on({}, 'click', L.Util.falseFn)).to.throw(); + expect(() => L.DomEvent.disableScrollPropagation({})).to.throw(); + expect(() => L.DomEvent.disableClickPropagation({})).to.throw(); + expect(() => L.DomEvent.getMousePosition({clientX: 0, clientY: 0}, {})).to.throw(); // .off and .isExternalTarget do not throw atm }); }); describe('#on (addListener)', () => { it('throws when type is undefined and context is falseFn', () => { - expect(L.DomEvent.on).withArgs(el, undefined, L.Util.falseFn) - .to.throwException(); + expect(() => L.DomEvent.on(el, undefined, L.Util.falseFn)).to.throw(); }); it('throws when type is null and context is falseFn', () => { - expect(L.DomEvent.on).withArgs(el, null, L.Util.falseFn) - .to.throwException(); + expect(() => L.DomEvent.on(el, null, L.Util.falseFn)).to.throw(); }); it('throws when type is false and context is falseFn', () => { - expect(L.DomEvent.on).withArgs(el, false, L.Util.falseFn) - .to.throwException(); + expect(() => L.DomEvent.on((el, false, L.Util.falseFn))).to.throw(); }); it('throws when type is "click" and context is undefined', () => { - expect(L.DomEvent.on).withArgs(el, 'click', undefined) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'click', undefined)).to.throw(); }); it('throws when type is "click" and context is null', () => { - expect(L.DomEvent.on).withArgs(el, 'click', null) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'click', null)).to.throw(); }); it('throws when type is "click" and context is false', () => { - expect(L.DomEvent.on).withArgs(el, 'click', false) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'click', false)).to.throw(); }); it('throws when type is "click" and context is undefined', () => { - expect(L.DomEvent.on).withArgs(el, 'click', undefined) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'click', undefined)).to.throw(); }); it('throws when type is "dblclick" and context is null', () => { - expect(L.DomEvent.on).withArgs(el, 'dblclick', null) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'dblclick', null)).to.throw(); }); it('throws when type is "dblclick" and context is false', () => { - expect(L.DomEvent.on).withArgs(el, 'dblclick', false) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'dblclick', false)).to.throw(); }); it('throws when type is "dblclick" and context is undefined', () => { - expect(L.DomEvent.on).withArgs(el, 'dblclick', undefined) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'dblclick', undefined)).to.throw(); }); it('throws when type is "mousedown" and context is null', () => { - expect(L.DomEvent.on).withArgs(el, 'mousedown', null) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'mousedown', null)).to.throw(); }); it('throws when type is "mousedown" and context is false', () => { - expect(L.DomEvent.on).withArgs(el, 'mousedown', false) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'mousedown', false)).to.throw(); }); it('throws when type is "mousedown" and context is undefined', () => { - expect(L.DomEvent.on).withArgs(el, 'mousedown', undefined) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'mousedown', undefined)).to.throw(); }); it('throws when type is "mouseup" and context is null', () => { - expect(L.DomEvent.on).withArgs(el, 'mouseup', null) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'mouseup', null)).to.throw(); }); it('throws when type is "mouseup" and context is false', () => { - expect(L.DomEvent.on).withArgs(el, 'mouseup', false) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'mouseup', false)).to.throw(); }); it('throws when type is "mouseup" and context is undefined', () => { - expect(L.DomEvent.on).withArgs(el, 'mouseup', undefined) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'mouseup', undefined)).to.throw(); }); it('throws when type is "mouseover" and context is null', () => { - expect(L.DomEvent.on).withArgs(el, 'mouseover', null) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'mouseover', null)).to.throw(); }); it('throws when type is "mouseover" and context is false', () => { - expect(L.DomEvent.on).withArgs(el, 'mouseover', false) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'mouseover', false)).to.throw(); }); it('throws when type is "mouseover" and context is undefined', () => { - expect(L.DomEvent.on).withArgs(el, 'mouseover', undefined) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'mouseover', undefined)).to.throw(); }); it('throws when type is "mouseout" and context is null', () => { - expect(L.DomEvent.on).withArgs(el, 'mouseout', null) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'mouseout', null)).to.throw(); }); it('throws when type is "mouseout" and context is false', () => { - expect(L.DomEvent.on).withArgs(el, 'mouseout', false) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'mouseout', false)).to.throw(); }); it('throws when type is "mouseout" and context is undefined', () => { - expect(L.DomEvent.on).withArgs(el, 'mouseout', undefined) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'mouseout', undefined)).to.throw(); }); it('throws when type is "mousemove" and context is null', () => { - expect(L.DomEvent.on).withArgs(el, 'mousemove', null) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'mousemove', null)).to.throw(); }); it('throws when type is "mousemove" and context is false', () => { - expect(L.DomEvent.on).withArgs(el, 'mousemove', false) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'mousemove', false)).to.throw(); }); it('throws when type is "mousemove" and context is undefined', () => { - expect(L.DomEvent.on).withArgs(el, 'mousemove', undefined) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'mousemove', undefined)).to.throw(); }); it('throws when type is "contextmenu" and context is null', () => { - expect(L.DomEvent.on).withArgs(el, 'contextmenu', null) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'contextmenu', null)).to.throw(); }); it('throws when type is "contextmenu" and context is false', () => { - expect(L.DomEvent.on).withArgs(el, 'contextmenu', false) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'contextmenu', false)).to.throw(); }); it('throws when type is "contextmenu" and context is undefined', () => { - expect(L.DomEvent.on).withArgs(el, 'contextmenu', undefined) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'contextmenu', undefined)).to.throw(); }); it('throws when type is "keyup" and context is null', () => { - expect(L.DomEvent.on).withArgs(el, 'keyup', null) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'keyup', null)).to.throw(); }); it('throws when type is "keyup" and context is false', () => { - expect(L.DomEvent.on).withArgs(el, 'keyup', false) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'keyup', false)).to.throw(); }); it('throws when type is "keyup" and context is undefined', () => { - expect(L.DomEvent.on).withArgs(el, 'keyup', undefined) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'keyup', undefined)).to.throw(); }); it('throws when type is "keypress" and context is null', () => { - expect(L.DomEvent.on).withArgs(el, 'keypress', null) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'keypress', null)).to.throw(); }); it('throws when type is "keypress" and context is false', () => { - expect(L.DomEvent.on).withArgs(el, 'keypress', false) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'keypress', false)).to.throw(); }); it('throws when type is "keypress" and context is undefined', () => { - expect(L.DomEvent.on).withArgs(el, 'keypress', undefined) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'keypress', undefined)).to.throw(); }); it('throws when type is "keydown" and context is null', () => { - expect(L.DomEvent.on).withArgs(el, 'keydown', null) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'keydown', null)).to.throw(); }); it('throws when type is "keydown" and context is false', () => { - expect(L.DomEvent.on).withArgs(el, 'keydown', false) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'keydown', false)).to.throw(); }); it('throws when type is "keydown" and context is undefined', () => { - expect(L.DomEvent.on).withArgs(el, 'keydown', undefined) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'keydown', undefined)).to.throw(); }); it('throws when type is "keydown and click" and context is null', () => { - expect(L.DomEvent.on).withArgs(el, 'keydown click', null) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'keydown click', null)).to.throw(); }); it('throws when type is "keydown and click" and context is false', () => { - expect(L.DomEvent.on).withArgs(el, 'keydown click', false) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'keydown click', false)).to.throw(); }); it('throws when type is "keydown and click" and context is undefined', () => { - expect(L.DomEvent.on).withArgs(el, 'keydown click', undefined) - .to.throwException(); + expect(() => L.DomEvent.on(el, 'keydown click', undefined)).to.throw(); }); it('adds a listener and calls it on event with click', () => { @@ -233,8 +189,8 @@ describe('DomEvent', () => { UIEventSimulator.fire('click', el); - expect(listener.called).to.be.ok(); - expect(listener2.called).to.be.ok(); + expect(listener.called).to.be.true; + expect(listener2.called).to.be.true; }); it('adds a listener and calls it on event with click and keypress', () => { @@ -245,8 +201,8 @@ describe('DomEvent', () => { UIEventSimulator.fire('click', el); UIEventSimulator.fire('keypress', el); - expect(listener.called).to.be.ok(); - expect(listener2.called).to.be.ok(); + expect(listener.called).to.be.true; + expect(listener2.called).to.be.true; }); it('adds a listener when passed an event map', () => { @@ -277,7 +233,7 @@ describe('DomEvent', () => { UIEventSimulator.fire('click', el); - expect(listener.calledOn(obj)).to.be.ok(); + expect(listener.calledOn(obj)).to.be.true; }); it('binds "this" to the given context with multiple types', () => { @@ -287,7 +243,7 @@ describe('DomEvent', () => { UIEventSimulator.fire('click', el); UIEventSimulator.fire('keypress', el); - expect(listener.calledOn(obj)).to.be.ok(); + expect(listener.calledOn(obj)).to.be.true; }); it('binds "this" to the given context when passed an event map', () => { @@ -335,11 +291,11 @@ describe('DomEvent', () => { it('is chainable', () => { const res = L.DomEvent.on(el, 'click', () => {}); - expect(res).to.be(L.DomEvent); + expect(res).to.equal(L.DomEvent); }); it('is aliased to addListener ', () => { - expect(L.DomEvent.on).to.be(L.DomEvent.addListener); + expect(L.DomEvent.on).to.equal(L.DomEvent.addListener); }); }); @@ -350,7 +306,7 @@ describe('DomEvent', () => { UIEventSimulator.fire('click', el); - expect(listener.notCalled).to.be.ok(); + expect(listener.notCalled).to.be.true; }); it('removes a previously added event', () => { @@ -373,8 +329,8 @@ describe('DomEvent', () => { UIEventSimulator.fire('click', el); - expect(listenerA.called).to.not.be.ok(); - expect(listenerB.called).to.be.ok(); + expect(listenerA.called).to.be.false; + expect(listenerB.called).to.be.true; }); it('removes a previously added listener when passed an event map', () => { @@ -514,8 +470,8 @@ describe('DomEvent', () => { UIEventSimulator.fire('click', el); - expect(listenerA.called).to.not.be.ok(); - expect(listenerB.called).to.not.be.ok(); + expect(listenerA.called).to.be.false; + expect(listenerB.called).to.be.false; }); it('only removes specified listeners type', () => { @@ -533,19 +489,13 @@ describe('DomEvent', () => { }); it('throws when types/fn are undefined/null/false', () => { - expect(L.DomEvent.off).withArgs(el, undefined) - .to.throwException(); - expect(L.DomEvent.off).withArgs(el, null) - .to.throwException(); - expect(L.DomEvent.off).withArgs(el, false) - .to.throwException(); + expect(() => L.DomEvent.off(el, undefined)).to.throw(); + expect(() => L.DomEvent.off(el, null)).to.throw(); + expect(() => L.DomEvent.off(el, false)).to.throw(); - expect(L.DomEvent.off).withArgs(el, 'click', undefined) - .to.throwException(); - expect(L.DomEvent.off).withArgs(el, 'click', null) - .to.throwException(); - expect(L.DomEvent.off).withArgs(el, 'click', false) - .to.throwException(); + expect(() => L.DomEvent.off(el, 'click', undefined)).to.throw(); + expect(() => L.DomEvent.off(el, 'click', null)).to.throw(); + expect(() => L.DomEvent.off(el, 'click', false)).to.throw(); }); it('removes listener when passed an event map', () => { @@ -556,17 +506,17 @@ describe('DomEvent', () => { UIEventSimulator.fire('click', el); - expect(listener.called).to.not.be.ok(); + expect(listener.called).to.be.false; }); it('is chainable', () => { const res = L.DomEvent.off(el, 'click', () => {}); - expect(res).to.be(L.DomEvent); + expect(res).to.equal(L.DomEvent); }); it('is aliased to removeListener ', () => { - expect(L.DomEvent.off).to.be(L.DomEvent.removeListener); + expect(L.DomEvent.off).to.equal(L.DomEvent.removeListener); }); }); @@ -579,7 +529,7 @@ describe('DomEvent', () => { UIEventSimulator.fire('click', child); - expect(listener.notCalled).to.be.ok(); + expect(listener.notCalled).to.be.true; }); }); @@ -593,7 +543,7 @@ describe('DomEvent', () => { L.DomEvent.disableScrollPropagation(child); UIEventSimulator.fire(wheel, child); - expect(listener.notCalled).to.be.ok(); + expect(listener.notCalled).to.be.true; }); }); @@ -609,7 +559,7 @@ describe('DomEvent', () => { UIEventSimulator.fire('mousedown', child); UIEventSimulator.fire('touchstart', child, {touches: []}); - expect(listener.notCalled).to.be.ok(); + expect(listener.notCalled).to.be.true; }); it('prevents click event on map object, but propagates to DOM elements', () => { // to solve #301 @@ -629,15 +579,15 @@ describe('DomEvent', () => { UIEventSimulator.fire('click', grandChild); UIEventSimulator.fire('keypress', grandChild); - expect(mapOtherListener.called).to.be.ok(); // control case - expect(listener.called).to.be.ok(); - expect(mapClickListener.notCalled).to.be.ok(); + expect(mapOtherListener.called).to.be.true; // control case + expect(listener.called).to.be.true; + expect(mapClickListener.notCalled).to.be.true; UIEventSimulator.fire('click', child); UIEventSimulator.fire('keypress', child); - expect(listener.calledTwice).to.be.ok(); - expect(mapClickListener.notCalled).to.be.ok(); + expect(listener.calledTwice).to.be.true; + expect(mapClickListener.notCalled).to.be.true; map.remove(); }); @@ -654,11 +604,11 @@ describe('DomEvent', () => { it('prevents the default action of event', (done) => { L.DomEvent.on(el, 'click', (e) => { - expect(isPrevented(e)).not.to.be.ok(); // control case + expect(isPrevented(e)).not.to.be.true; // control case L.DomEvent.preventDefault(e); - expect(isPrevented(e)).to.be.ok(); + expect(isPrevented(e)).to.be.true; done(); }); diff --git a/spec/suites/dom/DomUtilSpec.js b/spec/suites/dom/DomUtilSpec.js index cdcef1947..6e7aff668 100644 --- a/spec/suites/dom/DomUtilSpec.js +++ b/spec/suites/dom/DomUtilSpec.js @@ -40,7 +40,7 @@ describe('DomUtil', () => { const parent = L.DomUtil.create('div'); expect(parent.children.length).to.equal(0); const child = L.DomUtil.create('p', 'test', parent); - expect(child.parentNode === parent).to.be(true); + expect(child.parentNode === parent).to.be.true; expect(parent.children.length).to.equal(1); }); }); @@ -51,9 +51,9 @@ describe('DomUtil', () => { L.DomUtil.create('div', 'test', el); L.DomUtil.create('div', 'test1', el); expect(el.children.length).to.equal(3); - expect(Array.from(el.children).indexOf(elm)).to.be(0); + expect(Array.from(el.children).indexOf(elm)).to.equal(0); L.DomUtil.toFront(elm); - expect(Array.from(el.children).indexOf(elm)).to.be(2); + expect(Array.from(el.children).indexOf(elm)).to.equal(2); }); it('doesn\'t move an element if he\'s already in the front', () => { @@ -77,18 +77,18 @@ describe('DomUtil', () => { L.DomUtil.create('div', 'test1', el); const elm = L.DomUtil.create('div', 'childContainer', el); expect(el.children.length).to.equal(3); - expect(Array.from(el.children).indexOf(elm)).to.be(2); + expect(Array.from(el.children).indexOf(elm)).to.equal(2); L.DomUtil.toBack(elm); - expect(Array.from(el.children).indexOf(elm)).to.be(0); + expect(Array.from(el.children).indexOf(elm)).to.equal(0); }); it('doesn\'t move an element if it is already in the back', () => { const e1 = L.DomUtil.create('div', 'test', el); L.DomUtil.create('div', 'test1', el); L.DomUtil.create('div', 'test2', el); - expect(el.firstChild).to.be(e1); + expect(el.firstChild).to.equal(e1); L.DomUtil.toBack(el); - expect(el.firstChild).to.be(e1); + expect(el.firstChild).to.equal(e1); }); it('doesn\'t crash if an element doesn\'t have a parent', () => { @@ -115,22 +115,22 @@ describe('DomUtil', () => { it('reset the 3d CSS transform when offset and scale aren\'t specified', () => { L.DomUtil.setTransform(el); - expect(el.style.transform).to.be('translate3d(0px, 0px, 0px)'); + expect(el.style.transform).to.equal('translate3d(0px, 0px, 0px)'); }); it('set the 3d CSS transform with just the specified point if scale isn\'t specified', () => { L.DomUtil.setTransform(el, new L.Point(1, 1)); - expect(el.style.transform).to.be('translate3d(1px, 1px, 0px)'); + expect(el.style.transform).to.equal('translate3d(1px, 1px, 0px)'); }); it('set 3d CSS transform to translate3d(0px, 0px, 0) and add to it scale(${scalevalue}) if only scale is specified', () => { L.DomUtil.setTransform(el, undefined, 5); - expect(el.style.transform).to.be('translate3d(0px, 0px, 0px) scale(5)'); + expect(el.style.transform).to.equal('translate3d(0px, 0px, 0px) scale(5)'); }); it('set the 3d CSS transform with the specified point ant the corresponding scale', () => { L.DomUtil.setTransform(el, new L.Point(1, 1), 5); - expect(el.style.transform).to.be('translate3d(1px, 1px, 0px) scale(5)'); + expect(el.style.transform).to.equal('translate3d(1px, 1px, 0px) scale(5)'); }); }); @@ -143,22 +143,22 @@ describe('DomUtil', () => { const y = 55; const position = L.point(x, y); L.DomUtil.setPosition(el, position); - expect(L.DomUtil.getPosition(el)).to.be.eql({x, y}); + expect(L.DomUtil.getPosition(el).equals(position)).to.be.true; const newX = 333; const newY = 666; const newPosition = L.point(newX, newY); L.DomUtil.setPosition(el, newPosition); - expect(L.DomUtil.getPosition(el)).to.be.eql({x: newX, y: newY}); + expect(L.DomUtil.getPosition(el).equals(newPosition)).to.be.true; }); it('returns position of an element positioned with setPosition.', () => { const coordinates = {x: 333, y: 666}; const position = L.point(coordinates); - expect(L.DomUtil.getPosition(el)).to.not.eql(coordinates); + expect(L.DomUtil.getPosition(el).equals(position)).to.be.false; L.DomUtil.setPosition(el, position); expect(L.DomUtil.getPosition(el)).to.be.an('object'); - expect(L.DomUtil.getPosition(el)).to.eql(coordinates); + expect(L.DomUtil.getPosition(el).equals(position)).to.be.true; }); it('returns [0, 0] point if the HTML element wasn\'t positioned before', () => { @@ -179,7 +179,7 @@ describe('DomUtil', () => { it('throws an error if the element hasn\'t a parent', () => { expect(() => { L.DomUtil.getSizedParentNode(document.createElement('div')); - }).to.throwException(); + }).to.throw(); }); }); @@ -236,28 +236,28 @@ describe('DomUtil', () => { // Safari still needs a vendor prefix, we need to detect with property name is supported. const userSelectProp = ['userSelect', 'WebkitUserSelect'].find(prop => prop in documentStyle); - beforeEach(() => expect(documentStyle[userSelectProp]).to.be('')); + beforeEach(() => expect(documentStyle[userSelectProp]).to.equal('')); afterEach(() => { documentStyle[userSelectProp] = ''; }); it('disables and enables text selection', () => { L.DomUtil.disableTextSelection(); - expect(documentStyle[userSelectProp]).to.be('none'); + expect(documentStyle[userSelectProp]).to.equal('none'); L.DomUtil.enableTextSelection(); - expect(documentStyle[userSelectProp]).to.be(''); + expect(documentStyle[userSelectProp]).to.equal(''); }); it('restores the text selection previously set', () => { documentStyle[userSelectProp] = 'text'; L.DomUtil.disableTextSelection(); L.DomUtil.enableTextSelection(); - expect(documentStyle[userSelectProp]).to.be('text'); + expect(documentStyle[userSelectProp]).to.equal('text'); }); it('restores the text selection previously set when disabling multiple times', () => { L.DomUtil.disableTextSelection(); L.DomUtil.disableTextSelection(); L.DomUtil.enableTextSelection(); - expect(documentStyle[userSelectProp]).to.be(''); + expect(documentStyle[userSelectProp]).to.equal(''); }); }); @@ -277,11 +277,11 @@ describe('DomUtil', () => { L.DomUtil.disableImageDrag(); window.addEventListener('dragstart', checkPrevented); UIEventSimulator.fire('dragstart', child); - expect(selectionPrevented).to.be.ok(); + expect(selectionPrevented).to.be.true; L.DomUtil.enableImageDrag(); UIEventSimulator.fire('dragstart', child); - expect(selectionPrevented).to.not.be.ok(); + expect(selectionPrevented).to.be.false; }); }); diff --git a/spec/suites/geo/LatLngBoundsSpec.js b/spec/suites/geo/LatLngBoundsSpec.js index fa083bc7c..8c155ef0b 100644 --- a/spec/suites/geo/LatLngBoundsSpec.js +++ b/spec/suites/geo/LatLngBoundsSpec.js @@ -20,12 +20,12 @@ describe('LatLngBounds', () => { it('returns an empty bounds when not argument is given', () => { const bounds = L.latLngBounds(); - expect(bounds instanceof L.LatLngBounds).to.be.ok(a); + expect(bounds instanceof L.LatLngBounds).to.be.true; }); it('returns an empty bounds when not argument is given to factory', () => { const bounds = L.latLngBounds(); - expect(bounds instanceof L.LatLngBounds).to.be.ok(a); + expect(bounds instanceof L.LatLngBounds).to.be.true; }); }); @@ -87,16 +87,16 @@ describe('LatLngBounds', () => { describe('#isValid', () => { it('returns true if properly set up', () => { - expect(a.isValid()).to.be.ok(); + expect(a.isValid()).to.be.true; }); it('returns false if is invalid', () => { - expect(c.isValid()).to.not.be.ok(); + expect(c.isValid()).to.be.false; }); it('returns true if extended', () => { c.extend([0, 0]); - expect(c.isValid()).to.be.ok(); + expect(c.isValid()).to.be.true; }); }); diff --git a/spec/suites/geo/LatLngSpec.js b/spec/suites/geo/LatLngSpec.js index f82089480..10b65dd9c 100644 --- a/spec/suites/geo/LatLngSpec.js +++ b/spec/suites/geo/LatLngSpec.js @@ -13,7 +13,7 @@ describe('LatLng', () => { it('throws an error if invalid lat or lng', () => { expect(() => { L.latLng(NaN, NaN); - }).to.throwError(); + }).to.throw(); }); it('does not set altitude if undefined', () => { @@ -104,7 +104,7 @@ describe('LatLng', () => { }); it('returns null if lng not specified', () => { - expect(L.latLng(50)).to.be(null); + expect(L.latLng(50)).to.equal(null); }); it('accepts altitude as third parameter', () => { @@ -131,7 +131,7 @@ describe('LatLng', () => { const a = L.latLng(50.5, 30.5, 100); const b = a.clone(); - expect(a === b).to.be(false); + expect(a === b).to.be.false; }); }); }); diff --git a/spec/suites/geo/crs/CRSSpec.js b/spec/suites/geo/crs/CRSSpec.js index 0f2ad6bcd..50094effa 100644 --- a/spec/suites/geo/crs/CRSSpec.js +++ b/spec/suites/geo/crs/CRSSpec.js @@ -204,13 +204,13 @@ describe('CRS.Simple', () => { describe('getProjectedBounds', () => { it('returns nothing', () => { - expect(crs.getProjectedBounds(5)).to.be(null); + expect(crs.getProjectedBounds(5)).to.equal(null); }); }); describe('wrapLatLng', () => { it('returns coords as is', () => { - expect(crs.wrapLatLng(L.latLng(270, 400)).equals(L.latLng(270, 400))).to.be(true); + expect(crs.wrapLatLng(L.latLng(270, 400)).equals(L.latLng(270, 400))).to.be.true; }); it('wraps coords if configured', () => { diff --git a/spec/suites/geometry/BoundsSpec.js b/spec/suites/geometry/BoundsSpec.js index f84574ff1..05cf3cc35 100644 --- a/spec/suites/geometry/BoundsSpec.js +++ b/spec/suites/geometry/BoundsSpec.js @@ -76,25 +76,25 @@ describe('Bounds', () => { describe('#contains', () => { it('contains other bounds or point', () => { 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(); + expect(a.contains(b)).to.be.true; + expect(b.contains(a)).to.be.false; + expect(a.contains([24, 25])).to.be.true; + expect(a.contains([54, 65])).to.be.false; }); }); describe('#isValid', () => { it('returns true if properly set up', () => { - expect(a.isValid()).to.be.ok(); + expect(a.isValid()).to.be.true; }); it('returns false if is invalid', () => { - expect(c.isValid()).to.not.be.ok(); + expect(c.isValid()).to.be.false; }); it('returns true if extended', () => { c.extend([0, 0]); - expect(c.isValid()).to.be.ok(); + expect(c.isValid()).to.be.true; }); }); @@ -106,11 +106,11 @@ describe('Bounds', () => { describe('#intersects', () => { it('returns true if bounds intersect', () => { - expect(a.intersects(b)).to.be(true); + expect(a.intersects(b)).to.be.true; }); it('two bounds intersect if they have at least one point in common', () => { - expect(a.intersects([[14, 12], [6, 5]])).to.be(true); + expect(a.intersects([[14, 12], [6, 5]])).to.be.true; }); it('returns false if bounds not intersect', () => { @@ -120,14 +120,14 @@ describe('Bounds', () => { describe('#overlaps', () => { it('returns true if bounds overlaps', () => { - expect(a.overlaps(b)).to.be(true); + expect(a.overlaps(b)).to.be.true; }); it('two bounds overlaps if their intersection is an area', () => { // point in common - expect(a.overlaps([[14, 12], [6, 5]])).to.be(false); + expect(a.overlaps([[14, 12], [6, 5]])).to.be.false; // matching boundary - expect(a.overlaps([[30, 12], [35, 25]])).to.be(false); + expect(a.overlaps([[30, 12], [35, 25]])).to.be.false; }); it('returns false if bounds not overlaps', () => { diff --git a/spec/suites/geometry/LineUtilSpec.js b/spec/suites/geometry/LineUtilSpec.js index a159a0f11..72e37b6ff 100644 --- a/spec/suites/geometry/LineUtilSpec.js +++ b/spec/suites/geometry/LineUtilSpec.js @@ -29,7 +29,7 @@ describe('LineUtil', () => { const b = L.point(25, 20); const segment = L.LineUtil.clipSegment(a, b, bounds, true); - expect(segment).to.be(false); + expect(segment).to.be.false; }); it('can round numbers in clipped bounds', () => { @@ -86,23 +86,23 @@ describe('LineUtil', () => { describe('#isFlat', () => { it('should return true for an array of LatLngs', () => { - expect(L.LineUtil.isFlat([L.latLng([0, 0])])).to.be(true); + expect(L.LineUtil.isFlat([L.latLng([0, 0])])).to.be.true; }); it('should return true for an array of LatLngs arrays', () => { - expect(L.LineUtil.isFlat([[0, 0]])).to.be(true); + expect(L.LineUtil.isFlat([[0, 0]])).to.be.true; }); it('should return true for an empty array', () => { - expect(L.LineUtil.isFlat([])).to.be(true); + expect(L.LineUtil.isFlat([])).to.be.true; }); it('should return false for a nested array of LatLngs', () => { - expect(L.LineUtil.isFlat([[L.latLng([0, 0])]])).to.be(false); + expect(L.LineUtil.isFlat([[L.latLng([0, 0])]])).to.be.false; }); it('should return false for a nested empty array', () => { - expect(L.LineUtil.isFlat([[]])).to.be(false); + expect(L.LineUtil.isFlat([[]])).to.be.false; }); }); @@ -134,33 +134,26 @@ describe('LineUtil', () => { it('throws error if latlngs not passed', () => { expect(() => { L.LineUtil.polylineCenter(null, crs); - }).to.throwException('latlngs not passed'); + }).to.throw('latlngs not passed'); }); it('throws error if latlng array is empty', () => { expect(() => { L.LineUtil.polylineCenter([], crs); - }).to.throwException('latlngs not passed'); + }).to.throw('latlngs not passed'); }); it('throws error if latlngs not passed', () => { expect(() => { L.LineUtil.polylineCenter(null, crs, zoom); - }).to.throwException('latlngs not passed'); + }).to.throw('latlngs not passed'); }); it('throws error if latlng array is empty', () => { expect(() => { L.LineUtil.polylineCenter([], crs, zoom); - }).to.throwException('latlngs not passed'); - }); - - it('throws error if map not passed', () => { - const latlngs = [[80, 0], [80, 90]]; - expect(() => { - L.LineUtil.polylineCenter(latlngs, null); - }).to.throwException('map not passed'); + }).to.throw('latlngs not passed'); }); it('shows warning if latlngs is not flat', () => { @@ -170,7 +163,7 @@ describe('LineUtil', () => { const spy = sinon.spy(console, 'warn'); const center = L.LineUtil.polylineCenter(latlngs, crs); console.warn.restore(); - expect(spy.calledOnce).to.be.ok(); + expect(spy.calledOnce).to.be.true; expect(center).to.be.nearLatLng([80, 45]); }); diff --git a/spec/suites/geometry/PointSpec.js b/spec/suites/geometry/PointSpec.js index 3f01dec1b..3399e4f2f 100644 --- a/spec/suites/geometry/PointSpec.js +++ b/spec/suites/geometry/PointSpec.js @@ -67,8 +67,8 @@ describe('Point', () => { const p2 = L.point(20.4, 50.12); const p3 = L.point(20.5, 50.13); - expect(p1.equals(p2)).to.be(true); - expect(p1.equals(p3)).to.be(false); + expect(p1.equals(p2)).to.be.true; + expect(p1.equals(p3)).to.be.false; }); }); @@ -79,9 +79,9 @@ describe('Point', () => { p3 = L.point(60, -20), p4 = L.point(-40, -40); - expect(p1.contains(p2)).to.be(true); - expect(p1.contains(p3)).to.be(false); - expect(p1.contains(p4)).to.be(false); + expect(p1.contains(p2)).to.be.true; + expect(p1.contains(p3)).to.be.false; + expect(p1.contains(p4)).to.be.false; }); }); @@ -95,7 +95,7 @@ describe('Point', () => { describe('L.point factory', () => { it('leaves L.Point instances as is', () => { const p = L.point(50, 30); - expect(L.point(p)).to.be(p); + expect(L.point(p)).to.equal(p); }); it('creates a point out of three arguments', () => { @@ -111,8 +111,8 @@ describe('Point', () => { }); it('does not fail on invalid arguments', () => { - expect(L.point(undefined)).to.be(undefined); - expect(L.point(null)).to.be(null); + expect(L.point(undefined)).to.equal(undefined); + expect(L.point(null)).to.equal(null); }); }); }); diff --git a/spec/suites/geometry/PolyUtilSpec.js b/spec/suites/geometry/PolyUtilSpec.js index c4f468585..9b88a1b1b 100644 --- a/spec/suites/geometry/PolyUtilSpec.js +++ b/spec/suites/geometry/PolyUtilSpec.js @@ -74,13 +74,13 @@ describe('PolyUtil', () => { it('throws error if latlngs not passed', () => { expect(() => { L.PolyUtil.polygonCenter(null, crs); - }).to.throwException('latlngs not passed'); + }).to.throw('latlngs not passed'); }); it('throws error if latlng array is empty', () => { expect(() => { L.PolyUtil.polygonCenter([], crs); - }).to.throwException('latlngs not passed'); + }).to.throw('latlngs not passed'); }); it('shows warning if latlngs is not flat', () => { @@ -90,17 +90,10 @@ describe('PolyUtil', () => { const spy = sinon.spy(console, 'warn'); const center = L.PolyUtil.polygonCenter(latlngs, crs); console.warn.restore(); - expect(spy.calledOnce).to.be.ok(); + expect(spy.calledOnce).to.be.true; expect(center).to.be.nearLatLng([5.019148099025293, 5]); }); - it('throws error if map not passed', () => { - const latlngs = [[80, 0], [80, 90]]; - expect(() => { - L.PolyUtil.polygonCenter(latlngs, null); - }).to.throwException('map not passed'); - }); - it('iterates only over the array values', () => { // eslint-disable-next-line Array.prototype.foo = 'ABC'; diff --git a/spec/suites/layer/FeatureGroupSpec.js b/spec/suites/layer/FeatureGroupSpec.js index c3fdb7a01..a166ea77d 100644 --- a/spec/suites/layer/FeatureGroupSpec.js +++ b/spec/suites/layer/FeatureGroupSpec.js @@ -18,21 +18,21 @@ wasClicked2; fg2.on('click', (e) => { - expect(e.propagatedFrom).to.be(marker); - expect(e.target).to.be(fg2); + expect(e.propagatedFrom).to.equal(marker); + expect(e.target).to.equal(fg2); wasClicked2 = true; }); fg1.on('click', (e) => { - expect(e.propagatedFrom).to.be(marker); - expect(e.target).to.be(fg1); + expect(e.propagatedFrom).to.equal(marker); + expect(e.target).to.equal(fg1); wasClicked1 = true; }); marker.fire('click', {type: 'click'}, true); - expect(wasClicked1).to.be(true); - expect(wasClicked2).to.be(true); + expect(wasClicked1).to.be.true; + expect(wasClicked2).to.be.true; }); }); }); @@ -42,22 +42,22 @@ const fg = L.featureGroup(), marker = L.marker([0, 0]); - expect(fg.hasLayer(marker)).to.be(false); + expect(fg.hasLayer(marker)).to.be.false; fg.addLayer(marker); - expect(fg.hasLayer(marker)).to.be(true); + expect(fg.hasLayer(marker)).to.be.true; }); it('supports non-evented layers', () => { const fg = L.featureGroup(), g = L.layerGroup(); - expect(fg.hasLayer(g)).to.be(false); + expect(fg.hasLayer(g)).to.be.false; fg.addLayer(g); - expect(fg.hasLayer(g)).to.be(true); + expect(fg.hasLayer(g)).to.be.true; }); }); @@ -67,10 +67,10 @@ marker = L.marker([0, 0]); fg.addLayer(marker); - expect(fg.hasLayer(marker)).to.be(true); + expect(fg.hasLayer(marker)).to.be.true; fg.removeLayer(marker); - expect(fg.hasLayer(marker)).to.be(false); + expect(fg.hasLayer(marker)).to.be.false; }); it('removes the layer passed to it by id', () => { @@ -78,10 +78,10 @@ marker = L.marker([0, 0]); fg.addLayer(marker); - expect(fg.hasLayer(marker)).to.be(true); + expect(fg.hasLayer(marker)).to.be.true; fg.removeLayer(L.stamp(marker)); - expect(fg.hasLayer(marker)).to.be(false); + expect(fg.hasLayer(marker)).to.be.false; }); }); }); diff --git a/spec/suites/layer/GeoJSONSpec.js b/spec/suites/layer/GeoJSONSpec.js index 0f5716ef0..ad1d0f243 100644 --- a/spec/suites/layer/GeoJSONSpec.js +++ b/spec/suites/layer/GeoJSONSpec.js @@ -59,11 +59,11 @@ describe('L.GeoJSON', () => { const geojson = L.geoJSON(feature, {weight: 7, color: 'chocolate'}); geojson.setStyle({weight: 22, color: 'coral'}); const layer = geojson.getLayers()[0]; - expect(layer.options.weight).to.be(22); - expect(layer.options.color).to.be('coral'); + expect(layer.options.weight).to.equal(22); + expect(layer.options.color).to.equal('coral'); geojson.resetStyle(layer); - expect(layer.options.weight).to.be(7); - expect(layer.options.color).to.be('chocolate'); + expect(layer.options.weight).to.equal(7); + expect(layer.options.color).to.equal('chocolate'); }); it('should reset init options of all child layers', () => { @@ -84,16 +84,16 @@ describe('L.GeoJSON', () => { const geojson = L.geoJSON([feature, feature2], {weight: 7, color: 'chocolate'}); geojson.setStyle({weight: 22, color: 'coral'}); const layer = geojson.getLayers()[0]; - expect(layer.options.weight).to.be(22); - expect(layer.options.color).to.be('coral'); + expect(layer.options.weight).to.equal(22); + expect(layer.options.color).to.equal('coral'); const layer2 = geojson.getLayers()[1]; - expect(layer2.options.weight).to.be(22); - expect(layer2.options.color).to.be('coral'); + expect(layer2.options.weight).to.equal(22); + expect(layer2.options.color).to.equal('coral'); geojson.resetStyle(); // Should apply to all layers - expect(layer.options.weight).to.be(7); - expect(layer.options.color).to.be('chocolate'); - expect(layer2.options.weight).to.be(7); - expect(layer2.options.color).to.be('chocolate'); + expect(layer.options.weight).to.equal(7); + expect(layer.options.color).to.equal('chocolate'); + expect(layer2.options.weight).to.equal(7); + expect(layer2.options.color).to.equal('chocolate'); }); }); }); @@ -611,28 +611,28 @@ describe('L.GeoJSON functions', () => { type: 'Feature', geometry }); - expect(layer).to.be.a(expectedType); + expect(layer).to.be.instanceOf(expectedType); }); it(`creates a Layer from a GeoJSON geometry (type='${geometry.type}')`, () => { const layer = L.GeoJSON.geometryToLayer(geometry); - expect(layer).to.be.a(expectedType); + expect(layer).to.be.instanceOf(expectedType); }); }); it('throws an error if feature is an invalid GeoJSON object', () => { - expect(L.GeoJSON.geometryToLayer).withArgs({ + expect(() => L.GeoJSON.geometryToLayer({ type: 'Feature', geometry: { type: 'invalid', coordinates: [0, 0] } - }).to.throwError('Invalid GeoJSON object.'); + })).to.throw('Invalid GeoJSON object.'); }); it('returns nothing if feature does not have a geometry property', () => { const ret = L.GeoJSON.geometryToLayer({type: 'Feature'}); - expect(ret).not.to.be.ok(); + expect(ret).not.to.be.true; }); it('creates a Layer using pointToLayer option (Point)', () => { @@ -643,8 +643,8 @@ describe('L.GeoJSON functions', () => { }, { pointToLayer: customPointToLayer }); - expect(layer).to.be.a(L.Circle); - expect(layer.options.radius).to.be(100); + expect(layer).to.be.instanceOf(L.Circle); + expect(layer.options.radius).to.equal(100); }); it('creates a Layer using pointToLayer option (MultiPoint)', () => { @@ -656,8 +656,8 @@ describe('L.GeoJSON functions', () => { pointToLayer: customPointToLayer }); layer.eachLayer((lyr) => { - expect(lyr).to.be.a(L.Circle); - expect(lyr.options.radius).to.be(100); + expect(lyr).to.be.instanceOf(L.Circle); + expect(lyr.options.radius).to.equal(100); }); }); @@ -671,7 +671,7 @@ describe('L.GeoJSON functions', () => { }, { coordsToLatLng: customCoordstoLatLng }); - expect(layer.getLatLng()).to.eql({lat: 3, lng: 2, alt: 4}); + expect(layer.getLatLng().equals(L.latLng({lat: 3, lng: 2, alt: 4}))).to.be.true; }); it('creates a Layer using coordsToLatLng option (MultiPoint)', () => { @@ -686,10 +686,9 @@ describe('L.GeoJSON functions', () => { }, { coordsToLatLng: customCoordstoLatLng }); - expect(layer.getLayers().map(lyr => lyr.getLatLng())).to.eql([ - {lat: 3, lng: 2, alt: 4}, - {lat: 6, lng: 5, alt: 7} - ]); + + expect(layer.getLayers()[0].getLatLng().equals(L.latLng({lat: 3, lng: 2, alt: 4}))).to.be.true; + expect(layer.getLayers()[1].getLatLng().equals(L.latLng({lat: 6, lng: 5, alt: 7}))).to.be.true; }); }); @@ -697,10 +696,10 @@ describe('L.GeoJSON functions', () => { it('creates a LatLng object with given coordinates', () => { const latLng = L.GeoJSON.coordsToLatLng([1, 2]); const latLngWithAlt = L.GeoJSON.coordsToLatLng([3, 4, 5]); - expect(latLng).to.be.a(L.LatLng); - expect(latLngWithAlt).to.be.a(L.LatLng); - expect(latLng).to.eql({lng: 1, lat: 2}); - expect(latLngWithAlt).to.eql({lng: 3, lat: 4, alt: 5}); + expect(latLng).to.be.instanceOf(L.LatLng); + expect(latLngWithAlt).to.be.instanceOf(L.LatLng); + expect(latLng.equals(L.latLng({lng: 1, lat: 2}))).to.be.true; + expect(latLngWithAlt.equals(L.latLng({lng: 3, lat: 4, alt: 5}))); }); }); @@ -712,9 +711,13 @@ describe('L.GeoJSON functions', () => { it('creates a multidimensional array of LatLngs', () => { const latLngs = L.GeoJSON.coordsToLatLngs([[1, 2], [3, 4], [5, 6]]); - expect(latLngs).to.eql([{lng: 1, lat: 2}, {lng: 3, lat: 4}, {lng: 5, lat: 6}]); + + expect(latLngs[0].equals(L.latLng({lng: 1, lat: 2}))); + expect(latLngs[1].equals(L.latLng({lng: 3, lat: 4}))); + expect(latLngs[2].equals(L.latLng({lng: 5, lat: 6}))); + latLngs.forEach((latLng) => { - expect(latLng).to.be.a(L.LatLng); + expect(latLng).to.be.instanceOf(L.LatLng); }); }); @@ -723,13 +726,18 @@ describe('L.GeoJSON functions', () => { [[1, 2], [3, 4], [5, 6]], [[5, 6], [7, 8], [9, 10]] ], 1); - expect(latLngs).to.eql([ - [{lng: 1, lat: 2}, {lng: 3, lat: 4}, {lng: 5, lat: 6}], - [{lng: 5, lat: 6}, {lng: 7, lat: 8}, {lng: 9, lat: 10}] - ]); + + expect(latLngs[0][0].equals(L.latLng({lng: 1, lat: 2}))); + expect(latLngs[0][1].equals(L.latLng({lng: 3, lat: 4}))); + expect(latLngs[0][2].equals(L.latLng({lng: 5, lat: 6}))); + + expect(latLngs[1][0].equals(L.latLng({lng: 5, lat: 6}))); + expect(latLngs[1][1].equals(L.latLng({lng: 7, lat: 8}))); + expect(latLngs[1][2].equals(L.latLng({lng: 9, lat: 10}))); + latLngs.forEach((arr) => { arr.forEach((latlng) => { - expect(latlng).to.be.a(L.LatLng); + expect(latlng).to.be.instanceOf(L.LatLng); }); }); }); @@ -737,11 +745,10 @@ describe('L.GeoJSON functions', () => { it('creates a multidimensional array of LatLngs with custom coordsToLatLng', () => { const coords = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; const latLngs = L.GeoJSON.coordsToLatLngs(coords, 0, customCoordsToLatLng); - expect(latLngs).to.eql([ - {lat: 3, lng: 2, alt: 4}, - {lat: 6, lng: 5, alt: 7}, - {lat: 9, lng: 8, alt: 10} - ]); + + expect(latLngs[0].equals(L.latLng({lat: 3, lng: 2, alt: 4}))); + expect(latLngs[1].equals(L.latLng({lat: 6, lng: 5, alt: 7}))); + expect(latLngs[2].equals(L.latLng({lat: 9, lng: 8, alt: 10}))); }); it('creates a multidimensional array of LatLngs with custom coordsToLatLng (levelDeep=1)', () => { @@ -750,16 +757,12 @@ describe('L.GeoJSON functions', () => { [[12, 13, 14], [15, 16, 17]] ]; const latLngs = L.GeoJSON.coordsToLatLngs(coords, 1, customCoordsToLatLng); - expect(latLngs).to.eql([ - [ - {lat: 3, lng: 2, alt: 4}, - {lat: 6, lng: 5, alt: 7} - ], - [ - {lat: 14, lng: 13, alt: 15}, - {lat: 17, lng: 16, alt: 18} - ] - ]); + + expect(latLngs[0][0].equals(L.latLng({lat: 3, lng: 2, alt: 4}))); + expect(latLngs[0][1].equals(L.latLng({lat: 6, lng: 5, alt: 7}))); + + expect(latLngs[1][0].equals(L.latLng({lat: 14, lng: 13, alt: 15}))); + expect(latLngs[1][1].equals(L.latLng({lat: 17, lng: 16, alt: 18}))); }); }); @@ -885,12 +888,12 @@ describe('L.GeoJSON functions', () => { it('has no reference between first and last coordinates', () => { const coords = L.GeoJSON.latLngsToCoords([[2, 1, 3], [5, 4, 6]], null, true); expect(coords).to.eql([[1, 2, 3], [4, 5, 6], [1, 2, 3]]); - expect(coords[0] === coords[2]).to.not.ok(); + expect(coords[0] === coords[2]).to.be.false; }); it('still works if no values in coords array', () => { expect(() => { L.GeoJSON.latLngsToCoords([[]], 1, true); - }).to.not.throwException(); + }).to.not.throw(); }); }); diff --git a/spec/suites/layer/ImageOverlaySpec.js b/spec/suites/layer/ImageOverlaySpec.js index a846366b7..0252f5cf0 100644 --- a/spec/suites/layer/ImageOverlaySpec.js +++ b/spec/suites/layer/ImageOverlaySpec.js @@ -69,7 +69,7 @@ describe('ImageOverlay', () => { const loadRaised = sinon.spy(); overlay.once('load', loadRaised); raiseImageEvent('load'); - expect(loadRaised.called).to.be(true); + expect(loadRaised.called).to.be.true; }); }); @@ -78,19 +78,19 @@ describe('ImageOverlay', () => { const errorRaised = sinon.spy(); overlay.once('error', errorRaised); raiseImageEvent('error'); - expect(errorRaised.called).to.be(true); + expect(errorRaised.called).to.be.true; }); it('should change the image to errorOverlayUrl', () => { raiseImageEvent('error'); - expect(overlay._url).to.be(errorUrl); - expect(overlay._image.src).to.be(errorUrl); + expect(overlay._url).to.equal(errorUrl); + expect(overlay._image.src).to.equal(errorUrl); }); }); describe('className', () => { it('should set image\'s class', () => { - expect(overlay._image.classList.contains('my-custom-image-class')).to.be(true); + expect(overlay._image.classList.contains('my-custom-image-class')).to.be.true; }); }); }); @@ -160,7 +160,7 @@ describe('ImageOverlay', () => { }); map.addLayer(overlay); - expect(overlay._image.getAttribute('crossorigin')).to.be(expectedValue); + expect(overlay._image.getAttribute('crossorigin')).to.equal(expectedValue); }); } }); diff --git a/spec/suites/layer/LayerGroupSpec.js b/spec/suites/layer/LayerGroupSpec.js index d9c48bb6f..ae89558cc 100644 --- a/spec/suites/layer/LayerGroupSpec.js +++ b/spec/suites/layer/LayerGroupSpec.js @@ -3,12 +3,12 @@ it('throws when called without proper argument', () => { const lg = L.layerGroup(); const hasLayer = lg.hasLayer.bind(lg); - expect(hasLayer).withArgs(new L.Layer()).to.not.throwException(); // control case + expect(() => hasLayer(new L.Layer())).to.not.throw(); // control case - expect(hasLayer).withArgs(undefined).to.throwException(); - expect(hasLayer).withArgs(null).to.throwException(); - expect(hasLayer).withArgs(false).to.throwException(); - expect(hasLayer).to.throwException(); + expect(() => hasLayer(undefined)).to.throw(); + expect(() => hasLayer(null)).to.throw(); + expect(() => hasLayer(false)).to.throw(); + expect(() => hasLayer()).to.throw(); }); }); @@ -19,7 +19,7 @@ expect(lg.addLayer(marker)).to.eql(lg); - expect(lg.hasLayer(marker)).to.be(true); + expect(lg.hasLayer(marker)).to.be.true; }); }); @@ -31,7 +31,7 @@ lg.addLayer(marker); expect(lg.removeLayer(marker)).to.eql(lg); - expect(lg.hasLayer(marker)).to.be(false); + expect(lg.hasLayer(marker)).to.be.false; }); }); @@ -43,7 +43,7 @@ lg.addLayer(marker); expect(lg.clearLayers()).to.eql(lg); - expect(lg.hasLayer(marker)).to.be(false); + expect(lg.hasLayer(marker)).to.be.false; }); }); diff --git a/spec/suites/layer/PopupSpec.js b/spec/suites/layer/PopupSpec.js index e36f00b6f..4cc1a41cf 100644 --- a/spec/suites/layer/PopupSpec.js +++ b/spec/suites/layer/PopupSpec.js @@ -22,7 +22,7 @@ describe('Popup', () => { UIEventSimulator.fire('click', container); - expect(map.hasLayer(popup)).to.be(false); + expect(map.hasLayer(popup)).to.be.false; }); it('closes on map click when popup has closeOnClick option', () => { @@ -34,7 +34,7 @@ describe('Popup', () => { UIEventSimulator.fire('click', container); - expect(map.hasLayer(popup)).to.be(false); + expect(map.hasLayer(popup)).to.be.false; }); it('does not close on map click when popup has closeOnClick: false option', () => { @@ -46,7 +46,7 @@ describe('Popup', () => { UIEventSimulator.fire('click', container); - expect(map.hasLayer(popup)).to.be(true); + expect(map.hasLayer(popup)).to.be.true; }); it('sets the default \'closeButtonLabel\' on the close button', () => { @@ -54,7 +54,7 @@ describe('Popup', () => { .setLatLng(center) .openOn(map); - expect(popup.getElement().querySelector('[aria-label="Close popup"]')).not.to.be(null); + expect(popup.getElement().querySelector('[aria-label="Close popup"]')).not.to.equal(null); }); it('sets a custom \'closeButtonLabel\' on the close button', () => { @@ -63,7 +63,7 @@ describe('Popup', () => { .setLatLng(center) .openOn(map); - expect(popup.getElement().querySelector(`[aria-label="${closeButtonLabel}"]`)).not.to.be(null); + expect(popup.getElement().querySelector(`[aria-label="${closeButtonLabel}"]`)).not.to.equal(null); }); it('toggles its visibility when marker is clicked', () => { @@ -71,15 +71,15 @@ describe('Popup', () => { map.addLayer(marker); marker.bindPopup('Popup1'); - expect(map.hasLayer(marker._popup)).to.be(false); + expect(map.hasLayer(marker._popup)).to.be.false; // toggle open popup UIEventSimulator.fire('click', marker._icon); - expect(map.hasLayer(marker._popup)).to.be(true); + expect(map.hasLayer(marker._popup)).to.be.true; // toggle close popup UIEventSimulator.fire('click', marker._icon); - expect(map.hasLayer(marker._popup)).to.be(false); + expect(map.hasLayer(marker._popup)).to.be.false; }); it('it should use a popup with a function as content with a FeatureGroup', () => { @@ -98,16 +98,16 @@ describe('Popup', () => { latlng: center, layer: marker1 }); - expect(map.hasLayer(group._popup)).to.be(true); - expect(group._popup._contentNode.innerHTML).to.be('I\'m marker 1.'); + expect(map.hasLayer(group._popup)).to.be.true; + expect(group._popup._contentNode.innerHTML).to.equal('I\'m marker 1.'); // toggle popup on marker2 group.fire('click', { latlng: [54.6, 38.2], layer: marker2 }); - expect(map.hasLayer(group._popup)).to.be(true); - expect(group._popup._contentNode.innerHTML).to.be('I\'m marker 2.'); + expect(map.hasLayer(group._popup)).to.be.true; + expect(group._popup._contentNode.innerHTML).to.equal('I\'m marker 2.'); }); it('it should function for popup content after bindPopup is called', () => { @@ -128,16 +128,16 @@ describe('Popup', () => { latlng: center, layer: marker1 }); - expect(map.hasLayer(group._popup)).to.be(true); - expect(group._popup._contentNode.innerHTML).to.be('I\'m marker 1.'); + expect(map.hasLayer(group._popup)).to.be.true; + expect(group._popup._contentNode.innerHTML).to.equal('I\'m marker 1.'); // toggle popup on marker2 group.fire('click', { latlng: [54.6, 38.2], layer: marker2 }); - expect(map.hasLayer(group._popup)).to.be(true); - expect(group._popup._contentNode.innerHTML).to.be('I\'m marker 2.'); + expect(map.hasLayer(group._popup)).to.be.true; + expect(group._popup._contentNode.innerHTML).to.equal('I\'m marker 2.'); }); it('should use a function for popup content when a source is passed to Popup', () => { @@ -152,8 +152,8 @@ describe('Popup', () => { latlng: center }); - expect(map.hasLayer(marker._popup)).to.be(true); - expect(marker._popup._contentNode.innerHTML).to.be('I am a marker.'); + expect(map.hasLayer(marker._popup)).to.be.true; + expect(marker._popup._contentNode.innerHTML).to.equal('I am a marker.'); }); it('triggers popupopen on marker when popup opens', () => { @@ -170,11 +170,11 @@ describe('Popup', () => { marker1.on('popupopen', spy); - expect(spy.called).to.be(false); + expect(spy.called).to.be.false; marker2.openPopup(); - expect(spy.called).to.be(false); + expect(spy.called).to.be.false; marker1.openPopup(); - expect(spy.called).to.be(true); + expect(spy.called).to.be.true; }); // Related to #8558 @@ -202,12 +202,12 @@ describe('Popup', () => { expect(e.target.options.testId).to.eql('markerB'); }); - expect(spy.called).to.be(false); + expect(spy.called).to.be.false; marker2.openPopup(); - expect(spy.called).to.be(false); - expect(spy2.called).to.be(true); + expect(spy.called).to.be.false; + expect(spy2.called).to.be.true; marker1.closePopup().openPopup(); - expect(spy.called).to.be(true); + expect(spy.called).to.be.true; }); it('triggers popupclose on marker when popup closes', () => { @@ -224,16 +224,16 @@ describe('Popup', () => { marker1.on('popupclose', spy); - expect(spy.called).to.be(false); + expect(spy.called).to.be.false; marker2.openPopup(); - expect(spy.called).to.be(false); + expect(spy.called).to.be.false; marker1.openPopup(); - expect(spy.called).to.be(false); + expect(spy.called).to.be.false; marker2.openPopup(); - expect(spy.called).to.be(true); + expect(spy.called).to.be.true; marker1.openPopup(); marker1.closePopup(); - expect(spy.callCount).to.be(2); + expect(spy.callCount).to.equal(2); }); it('should take into account icon popupAnchor option', () => { @@ -285,10 +285,10 @@ describe('Popup', () => { .openOn(map); }); - expect(map.hasLayer(layer._popup)).to.be(false); + expect(map.hasLayer(layer._popup)).to.be.false; UIEventSimulator.fire('click', layer._path); - expect(mapClicked).to.be(false); - expect(map.hasLayer(layer._popup)).to.be(true); + expect(mapClicked).to.be.false; + expect(map.hasLayer(layer._popup)).to.be.true; }); @@ -300,7 +300,7 @@ describe('Popup', () => { code: 'Enter' }); - expect(map.hasLayer(layer._popup)).to.be(true); + expect(map.hasLayer(layer._popup)).to.be.true; }); describe('autoPan option should pan popup into visibility', () => { @@ -325,7 +325,7 @@ describe('Popup', () => { it('should pan map to show popup content if autoPan is enabled', (done) => { map.on('popupopen', (e) => { const popupTopOffset = getPopupOffset(map, e.popup); - expect(popupTopOffset).to.be(10, 'The upper edge of the popup have a padding of 10'); + expect(popupTopOffset).to.equal(10, 'The upper edge of the popup have a padding of 10'); done(); }); map.openPopup('
', [58.4, 37.6], { @@ -337,7 +337,7 @@ describe('Popup', () => { it('should pan map to show popup content if autoPan is enabled even when animating', (done) => { map.on('popupopen', (e) => { const popupTopOffset = getPopupOffset(map, e.popup); - expect(popupTopOffset).to.be(10); + expect(popupTopOffset).to.equal(10); done(); }); @@ -356,21 +356,21 @@ describe('Popup', () => { it('opens popup with passed latlng position while initializing', () => { const popup = new L.Popup(center) .openOn(map); - expect(map.hasLayer(popup)).to.be(true); + expect(map.hasLayer(popup)).to.be.true; }); it('opens popup with passed latlng and options position while initializing', () => { const popup = new L.Popup(center, {className: 'testClass'}) .addTo(map); - expect(map.hasLayer(popup)).to.be(true); - expect(popup.getElement().classList.contains('testClass')).to.be(true); + expect(map.hasLayer(popup)).to.be.true; + expect(popup.getElement().classList.contains('testClass')).to.be.true; }); it('adds popup with passed content in options while initializing', () => { const popup = new L.Popup(center, {content: 'Test'}) .addTo(map); - expect(map.hasLayer(popup)).to.be(true); - expect(popup.getContent()).to.be('Test'); + expect(map.hasLayer(popup)).to.be.true; + expect(popup.getContent()).to.equal('Test'); }); describe('L.Map#openPopup', () => { @@ -378,7 +378,7 @@ describe('Popup', () => { const popup = L.popup() .setLatLng(center); map.openPopup(popup); - expect(map.hasLayer(popup)).to.be(true); + expect(map.hasLayer(popup)).to.be.true; }); it('sets popup location', () => { @@ -389,7 +389,7 @@ describe('Popup', () => { it('creates a popup from content', () => { map.openPopup('

Hello World

', center); - expect(map._popup).to.be.an(L.Popup); + expect(map._popup).to.be.instanceOf(L.Popup); expect(map._popup.getContent()).to.eql('

Hello World

'); }); @@ -398,7 +398,7 @@ describe('Popup', () => { const p2 = L.popup().setLatLng(center); map.openPopup(p1); map.openPopup(p2); - expect(map.hasLayer(p1)).to.be(false); + expect(map.hasLayer(p1)).to.be.false; }); it('does not close existing popup with autoClose: false option', () => { @@ -406,8 +406,8 @@ describe('Popup', () => { const p2 = L.popup().setLatLng(center); map.openPopup(p1); map.openPopup(p2); - expect(map.hasLayer(p1)).to.be(true); - expect(map.hasLayer(p2)).to.be(true); + expect(map.hasLayer(p1)).to.be.true; + expect(map.hasLayer(p2)).to.be.true; }); it('should not be closen when dragging map', (done) => { @@ -420,13 +420,13 @@ describe('Popup', () => { const spy = sinon.spy(); const p = L.popup().setLatLng(center); map.openPopup(p); - expect(map.hasLayer(p)).to.be(true); + expect(map.hasLayer(p)).to.be.true; map.on('drag', spy); const hand = new Hand({ timing: 'fastframe', onStop() { - expect(spy.called).to.be(true); - expect(map.hasLayer(p)).to.be(true); + expect(spy.called).to.be.true; + expect(map.hasLayer(p)).to.be.true; done(); }}); const mouse = hand.growFinger('mouse'); @@ -449,8 +449,8 @@ describe('Popup', () => { // Short hop to the edge of the map (at time of writing, will trigger an animated pan) const p = L.popup({keepInView: true}).setContent('Popup').setLatLng(map.getBounds()._northEast); map.once('moveend', () => { - expect(spy.callCount).to.be(1); - expect(map.getBounds().contains(p.getLatLng())).to.be(true); + expect(spy.callCount).to.equal(1); + expect(map.getBounds().contains(p.getLatLng())).to.be.true; done(); }); map.openPopup(p); @@ -471,8 +471,8 @@ describe('Popup', () => { // Long hop (at time of writing, will trigger a view reset) const p = L.popup({keepInView: true}).setContent('Popup').setLatLng([center[0], center[1] + 50]); map.once('moveend', () => { - expect(spy.callCount).to.be(1); - expect(map.getBounds().contains(p.getLatLng())).to.be(true); + expect(spy.callCount).to.equal(1); + expect(map.getBounds().contains(p.getLatLng())).to.be.true; done(); }); map.openPopup(p); @@ -483,7 +483,7 @@ describe('Popup', () => { map.once('moveend', () => { map.once('moveend', () => { - expect(map.getBounds().contains(p.getLatLng())).to.be(true); + expect(map.getBounds().contains(p.getLatLng())).to.be.true; done(); }); @@ -498,7 +498,7 @@ describe('Popup', () => { const marker1 = L.marker([86, 32]).bindPopup(popup).addTo(map); const marker2 = L.marker([26.3, 83.9]).bindPopup(popup).addTo(map); - expect(popup.getLatLng()).to.be(undefined); + expect(popup.getLatLng()).to.equal(undefined); marker1.openPopup(); expect(popup.getLatLng()).to.be.nearLatLng([86, 32]); @@ -517,46 +517,46 @@ describe('Popup', () => { it('only adds a popup to the map when opened', () => { marker.bindPopup('new layer'); - expect(map.hasLayer(marker.getPopup())).to.be(false); + expect(map.hasLayer(marker.getPopup())).to.be.false; marker.openPopup(); - expect(map.hasLayer(marker.getPopup())).to.be(true); + expect(map.hasLayer(marker.getPopup())).to.be.true; }); it('keeps an open popup on the map when it\'s unbound from the layer', () => { marker.bindPopup('new layer').openPopup(); const popup = marker.getPopup(); marker.unbindPopup(); - expect(map.hasLayer(popup)).to.be(true); + expect(map.hasLayer(popup)).to.be.true; }); it('should not give an error when the marker has no popup', () => { expect(() => { marker.isPopupOpen(); - }).to.not.throwException(); - expect(marker.isPopupOpen()).to.be(false); + }).to.not.throw(); + expect(marker.isPopupOpen()).to.be.false; }); it('should show a popup as closed if it\'s never opened', () => { marker.bindPopup('new layer'); - expect(marker.isPopupOpen()).to.be(false); + expect(marker.isPopupOpen()).to.be.false; }); it('should show a popup as opend if it\'s opened', () => { marker.bindPopup('new layer').openPopup(); - expect(marker.isPopupOpen()).to.be(true); + expect(marker.isPopupOpen()).to.be.true; }); it('should show a popup as closed if it\'s opened and closed', () => { marker.bindPopup('new layer').openPopup().closePopup(); - expect(marker.isPopupOpen()).to.be(false); + expect(marker.isPopupOpen()).to.be.false; }); it('should show the popup as closed if it\'s unbound', () => { marker.bindPopup('new layer').openPopup().unbindPopup(); expect(() => { marker.isPopupOpen(); - }).to.not.throwException(); - expect(marker.isPopupOpen()).to.be(false); + }).to.not.throw(); + expect(marker.isPopupOpen()).to.be.false; }); it('does not throw is popup is inmediately closed', (done) => { @@ -567,7 +567,7 @@ describe('Popup', () => { expect(() => { marker.bindPopup('new layer').openPopup(); done(); - }).to.not.throwException(); + }).to.not.throw(); }); it('does not close popup when clicking on it\'s tip', () => { @@ -580,13 +580,13 @@ describe('Popup', () => { const point = map.latLngToContainerPoint(map.getCenter()); point.y -= 2; // move mouse into the popup-tip const el = document.elementFromPoint(point.x, point.y); - expect(el).to.be(popup._tip); + expect(el).to.equal(popup._tip); UIEventSimulator.fire('click', el, { clientX: point.x, clientY: point.y }); - expect(popup.isOpen()).to.be.ok(); + expect(popup.isOpen()).to.be.true; }); it('does not open for empty FeatureGroup', () => { @@ -596,7 +596,7 @@ describe('Popup', () => { .bindPopup(popup) .openPopup(); - expect(map.hasLayer(popup)).to.not.be.ok(); + expect(map.hasLayer(popup)).to.be.false; }); it('uses only visible layers of FeatureGroup for popup content source', () => { @@ -612,8 +612,8 @@ describe('Popup', () => { marker3.remove(); group.openPopup(); - expect(map.hasLayer(popup)).to.be.ok(); - expect(popup._source).to.be(marker2); + expect(map.hasLayer(popup)).to.be.true; + expect(popup._source).to.equal(marker2); }); }); }); diff --git a/spec/suites/layer/TooltipSpec.js b/spec/suites/layer/TooltipSpec.js index 04ea3f693..a268c4719 100644 --- a/spec/suites/layer/TooltipSpec.js +++ b/spec/suites/layer/TooltipSpec.js @@ -19,10 +19,10 @@ describe('Tooltip', () => { UIEventSimulator.fire('mouseover', layer._icon, {relatedTarget: map._container}); - expect(map.hasLayer(layer._tooltip)).to.be(true); + expect(map.hasLayer(layer._tooltip)).to.be.true; UIEventSimulator.fire('mouseout', layer._icon, {relatedTarget: map._container}); - expect(map.hasLayer(layer._tooltip)).to.be(false); + expect(map.hasLayer(layer._tooltip)).to.be.false; }); it('opens on marker focus and closes on blur', () => { @@ -34,10 +34,10 @@ describe('Tooltip', () => { UIEventSimulator.fire('focus', element); - expect(map.hasLayer(layer._tooltip)).to.be(true); + expect(map.hasLayer(layer._tooltip)).to.be.true; UIEventSimulator.fire('blur', element); - expect(map.hasLayer(layer._tooltip)).to.be(false); + expect(map.hasLayer(layer._tooltip)).to.be.false; }); it('opens on marker focus and closes on blur when first bound, then added to map', () => { @@ -49,10 +49,10 @@ describe('Tooltip', () => { UIEventSimulator.fire('focus', element); - expect(map.hasLayer(layer._tooltip)).to.be(true); + expect(map.hasLayer(layer._tooltip)).to.be.true; UIEventSimulator.fire('blur', element); - expect(map.hasLayer(layer._tooltip)).to.be(false); + expect(map.hasLayer(layer._tooltip)).to.be.false; }); it('opens on marker focus and closes on blur in layer group', () => { @@ -66,19 +66,19 @@ describe('Tooltip', () => { UIEventSimulator.fire('focus', element1); - expect(map.hasLayer(group._tooltip)).to.be(true); - expect(group._tooltip._container.innerHTML).to.be('Group tooltip: Marker 1'); + expect(map.hasLayer(group._tooltip)).to.be.true; + expect(group._tooltip._container.innerHTML).to.equal('Group tooltip: Marker 1'); UIEventSimulator.fire('blur', element1); - expect(map.hasLayer(group._tooltip)).to.be(false); + expect(map.hasLayer(group._tooltip)).to.be.false; UIEventSimulator.fire('focus', element2); - expect(map.hasLayer(group._tooltip)).to.be(true); - expect(group._tooltip._container.innerHTML).to.be('Group tooltip: Marker 2'); + expect(map.hasLayer(group._tooltip)).to.be.true; + expect(group._tooltip._container.innerHTML).to.equal('Group tooltip: Marker 2'); UIEventSimulator.fire('blur', element2); - expect(map.hasLayer(group._tooltip)).to.be(false); + expect(map.hasLayer(group._tooltip)).to.be.false; }); it('is mentioned in aria-describedby of a bound layer', () => { @@ -112,25 +112,25 @@ describe('Tooltip', () => { const layer = L.marker(center).addTo(map); layer.bindTooltip('Tooltip', {permanent: true}); - expect(map.hasLayer(layer._tooltip)).to.be(true); + expect(map.hasLayer(layer._tooltip)).to.be.true; }); it('can be added with bindTooltip before added to the map', () => { const layer = L.marker(center); layer.bindTooltip('Tooltip', {permanent: true}); - expect(map.hasLayer(layer._tooltip)).to.be(false); + expect(map.hasLayer(layer._tooltip)).to.be.false; layer.addTo(map); - expect(map.hasLayer(layer._tooltip)).to.be(true); + expect(map.hasLayer(layer._tooltip)).to.be.true; }); it('is removed when removing marker', () => { const layer = L.marker(center).addTo(map); layer.bindTooltip('Tooltip', {permanent: true}); - expect(map.hasLayer(layer._tooltip)).to.be(true); + expect(map.hasLayer(layer._tooltip)).to.be.true; layer.remove(); - expect(map.hasLayer(layer._tooltip)).to.be(false); + expect(map.hasLayer(layer._tooltip)).to.be.false; }); it('is not interactive by default', () => { @@ -140,7 +140,7 @@ describe('Tooltip', () => { layer.bindTooltip('Tooltip', {permanent: true}); layer._tooltip.on('click', spy); UIEventSimulator.fire('click', layer._tooltip._container); - expect(spy.called).to.be(false); + expect(spy.called).to.be.false; }); it('can be made interactive', () => { @@ -150,7 +150,7 @@ describe('Tooltip', () => { layer.bindTooltip('Tooltip', {permanent: true, interactive: true}); layer._tooltip.on('click', spy); UIEventSimulator.fire('click', layer._tooltip._container); - expect(spy.calledOnce).to.be(true); + expect(spy.calledOnce).to.be.true; }); it('events are propagated to bound layer', () => { @@ -160,19 +160,19 @@ describe('Tooltip', () => { layer.bindTooltip('Tooltip', {permanent: true, interactive: true}); UIEventSimulator.fire('click', layer._tooltip._container); - expect(spy.calledOnce).to.be(true); + expect(spy.calledOnce).to.be.true; }); it('has class leaflet-interactive', () => { const layer = L.marker(center).addTo(map); layer.bindTooltip('Tooltip', {permanent: true, interactive: true}); - expect(layer._tooltip._container.classList.contains('leaflet-interactive')).to.be(true); + expect(layer._tooltip._container.classList.contains('leaflet-interactive')).to.be.true; }); it('has not class leaflet-interactive', () => { const layer = L.marker(center).addTo(map); layer.bindTooltip('Tooltip', {permanent: true}); - expect(layer._tooltip._container.classList.contains('leaflet-interactive')).to.be(false); + expect(layer._tooltip._container.classList.contains('leaflet-interactive')).to.be.false; }); it('can be forced on left direction', () => { @@ -181,9 +181,9 @@ describe('Tooltip', () => { layer.on('click', spy); layer.bindTooltip('A long tooltip that should be displayed on the left', {permanent: true, direction: 'left', interactive: true}); - expect(map.hasLayer(layer._tooltip)).to.be(true); + expect(map.hasLayer(layer._tooltip)).to.be.true; UIEventSimulator.fireAt('click', 150, 180); // Marker is on the map center, which is 400px large. - expect(spy.calledOnce).to.be(true); + expect(spy.calledOnce).to.be.true; }); it('honours offset on left direction', () => { @@ -192,11 +192,11 @@ describe('Tooltip', () => { layer.on('click', spy); layer.bindTooltip('A long tooltip that should be displayed on the left', {permanent: true, direction: 'left', interactive: true, offset: [-20, -20]}); - expect(map.hasLayer(layer._tooltip)).to.be(true); + expect(map.hasLayer(layer._tooltip)).to.be.true; UIEventSimulator.fireAt('click', 150, 180); - expect(spy.calledOnce).to.be(false); + expect(spy.calledOnce).to.be.false; UIEventSimulator.fireAt('click', 130, 160); - expect(spy.calledOnce).to.be(true); + expect(spy.calledOnce).to.be.true; }); it('can be forced on top direction', () => { @@ -205,9 +205,9 @@ describe('Tooltip', () => { layer.on('click', spy); layer.bindTooltip('A tooltip that should be displayed on the top', {permanent: true, direction: 'top', interactive: true}); - expect(map.hasLayer(layer._tooltip)).to.be(true); + expect(map.hasLayer(layer._tooltip)).to.be.true; UIEventSimulator.fireAt('click', 200, 180); // Marker is on the map center, which is 400px large. - expect(spy.calledOnce).to.be(true); + expect(spy.calledOnce).to.be.true; }); it('honours offset on top direction', () => { @@ -217,9 +217,9 @@ describe('Tooltip', () => { layer.bindTooltip('A tooltip that should be displayed on the top', {permanent: true, direction: 'top', interactive: true, offset: [-20, -20]}); UIEventSimulator.fireAt('click', 200, 180); - expect(spy.calledOnce).to.be(false); + expect(spy.calledOnce).to.be.false; UIEventSimulator.fireAt('click', 180, 150); - expect(spy.calledOnce).to.be(true); + expect(spy.calledOnce).to.be.true; }); it('can be forced on bottom direction', () => { @@ -228,9 +228,9 @@ describe('Tooltip', () => { layer.on('click', spy); layer.bindTooltip('A tooltip that should be displayed on the top', {permanent: true, direction: 'bottom', interactive: true}); - expect(map.hasLayer(layer._tooltip)).to.be(true); + expect(map.hasLayer(layer._tooltip)).to.be.true; UIEventSimulator.fireAt('click', 200, 220); // Marker is on the map center, which is 400px large. - expect(spy.calledOnce).to.be(true); + expect(spy.calledOnce).to.be.true; }); it('honours offset on bottom direction', () => { @@ -239,11 +239,11 @@ describe('Tooltip', () => { layer.on('click', spy); layer.bindTooltip('A tooltip that should be displayed on the top', {permanent: true, direction: 'bottom', interactive: true, offset: [20, 20]}); - expect(map.hasLayer(layer._tooltip)).to.be(true); + expect(map.hasLayer(layer._tooltip)).to.be.true; UIEventSimulator.fireAt('click', 200, 220); - expect(spy.calledOnce).to.be(false); + expect(spy.calledOnce).to.be.false; UIEventSimulator.fireAt('click', 220, 230); - expect(spy.calledOnce).to.be(true); + expect(spy.calledOnce).to.be.true; }); it('can be forced on center', () => { @@ -252,23 +252,23 @@ describe('Tooltip', () => { layer.on('click', spy); layer.bindTooltip('A tooltip that should be displayed on the center', {permanent: true, direction: 'center', interactive: true}); - expect(map.hasLayer(layer._tooltip)).to.be(true); + expect(map.hasLayer(layer._tooltip)).to.be.true; UIEventSimulator.fireAt('click', 150, 180); // Marker is on the map center, which is 400px large. - expect(spy.calledOnce).to.be(true); + expect(spy.calledOnce).to.be.true; }); it('honours opacity option', () => { const layer = L.marker(center).addTo(map); layer.bindTooltip('Tooltip', {permanent: true, opacity: 0.57}); - expect(layer._tooltip._container.style.opacity).to.eql(0.57); + expect(layer._tooltip._container.style.opacity).to.eql('0.57'); }); it('can change opacity with setOpacity', () => { const layer = L.marker(center).addTo(map); layer.bindTooltip('Tooltip', {permanent: true}); - expect(layer._tooltip._container.style.opacity).to.eql(0.9); + expect(layer._tooltip._container.style.opacity).to.eql('0.9'); layer._tooltip.setOpacity(0.57); - expect(layer._tooltip._container.style.opacity).to.eql(0.57); + expect(layer._tooltip._container.style.opacity).to.eql('0.57'); }); it('it should use a tooltip with a function as content with a FeatureGroup', () => { @@ -280,13 +280,13 @@ describe('Tooltip', () => { // toggle popup on marker1 UIEventSimulator.fire('mouseover', marker1._icon, {relatedTarget: map._container}); - expect(map.hasLayer(group._tooltip)).to.be(true); - expect(group._tooltip._container.innerHTML).to.be('I\'m marker 1.'); + expect(map.hasLayer(group._tooltip)).to.be.true; + expect(group._tooltip._container.innerHTML).to.equal('I\'m marker 1.'); // toggle popup on marker2 UIEventSimulator.fire('mouseover', marker2._icon, {relatedTarget: map._container}); - expect(map.hasLayer(group._tooltip)).to.be(true); - expect(group._tooltip._container.innerHTML).to.be('I\'m marker 2.'); + expect(map.hasLayer(group._tooltip)).to.be.true; + expect(group._tooltip._container.innerHTML).to.equal('I\'m marker 2.'); }); it('opens on polygon mouseover and close on mouseout', () => { @@ -296,30 +296,30 @@ describe('Tooltip', () => { UIEventSimulator.fire('mouseover', layer._path, {relatedTarget: map._container}); - expect(map.hasLayer(layer._tooltip)).to.be(true); + expect(map.hasLayer(layer._tooltip)).to.be.true; UIEventSimulator.fire('mouseout', layer._path, {relatedTarget: map._container}); - expect(map.hasLayer(layer._tooltip)).to.be(false); + expect(map.hasLayer(layer._tooltip)).to.be.false; }); it('stays open on polygon when permanent', () => { const layer = L.polygon([[55.8, 37.6], [55.9, 37.6], [55.8, 37.5]]).addTo(map); layer.bindTooltip('Tooltip', {permanent: true}); - expect(map.hasLayer(layer._tooltip)).to.be(true); + expect(map.hasLayer(layer._tooltip)).to.be.true; }); it('can be added on polygon with bindTooltip before beind added to the map', () => { const layer = L.polygon([[55.8, 37.6], [55.9, 37.6], [55.8, 37.5]]); layer.bindTooltip('Tooltip', {permanent: true}); - expect(map.hasLayer(layer._tooltip)).to.be(false); + expect(map.hasLayer(layer._tooltip)).to.be.false; layer.addTo(map); - expect(map.hasLayer(layer._tooltip)).to.be(true); + expect(map.hasLayer(layer._tooltip)).to.be.true; layer.remove(); - expect(map.hasLayer(layer._tooltip)).to.be(false); + expect(map.hasLayer(layer._tooltip)).to.be.false; layer.addTo(map); - expect(map.hasLayer(layer._tooltip)).to.be(true); + expect(map.hasLayer(layer._tooltip)).to.be.true; }); it('opens on polyline mouseover and close on mouseout', () => { @@ -329,39 +329,39 @@ describe('Tooltip', () => { UIEventSimulator.fire('mouseover', layer._path, {relatedTarget: map._container}); - expect(map.hasLayer(layer._tooltip)).to.be(true); + expect(map.hasLayer(layer._tooltip)).to.be.true; UIEventSimulator.fire('mouseout', layer._path, {relatedTarget: map._container}); - expect(map.hasLayer(layer._tooltip)).to.be(false); + expect(map.hasLayer(layer._tooltip)).to.be.false; }); it('stays open on polyline when permanent', () => { const layer = L.polyline([[55.8, 37.6], [55.9, 37.6], [55.8, 37.5]]).addTo(map); layer.bindTooltip('Tooltip', {permanent: true}); - expect(map.hasLayer(layer._tooltip)).to.be(true); + expect(map.hasLayer(layer._tooltip)).to.be.true; }); it('can be added on polyline with bindTooltip before added to the map', () => { const layer = L.polyline([[55.8, 37.6], [55.9, 37.6], [55.8, 37.5]]); layer.bindTooltip('Tooltip', {permanent: true}); - expect(map.hasLayer(layer._tooltip)).to.be(false); + expect(map.hasLayer(layer._tooltip)).to.be.false; layer.addTo(map); - expect(map.hasLayer(layer._tooltip)).to.be(true); + expect(map.hasLayer(layer._tooltip)).to.be.true; layer.remove(); - expect(map.hasLayer(layer._tooltip)).to.be(false); + expect(map.hasLayer(layer._tooltip)).to.be.false; layer.addTo(map); - expect(map.hasLayer(layer._tooltip)).to.be(true); + expect(map.hasLayer(layer._tooltip)).to.be.true; }); it.skipIfNotTouch('is opened when tapping on touch', () => { const layer = L.marker(center).addTo(map); layer.bindTooltip('Tooltip'); - expect(map.hasLayer(layer._tooltip)).to.be(false); + expect(map.hasLayer(layer._tooltip)).to.be.false; UIEventSimulator.fire('click', layer._icon); - expect(map.hasLayer(layer._tooltip)).to.be(true); + expect(map.hasLayer(layer._tooltip)).to.be.true; }); it.skipIfNotTouch('is closed if not permanent when clicking on the map elsewhere on touch', () => { @@ -369,15 +369,15 @@ describe('Tooltip', () => { layer.bindTooltip('Tooltip'); UIEventSimulator.fire('click', layer._icon); - expect(map.hasLayer(layer._tooltip)).to.be(true); + expect(map.hasLayer(layer._tooltip)).to.be.true; UIEventSimulator.fire('click', map._container); - expect(map.hasLayer(layer._tooltip)).to.be(false); + expect(map.hasLayer(layer._tooltip)).to.be.false; }); it('opens with map.openTooltip', (done) => { map.on('tooltipopen', (e) => { - expect(map.hasLayer(e.tooltip)).to.be(true); + expect(map.hasLayer(e.tooltip)).to.be.true; done(); }); map.openTooltip('Tooltip', center); @@ -391,7 +391,7 @@ describe('Tooltip', () => { map.openTooltip(tooltip, center); UIEventSimulator.fire('click', tooltip._container); - expect(spy.calledOnce).to.be(true); + expect(spy.calledOnce).to.be.true; }); it('can call closeTooltip while not on the map', () => { @@ -404,24 +404,24 @@ describe('Tooltip', () => { const layer = L.rectangle([[58, 39.7], [54, 35.3]]).addTo(map); layer.bindTooltip('Sticky', {sticky: true}).openTooltip(); const tooltip = layer.getTooltip(); - expect(tooltip.getLatLng().equals(layer.getCenter())).to.be(true); + expect(tooltip.getLatLng().equals(layer.getCenter())).to.be.true; UIEventSimulator.fireAt('click', 120, 120); const latlng = map.containerPointToLatLng([120, 120]); - expect(tooltip.getLatLng().equals(latlng)).to.be(true); + expect(tooltip.getLatLng().equals(latlng)).to.be.true; }); it('opens a permanent tooltip and follow the mouse (sticky)', (done) => { const layer = L.rectangle([[58, 39.7], [54, 35.3]]).addTo(map); layer.bindTooltip('Sticky', {sticky: true, permanent: true}).openTooltip(); const tooltip = layer.getTooltip(); - expect(tooltip.getLatLng().equals(layer.getCenter())).to.be(true); + expect(tooltip.getLatLng().equals(layer.getCenter())).to.be.true; const hand = new Hand({ timing: 'fastframe', onStop() { const latlng = map.containerPointToLatLng([120, 120]); - expect(tooltip.getLatLng().equals(latlng)).to.be(true); + expect(tooltip.getLatLng().equals(latlng)).to.be.true; done(); } }); @@ -436,8 +436,8 @@ describe('Tooltip', () => { const tooltip1 = layer.getTooltip(); layer.bindTooltip('Tooltip2').openTooltip(); layer.unbindTooltip.restore(); // unwrap the spy - expect(map.hasLayer(tooltip1)).to.not.be.ok(); - expect(eventSpy.calledOnce).to.be.ok(); + expect(map.hasLayer(tooltip1)).to.be.false; + expect(eventSpy.calledOnce).to.be.true; }); it('don\'t opens the tooltip on marker mouseover while dragging map', () => { @@ -451,14 +451,14 @@ describe('Tooltip', () => { return true; }; UIEventSimulator.fireAt('mouseover', 210, 195); - expect(tooltip.isOpen()).to.be(false); + expect(tooltip.isOpen()).to.be.false; // simulate map not dragging anymore map.dragging.moving = function () { return false; }; UIEventSimulator.fireAt('mouseover', 210, 195); - expect(tooltip.isOpen()).to.be.ok(); + expect(tooltip.isOpen()).to.be.true; }); it('closes the tooltip on marker mouseout while dragging map and don\'t open it again', () => { @@ -469,38 +469,38 @@ describe('Tooltip', () => { // open tooltip before "dragging map" UIEventSimulator.fireAt('mouseover', 210, 195); - expect(tooltip.isOpen()).to.be.ok(); + expect(tooltip.isOpen()).to.be.true; // simulate map dragging map.dragging.moving = function () { return true; }; UIEventSimulator.fire('mouseout', layer._icon, {relatedTarget: map._container}); - expect(tooltip.isOpen()).to.be(false); + expect(tooltip.isOpen()).to.be.false; // tooltip should not open again while dragging UIEventSimulator.fireAt('mouseover', 210, 195); - expect(tooltip.isOpen()).to.be(false); + expect(tooltip.isOpen()).to.be.false; }); it('opens tooltip with passed latlng position while initializing', () => { const tooltip = new L.Tooltip(center) .addTo(map); - expect(map.hasLayer(tooltip)).to.be(true); + expect(map.hasLayer(tooltip)).to.be.true; }); it('opens tooltip with passed latlng and options position while initializing', () => { const tooltip = new L.Tooltip(center, {className: 'testClass'}) .addTo(map); - expect(map.hasLayer(tooltip)).to.be(true); - expect(tooltip.getElement().classList.contains('testClass')).to.be(true); + expect(map.hasLayer(tooltip)).to.be.true; + expect(tooltip.getElement().classList.contains('testClass')).to.be.true; }); it('adds tooltip with passed content in options while initializing', () => { const tooltip = new L.Tooltip(center, {content: 'Test'}) .addTo(map); - expect(map.hasLayer(tooltip)).to.be(true); - expect(tooltip.getContent()).to.be('Test'); + expect(map.hasLayer(tooltip)).to.be.true; + expect(tooltip.getContent()).to.equal('Test'); }); // Related to #8558 @@ -528,11 +528,11 @@ describe('Tooltip', () => { expect(e.target.options.testId).to.eql('markerB'); }); - expect(spy.called).to.be(false); + expect(spy.called).to.be.false; layer1.openTooltip().closeTooltip(); - expect(spy.called).to.be(true); - expect(spy2.called).to.be(false); + expect(spy.called).to.be.true; + expect(spy2.called).to.be.false; layer2.openTooltip(); - expect(spy2.called).to.be(true); + expect(spy2.called).to.be.true; }); }); diff --git a/spec/suites/layer/VideoOverlaySpec.js b/spec/suites/layer/VideoOverlaySpec.js index 7659705dd..032b9f2e5 100644 --- a/spec/suites/layer/VideoOverlaySpec.js +++ b/spec/suites/layer/VideoOverlaySpec.js @@ -23,6 +23,6 @@ describe('VideoOverlay', () => { const videoOverlay = L.videoOverlay(videoUrls, videoBounds).addTo(map); - expect(map.hasLayer(videoOverlay)).to.be.ok(); + expect(map.hasLayer(videoOverlay)).to.be.true; }); }); diff --git a/spec/suites/layer/marker/Icon.DefaultSpec.js b/spec/suites/layer/marker/Icon.DefaultSpec.js index 6174cbe74..b19b7e870 100644 --- a/spec/suites/layer/marker/Icon.DefaultSpec.js +++ b/spec/suites/layer/marker/Icon.DefaultSpec.js @@ -15,11 +15,11 @@ describe('Icon.Default', () => { it('detect icon images path', () => { const origPath = L.Icon.Default.imagePath; // set in after.js - expect(origPath).to.be.ok(); + expect(origPath).to.be.ok; delete L.Icon.Default.imagePath; const marker = L.marker([0, 0]); - expect(L.Icon.Default.imagePath).to.not.be.ok(); + expect(L.Icon.Default.imagePath).to.be.undefined; marker.addTo(map); expect(L.Icon.Default.imagePath).to.equal(location.origin + origPath); @@ -30,23 +30,23 @@ describe('Icon.Default', () => { 'url("http://localhost:8000/base/dist/images/marker-icon.png")', // Firefox 'url(\'http://localhost:8000/base/dist/images/marker-icon.png\')', 'url(http://localhost:8000/base/dist/images/marker-icon.png)', // IE, Edge - ].map(stripUrl).forEach((str) => { expect(str).to.be(properPath); }); + ].map(stripUrl).forEach((str) => { expect(str).to.equal(properPath); }); [ // invalid 'url("http://localhost:8000/base/dist/images/marker-icon.png?2x)"', 'url("data:image/png;base64,iVBORw...")', // inline image (bundlers) - ].map(stripUrl).forEach((str) => { expect(str).not.to.be.ok(); }); + ].map(stripUrl).forEach((str) => { expect(str).not.to.be.true; }); }); it('icon measures 25x41px', () => { const img = map.getPane('markerPane').querySelector('img'); - expect(img.clientHeight).to.be(41); - expect(img.clientWidth).to.be(25); + expect(img.clientHeight).to.equal(41); + expect(img.clientWidth).to.equal(25); }); it('shadow measures 41x41px', () => { const img = map.getPane('shadowPane').querySelector('img'); - expect(img.clientHeight).to.be(41); - expect(img.clientWidth).to.be(41); + expect(img.clientHeight).to.equal(41); + expect(img.clientWidth).to.equal(41); }); }); diff --git a/spec/suites/layer/marker/Marker.DragSpec.js b/spec/suites/layer/marker/Marker.DragSpec.js index cf2118d91..c52e52036 100644 --- a/spec/suites/layer/marker/Marker.DragSpec.js +++ b/spec/suites/layer/marker/Marker.DragSpec.js @@ -36,7 +36,7 @@ describe('Marker.Drag', () => { const hand = new Hand({ timing: 'fastframe', onStop() { - expect(marker.getOffset()).to.eql(offset); + expect(marker.getOffset().equals(offset)).to.be.true; expect(map.getCenter()).to.be.nearLatLng([0, 0]); expect(marker.getLatLng()).to.be.nearLatLng([-40.979898069620134, 360]); diff --git a/spec/suites/layer/marker/MarkerSpec.js b/spec/suites/layer/marker/MarkerSpec.js index 4fbf36c8a..0c98a6579 100644 --- a/spec/suites/layer/marker/MarkerSpec.js +++ b/spec/suites/layer/marker/MarkerSpec.js @@ -35,8 +35,8 @@ describe('Marker', () => { const icon = marker._icon; - expect(icon.style.width).to.be(`${expectedX}px`); - expect(icon.style.height).to.be(`${expectedY}px`); + expect(icon.style.width).to.equal(`${expectedX}px`); + expect(icon.style.height).to.equal(`${expectedY}px`); }); it('set the correct x and y size attributes passing only one value', () => { @@ -51,8 +51,8 @@ describe('Marker', () => { const icon = marker._icon; - expect(icon.style.width).to.be(`${expectedXY}px`); - expect(icon.style.height).to.be(`${expectedXY}px`); + expect(icon.style.width).to.equal(`${expectedXY}px`); + expect(icon.style.height).to.equal(`${expectedXY}px`); }); it('set the correct x and y size attributes passing a L.Point instance', () => { @@ -67,8 +67,8 @@ describe('Marker', () => { const icon = marker._icon; - expect(icon.style.width).to.be(`${expectedXY}px`); - expect(icon.style.height).to.be(`${expectedXY}px`); + expect(icon.style.width).to.equal(`${expectedXY}px`); + expect(icon.style.height).to.equal(`${expectedXY}px`); }); it('changes the icon to another image while re-using the IMG element', () => { @@ -79,7 +79,7 @@ describe('Marker', () => { marker.setIcon(icon2); const afterIcon = marker._icon; - expect(beforeIcon).to.be(afterIcon); // Check that the element is re-used + expect(beforeIcon).to.equal(afterIcon); // Check that the element is re-used expect(afterIcon.src).to.contain(icon2._getIconUrl('icon')); }); @@ -90,34 +90,34 @@ describe('Marker', () => { marker.dragging.disable(); marker.setIcon(icon2); - expect(marker.dragging.enabled()).to.be(false); + expect(marker.dragging.enabled()).to.be.false; marker.dragging.enable(); marker.setIcon(icon1); - expect(marker.dragging.enabled()).to.be(true); + expect(marker.dragging.enabled()).to.be.true; map.removeLayer(marker); map.addLayer(marker); - expect(marker.dragging.enabled()).to.be(true); + expect(marker.dragging.enabled()).to.be.true; map.removeLayer(marker); // Dragging is still enabled, we should be able to disable it, // even if marker is off the map. - expect(marker.dragging).to.be(undefined); + expect(marker.dragging).to.equal(undefined); marker.options.draggable = false; map.addLayer(marker); map.removeLayer(marker); // We should also be able to enable dragging while off the map - expect(marker.dragging).to.be(undefined); + expect(marker.dragging).to.equal(undefined); marker.options.draggable = true; map.addLayer(marker); - expect(marker.dragging.enabled()).to.be(true); + expect(marker.dragging.enabled()).to.be.true; }); it('changes the DivIcon to another DivIcon, while re-using the DIV element', () => { @@ -128,7 +128,7 @@ describe('Marker', () => { marker.setIcon(L.divIcon({html: 'Inner2Text'})); const afterIcon = marker._icon; - expect(beforeIcon).to.be(afterIcon); // Check that the
element is re-used + expect(beforeIcon).to.equal(afterIcon); // Check that the
element is re-used expect(afterIcon.innerHTML).to.contain('Inner2Text'); }); @@ -148,15 +148,15 @@ describe('Marker', () => { marker.setIcon(icon1); - expect(oldIcon).to.not.be(marker._icon); // Check that the _icon is NOT re-used - expect(oldIcon.parentNode).to.be(null); + expect(oldIcon).to.not.equal(marker._icon); // Check that the _icon is NOT re-used + expect(oldIcon.parentNode).to.equal(null); if (L.Browser.retina) { expect(marker._icon.src).to.contain('marker-icon-2x.png'); } else { expect(marker._icon.src).to.contain('marker-icon.png'); } - expect(marker._icon.parentNode).to.be(map._panes.markerPane); + expect(marker._icon.parentNode).to.equal(map._panes.markerPane); }); it('changes an image to a DivIcon', () => { @@ -166,11 +166,11 @@ describe('Marker', () => { marker.setIcon(L.divIcon({html: 'Inner1Text'})); - expect(oldIcon).to.not.be(marker._icon); // Check that the _icon is NOT re-used - expect(oldIcon.parentNode).to.be(null); + expect(oldIcon).to.not.equal(marker._icon); // Check that the _icon is NOT re-used + expect(oldIcon.parentNode).to.equal(null); expect(marker._icon.innerHTML).to.contain('Inner1Text'); - expect(marker._icon.parentNode).to.be(map._panes.markerPane); + expect(marker._icon.parentNode).to.equal(map._panes.markerPane); }); it('reuses the icon/shadow when changing icon', () => { @@ -181,26 +181,26 @@ describe('Marker', () => { marker.setIcon(icon2); - expect(oldIcon).to.be(marker._icon); - expect(oldShadow).to.be(marker._shadow); + expect(oldIcon).to.equal(marker._icon); + expect(oldShadow).to.equal(marker._shadow); - expect(marker._icon.parentNode).to.be(map._panes.markerPane); - expect(marker._shadow.parentNode).to.be(map._panes.shadowPane); + expect(marker._icon.parentNode).to.equal(map._panes.markerPane); + expect(marker._shadow.parentNode).to.equal(map._panes.shadowPane); }); it('sets the alt attribute to a default value when no alt text is passed', () => { const marker = L.marker([0, 0], {icon: icon1}); map.addLayer(marker); const icon = marker._icon; - expect(icon.hasAttribute('alt')).to.be(true); - expect(icon.alt).to.be('Marker'); + expect(icon.hasAttribute('alt')).to.be.true; + expect(icon.alt).to.equal('Marker'); }); it('doesn\'t set the alt attribute for DivIcons', () => { const marker = L.marker([0, 0], {icon: L.divIcon(), alt: 'test'}); map.addLayer(marker); const icon = marker._icon; - expect(icon.hasAttribute('alt')).to.be(false); + expect(icon.hasAttribute('alt')).to.be.false; }); it('pan map to focus marker', () => { @@ -209,7 +209,7 @@ describe('Marker', () => { expect(() => { marker._icon.focus(); - }).to.not.throwException(); + }).to.not.throw(); }); it('pan map to focus marker with no iconSize', () => { @@ -218,7 +218,7 @@ describe('Marker', () => { expect(() => { marker._panOnFocus(); - }).to.not.throwException(); + }).to.not.throw(); }); }); @@ -238,10 +238,10 @@ describe('Marker', () => { marker.setLatLng(afterLatLng); - expect(eventArgs).to.not.be(null); - expect(eventArgs.oldLatLng).to.be(beforeLatLng); - expect(eventArgs.latlng).to.be(afterLatLng); - expect(marker.getLatLng()).to.be(afterLatLng); + expect(eventArgs).to.not.equal(null); + expect(eventArgs.oldLatLng).to.equal(beforeLatLng); + expect(eventArgs.latlng).to.equal(afterLatLng); + expect(marker.getLatLng()).to.equal(afterLatLng); }); }); @@ -254,7 +254,7 @@ describe('Marker', () => { marker.on('click', spy); UIEventSimulator.fire('click', marker._icon); - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; }); it('fires click event when clicked with DivIcon', () => { @@ -265,7 +265,7 @@ describe('Marker', () => { marker.on('click', spy); UIEventSimulator.fire('click', marker._icon); - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; }); it('fires click event when clicked on DivIcon child element', () => { @@ -276,10 +276,10 @@ describe('Marker', () => { marker.on('click', spy); UIEventSimulator.fire('click', marker._icon); - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; UIEventSimulator.fire('click', marker._icon.querySelector('img')); - expect(spy.calledTwice).to.be.ok(); + expect(spy.calledTwice).to.be.true; }); it('fires click event when clicked on DivIcon child element set using setIcon', () => { @@ -291,10 +291,10 @@ describe('Marker', () => { marker.on('click', spy); UIEventSimulator.fire('click', marker._icon); - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; UIEventSimulator.fire('click', marker._icon.querySelector('img')); - expect(spy.calledTwice).to.be.ok(); + expect(spy.calledTwice).to.be.true; }); it('do not propagate click event', () => { @@ -307,9 +307,9 @@ describe('Marker', () => { marker.on('click', spy2); map.on('click', mapSpy); UIEventSimulator.fire('click', marker._icon); - expect(spy.called).to.be.ok(); - expect(spy2.called).to.be.ok(); - expect(mapSpy.called).not.to.be.ok(); + expect(spy.called).to.be.true; + expect(spy2.called).to.be.true; + expect(mapSpy.called).not.to.be.true; }); it('do not propagate dblclick event', () => { @@ -322,9 +322,9 @@ describe('Marker', () => { marker.on('dblclick', spy2); map.on('dblclick', mapSpy); UIEventSimulator.fire('dblclick', marker._icon); - expect(spy.called).to.be.ok(); - expect(spy2.called).to.be.ok(); - expect(mapSpy.called).not.to.be.ok(); + expect(spy.called).to.be.true; + expect(spy2.called).to.be.true; + expect(mapSpy.called).not.to.be.true; }); it('do not catch event if it does not listen to it', (done) => { diff --git a/spec/suites/layer/tile/GridLayerSpec.js b/spec/suites/layer/tile/GridLayerSpec.js index ff3427766..0bc5453e0 100644 --- a/spec/suites/layer/tile/GridLayerSpec.js +++ b/spec/suites/layer/tile/GridLayerSpec.js @@ -167,7 +167,7 @@ describe('GridLayer', () => { grid.on('tileload', tileLoadRaised); grid.on('tileerror', () => { if (keys.length === 4) { - expect(tileLoadRaised.notCalled).to.be(true); + expect(tileLoadRaised.notCalled).to.be.true; done(); } }); @@ -179,7 +179,7 @@ describe('GridLayer', () => { grid.on('tileerror', () => { tileErrorRaised(); if (keys.length === 4) { - expect(tileErrorRaised.callCount).to.be(4); + expect(tileErrorRaised.callCount).to.equal(4); done(); } }); @@ -193,7 +193,7 @@ describe('GridLayer', () => { count++; } if (keys.length === 4) { - expect(count).to.be(4); + expect(count).to.equal(4); done(); } }); @@ -218,7 +218,7 @@ describe('GridLayer', () => { map.on('zoomend', onReset); map.setView([0, 0], 0); - expect(onReset.calledBefore(onAddSpy)).to.be.ok(); + expect(onReset.calledBefore(onAddSpy)).to.be.true; }); }); @@ -237,36 +237,36 @@ describe('GridLayer', () => { minZoom }).addTo(map); - expect(map.getMaxZoom()).to.be(maxZoom); - expect(map.getMinZoom()).to.be(minZoom); + expect(map.getMaxZoom()).to.equal(maxZoom); + expect(map.getMinZoom()).to.equal(minZoom); }); }); describe('accessing a gridlayer\'s properties', () => { it('provides a container', () => { const layer = L.gridLayer().addTo(map); - expect(layer.getContainer()).to.be.ok(); + expect(layer.getContainer()).to.be.ok; }); }); describe('when a gridlayer is added to a map that already has a gridlayer', () => { it('has its zoomlevels updated to fit the new layer', () => { L.gridLayer({minZoom: 10, maxZoom: 15}).addTo(map); - expect(map.getMinZoom()).to.be(10); - expect(map.getMaxZoom()).to.be(15); + expect(map.getMinZoom()).to.equal(10); + expect(map.getMaxZoom()).to.equal(15); L.gridLayer({minZoom: 5, maxZoom: 10}).addTo(map); - expect(map.getMinZoom()).to.be(5); // changed - expect(map.getMaxZoom()).to.be(15); // unchanged + expect(map.getMinZoom()).to.equal(5); // changed + expect(map.getMaxZoom()).to.equal(15); // unchanged L.gridLayer({minZoom: 10, maxZoom: 20}).addTo(map); - expect(map.getMinZoom()).to.be(5); // unchanged - expect(map.getMaxZoom()).to.be(20); // changed + expect(map.getMinZoom()).to.equal(5); // unchanged + expect(map.getMaxZoom()).to.equal(20); // changed L.gridLayer({minZoom: 0, maxZoom: 25}).addTo(map); - expect(map.getMinZoom()).to.be(0); // changed - expect(map.getMaxZoom()).to.be(25); // changed + expect(map.getMinZoom()).to.equal(0); // changed + expect(map.getMaxZoom()).to.equal(25); // changed }); }); @@ -278,24 +278,24 @@ describe('GridLayer', () => { L.gridLayer({minZoom: 10, maxZoom: 20}).addTo(map), L.gridLayer({minZoom: 0, maxZoom: 25}).addTo(map) ]; - expect(map.getMinZoom()).to.be(0); - expect(map.getMaxZoom()).to.be(25); + expect(map.getMinZoom()).to.equal(0); + expect(map.getMaxZoom()).to.equal(25); map.removeLayer(tiles[0]); - expect(map.getMinZoom()).to.be(0); - expect(map.getMaxZoom()).to.be(25); + expect(map.getMinZoom()).to.equal(0); + expect(map.getMaxZoom()).to.equal(25); map.removeLayer(tiles[3]); - expect(map.getMinZoom()).to.be(5); - expect(map.getMaxZoom()).to.be(20); + expect(map.getMinZoom()).to.equal(5); + expect(map.getMaxZoom()).to.equal(20); map.removeLayer(tiles[2]); - expect(map.getMinZoom()).to.be(5); - expect(map.getMaxZoom()).to.be(10); + expect(map.getMinZoom()).to.equal(5); + expect(map.getMaxZoom()).to.equal(10); map.removeLayer(tiles[1]); - expect(map.getMinZoom()).to.be(0); - expect(map.getMaxZoom()).to.be(Infinity); + expect(map.getMinZoom()).to.equal(0); + expect(map.getMaxZoom()).to.equal(Infinity); }); }); }); @@ -310,7 +310,7 @@ describe('GridLayer', () => { let tileCount = 0; grid.createTile = function (coords) { - expect(coords.z).to.be(5); + expect(coords.z).to.equal(5); tileCount++; return document.createElement('div'); }; @@ -334,7 +334,7 @@ describe('GridLayer', () => { let tileCount = 0; grid.createTile = function (coords) { - expect(coords.z).to.be(5); + expect(coords.z).to.equal(5); tileCount++; return document.createElement('div'); }; @@ -354,11 +354,11 @@ describe('GridLayer', () => { map.setView([0, 0], initialZoom); const grid = L.gridLayer().addTo(map); - expect(grid._tileZoom).to.be(initialZoom); + expect(grid._tileZoom).to.equal(initialZoom); grid.options.maxNativeZoom = 11; grid.redraw(); - expect(grid._tileZoom).to.be(11); + expect(grid._tileZoom).to.equal(11); }); }); @@ -408,9 +408,9 @@ describe('GridLayer', () => { it('Loads 8 tiles zoom 1', (done) => { grid.on('load', () => { - expect(counts.tileloadstart).to.be(8); - expect(counts.tileload).to.be(8); - expect(counts.tileunload).to.be(0); + expect(counts.tileloadstart).to.equal(8); + expect(counts.tileload).to.equal(8); + expect(counts.tileunload).to.equal(0); done(); }); @@ -420,9 +420,9 @@ describe('GridLayer', () => { it('Loads 5 tiles zoom 0', (done) => { grid.on('load', () => { - expect(counts.tileloadstart).to.be(5); - expect(counts.tileload).to.be(5); - expect(counts.tileunload).to.be(0); + expect(counts.tileloadstart).to.equal(5); + expect(counts.tileload).to.equal(5); + expect(counts.tileunload).to.equal(0); done(); }); @@ -432,9 +432,9 @@ describe('GridLayer', () => { it('Loads 16 tiles zoom 10', (done) => { grid.on('load', () => { - expect(counts.tileloadstart).to.be(16); - expect(counts.tileload).to.be(16); - expect(counts.tileunload).to.be(0); + expect(counts.tileloadstart).to.equal(16); + expect(counts.tileload).to.equal(16); + expect(counts.tileunload).to.equal(0); grid.off(); done(); @@ -446,15 +446,15 @@ describe('GridLayer', () => { it('Loads 32, unloads 16 tiles zooming in 10-11', (done) => { grid.on('load', () => { - expect(counts.tileloadstart).to.be(16); - expect(counts.tileload).to.be(16); - expect(counts.tileunload).to.be(0); + expect(counts.tileloadstart).to.equal(16); + expect(counts.tileload).to.equal(16); + expect(counts.tileunload).to.equal(0); grid.off('load'); grid.on('load', () => { - expect(counts.tileloadstart).to.be(32); - expect(counts.tileload).to.be(32); - expect(counts.tileunload).to.be(16); + expect(counts.tileloadstart).to.equal(32); + expect(counts.tileload).to.equal(32); + expect(counts.tileunload).to.equal(16); done(); }); @@ -469,15 +469,15 @@ describe('GridLayer', () => { it('Loads 32, unloads 16 tiles zooming out 11-10', (done) => { grid.on('load', () => { - expect(counts.tileloadstart).to.be(16); - expect(counts.tileload).to.be(16); - expect(counts.tileunload).to.be(0); + expect(counts.tileloadstart).to.equal(16); + expect(counts.tileload).to.equal(16); + expect(counts.tileunload).to.equal(0); grid.off('load'); grid.on('load', () => { - expect(counts.tileloadstart).to.be(32); - expect(counts.tileload).to.be(32); - expect(counts.tileunload).to.be(16); + expect(counts.tileloadstart).to.equal(32); + expect(counts.tileload).to.equal(32); + expect(counts.tileunload).to.equal(16); done(); }); @@ -492,15 +492,15 @@ describe('GridLayer', () => { it('Loads 32, unloads 16 tiles zooming out 18-10', (done) => { grid.on('load', () => { - expect(counts.tileloadstart).to.be(16); - expect(counts.tileload).to.be(16); - expect(counts.tileunload).to.be(0); + expect(counts.tileloadstart).to.equal(16); + expect(counts.tileload).to.equal(16); + expect(counts.tileunload).to.equal(0); grid.off('load'); grid.on('load', () => { - expect(counts.tileloadstart).to.be(32); - expect(counts.tileload).to.be(32); - expect(counts.tileunload).to.be(16); + expect(counts.tileloadstart).to.equal(32); + expect(counts.tileload).to.equal(32); + expect(counts.tileunload).to.equal(16); done(); }); @@ -589,8 +589,8 @@ describe('GridLayer', () => { // and avoid removing the above logTiles // (which would happen when calling "grid.off('load')"). grid.once('load', () => { - expect(counts.tileload).to.be(16); - expect(counts.tileunload).to.be(0); + expect(counts.tileload).to.equal(16); + expect(counts.tileunload).to.equal(0); // Wait for a frame to let _updateOpacity starting. L.Util.requestAnimFrame(() => { @@ -601,12 +601,12 @@ describe('GridLayer', () => { // Date.now() is 301. grid.once('load', () => { - expect(counts.tileload).to.be(32); + expect(counts.tileload).to.equal(32); // We're one frame into the zoom animation, // so GridLayer._setView with noPrune === undefined is not called yet // No tile should be unloaded yet. - expect(counts.tileunload).to.be(0); + expect(counts.tileunload).to.equal(0); // Wait > 250msec for the zoom animation to complete, // which triggers the tile pruning @@ -619,7 +619,7 @@ describe('GridLayer', () => { // At 301 + 250 = 551ms, the pruneTile from the end of the zoom animation executes. // It unloads the 'outside' 12 tiles from z10, but not the 4 tiles in the center, // since _updateOpacity did not have a chance yet to flag the 16 new z11 tiles as "active". - expect(counts.tileunload).to.be(12); + expect(counts.tileunload).to.equal(12); // Date.now() is 601. // Wait for a frame to let _updateOpacity starting @@ -636,7 +636,7 @@ describe('GridLayer', () => { clock.tick(300); // At 851ms, the pruneTile from the end of the z11 tiles fade-in animation executes. // It unloads the remaining 4 tiles from z10. - expect(counts.tileunload).to.be(16); + expect(counts.tileunload).to.equal(16); // Date.now() is 901. done(); }); @@ -646,7 +646,7 @@ describe('GridLayer', () => { // Animation (and new tiles loading) starts after 1 frame. L.Util.requestAnimFrame(() => { // 16 extra tiles from z11 being loaded. Total 16 + 16 = 32. - expect(counts.tileloadstart).to.be(32); + expect(counts.tileloadstart).to.equal(32); }); }); @@ -655,15 +655,15 @@ describe('GridLayer', () => { map.addLayer(grid).setView([0, 0], 10); // The first setView does not animated, therefore it starts loading tiles immediately. // 16 tiles from z10 being loaded. - expect(counts.tileloadstart).to.be(16); + expect(counts.tileloadstart).to.equal(16); // At 1ms, first pruneTile (map fires "viewreset" event => GridLayer._resetView => GridLayer._setView => _pruneTiles). }); it('Loads 32, unloads 16 tiles zooming in 10-18', (done) => { grid.on('load', () => { - expect(counts.tileloadstart).to.be(16); - expect(counts.tileload).to.be(16); - expect(counts.tileunload).to.be(0); + expect(counts.tileloadstart).to.equal(16); + expect(counts.tileload).to.equal(16); + expect(counts.tileunload).to.equal(0); grid.off('load'); grid.on('load', () => { @@ -671,9 +671,9 @@ describe('GridLayer', () => { // In this particular scenario, the tile unloads happen in the // next render frame after the grid's 'load' event. L.Util.requestAnimFrame(() => { - expect(counts.tileloadstart).to.be(32); - expect(counts.tileload).to.be(32); - expect(counts.tileunload).to.be(16); + expect(counts.tileloadstart).to.equal(32); + expect(counts.tileload).to.equal(32); + expect(counts.tileunload).to.equal(16); done(); }); }); @@ -694,8 +694,8 @@ describe('GridLayer', () => { // grid.on('tileload tileunload load', logTiles); grid.once('load', () => { - expect(counts.tileload).to.be(16); - expect(counts.tileunload).to.be(0); + expect(counts.tileload).to.equal(16); + expect(counts.tileunload).to.equal(0); // Wait for a frame to let _updateOpacity starting. L.Util.requestAnimFrame(() => { @@ -706,9 +706,9 @@ describe('GridLayer', () => { // Date.now() is 301. grid.once('load', () => { - expect(counts.tileload).to.be(20); + expect(counts.tileload).to.equal(20); // No tile should be unloaded yet. - expect(counts.tileunload).to.be(0); + expect(counts.tileunload).to.equal(0); // Wait > 250msec for the zoom animation to complete, // which triggers the tile pruning, but there are no @@ -718,8 +718,8 @@ describe('GridLayer', () => { // At the end of the animation, all 16 tiles from z10 // are loading. - expect(counts.tileloadstart).to.be(32); - expect(counts.tileload).to.be(20); + expect(counts.tileloadstart).to.equal(32); + expect(counts.tileload).to.equal(20); // Now that the zoom animation is complete, // the grid is ready to fire a new "load" event @@ -728,15 +728,15 @@ describe('GridLayer', () => { // central tiles from z10 as "active", since we are now // > 200ms after the first "load" event fired. grid.once('load', () => { - expect(counts.tileload).to.be(32); + expect(counts.tileload).to.equal(32); // No tile should be unloaded yet. - expect(counts.tileunload).to.be(0); + expect(counts.tileunload).to.equal(0); // Wait for a frame for next _updateOpacity to prune // all 16 tiles from z11 which are now covered by the // 4 central active tiles of z10. L.Util.requestAnimFrame(() => { - expect(counts.tileunload).to.be(16); + expect(counts.tileunload).to.equal(16); done(); }); }); @@ -749,21 +749,21 @@ describe('GridLayer', () => { // We're one frame into the zoom animation, there are // 16 tiles for z11 plus 4 tiles for z10 covering the // bounds at the *beginning* of the zoom-*out* anim - expect(counts.tileloadstart).to.be(20); + expect(counts.tileloadstart).to.equal(20); }); }); map.addLayer(grid).setView([0, 0], 11); // The first setView does not animated, therefore it starts loading tiles immediately. // 16 tiles from z10 being loaded. - expect(counts.tileloadstart).to.be(16); + expect(counts.tileloadstart).to.equal(16); }); it('Loads 32, unloads 16 tiles zooming out 18-10', (done) => { grid.on('load', () => { - expect(counts.tileloadstart).to.be(16); - expect(counts.tileload).to.be(16); - expect(counts.tileunload).to.be(0); + expect(counts.tileloadstart).to.equal(16); + expect(counts.tileload).to.equal(16); + expect(counts.tileunload).to.equal(0); grid.off('load'); grid.on('load', () => { @@ -771,9 +771,9 @@ describe('GridLayer', () => { // In this particular scenario, the tile unloads happen in the // next render frame after the grid's 'load' event. L.Util.requestAnimFrame(() => { - expect(counts.tileloadstart).to.be(32); - expect(counts.tileload).to.be(32); - expect(counts.tileunload).to.be(16); + expect(counts.tileloadstart).to.equal(32); + expect(counts.tileload).to.equal(32); + expect(counts.tileunload).to.equal(16); done(); }); }); @@ -792,16 +792,16 @@ describe('GridLayer', () => { const mad = [40.40, -3.7], trd = [63.41, 10.41]; grid.on('load', () => { - expect(counts.tileloadstart).to.be(12); - expect(counts.tileload).to.be(12); - expect(counts.tileunload).to.be(0); + expect(counts.tileloadstart).to.equal(12); + expect(counts.tileload).to.equal(12); + expect(counts.tileunload).to.equal(0); grid.off('load'); map.on('zoomend', () => { - expect(counts.tileloadstart).to.be(290); - expect(counts.tileunload).to.be(275); - expect(counts.tileload).to.be(290); - expect(grid._container.querySelectorAll('div').length).to.be(16); // 15 + container + expect(counts.tileloadstart).to.equal(290); + expect(counts.tileunload).to.equal(275); + expect(counts.tileload).to.equal(290); + expect(grid._container.querySelectorAll('div').length).to.equal(16); // 15 + container done(); }); @@ -872,9 +872,9 @@ describe('GridLayer', () => { // Date.now() is 1. grid.once('load', () => { - expect(counts.tileloadstart).to.be(16); - expect(counts.tileload).to.be(16); - expect(counts.tileunload).to.be(0); + expect(counts.tileloadstart).to.equal(16); + expect(counts.tileload).to.equal(16); + expect(counts.tileunload).to.equal(0); // Wait for a frame to let _updateOpacity starting. L.Util.requestAnimFrame(() => { @@ -889,13 +889,13 @@ describe('GridLayer', () => { // Since there is no animation requested, // We directly jump to the target position. // => 12 new tiles, total = 16 + 12 = 28 tiles. - expect(counts.tileloadstart).to.be(28); - expect(counts.tileload).to.be(28); + expect(counts.tileloadstart).to.equal(28); + expect(counts.tileload).to.equal(28); // Wait for a frame to let _updateOpacity starting // It will prune the 12 tiles outside the new bounds. L.Util.requestAnimFrame(() => { - expect(counts.tileunload).to.be(12); + expect(counts.tileunload).to.equal(12); done(); }); }); @@ -923,26 +923,26 @@ describe('GridLayer', () => { it('Loads map, moves forth and back by 512 px, keepBuffer = 0', (done) => { grid.once('load', () => { - expect(counts.tileloadstart).to.be(16); - expect(counts.tileload).to.be(16); - expect(counts.tileunload).to.be(0); + expect(counts.tileloadstart).to.equal(16); + expect(counts.tileload).to.equal(16); + expect(counts.tileunload).to.equal(0); grid.once('load', () => { - expect(counts.tileloadstart).to.be(28); - expect(counts.tileload).to.be(28); + expect(counts.tileloadstart).to.equal(28); + expect(counts.tileload).to.equal(28); // Wait for a frame to let _updateOpacity starting // It will prune the 12 tiles outside the new bounds. L.Util.requestAnimFrame(() => { - expect(counts.tileunload).to.be(12); + expect(counts.tileunload).to.equal(12); grid.once('load', () => { - expect(counts.tileloadstart).to.be(40); - expect(counts.tileload).to.be(40); + expect(counts.tileloadstart).to.equal(40); + expect(counts.tileload).to.equal(40); // Wait an extra frame for the tile pruning to happen. L.Util.requestAnimFrame(() => { - expect(counts.tileunload).to.be(24); + expect(counts.tileunload).to.equal(24); done(); }); }); @@ -966,15 +966,15 @@ describe('GridLayer', () => { const spy = sinon.spy(); grid.on('load', () => { - expect(counts.tileloadstart).to.be(16); - expect(counts.tileload).to.be(16); - expect(counts.tileunload).to.be(0); + expect(counts.tileloadstart).to.equal(16); + expect(counts.tileload).to.equal(16); + expect(counts.tileunload).to.equal(0); grid.off('load'); grid.on('load', () => { - expect(counts.tileloadstart).to.be(28); - expect(counts.tileload).to.be(28); - expect(counts.tileunload).to.be(0); + expect(counts.tileloadstart).to.equal(28); + expect(counts.tileload).to.equal(28); + expect(counts.tileunload).to.equal(0); grid.off('load'); grid.addEventListener('load', spy); @@ -982,7 +982,7 @@ describe('GridLayer', () => { map.panBy([-512, -512], {animate: false}); clock.tick(250); - expect(spy.called).to.be(false); + expect(spy.called).to.be.false; done(); }); @@ -1064,16 +1064,16 @@ describe('GridLayer', () => { describe('Sanity checks for infinity', () => { it('Throws error on map center at plus Infinity longitude', () => { expect(() => { - map.setCenter([Infinity, Infinity]); + map.panTo([Infinity, Infinity]); L.gridLayer().addTo(map); - }).to.throwError('Attempted to load an infinite number of tiles'); + }).to.throw('Attempted to load an infinite number of tiles'); }); it('Throws error on map center at minus Infinity longitude', () => { expect(() => { - map.setCenter([-Infinity, -Infinity]); + map.panTo([-Infinity, -Infinity]); L.gridLayer().addTo(map); - }).to.throwError('Attempted to load an infinite number of tiles'); + }).to.throw('Attempted to load an infinite number of tiles'); }); }); @@ -1083,6 +1083,6 @@ describe('GridLayer', () => { const wrapped = sinon.spy(map, 'getZoomScale'); grid._invalidateAll(); grid.redraw(); - expect(wrapped.neverCalledWith(sinon.match.any, null)).to.be(true); + expect(wrapped.neverCalledWith(sinon.match.any, null)).to.be.true; }); }); diff --git a/spec/suites/layer/tile/TileLayerSpec.js b/spec/suites/layer/tile/TileLayerSpec.js index 342d9e386..79ec45d3b 100644 --- a/spec/suites/layer/tile/TileLayerSpec.js +++ b/spec/suites/layer/tile/TileLayerSpec.js @@ -235,10 +235,10 @@ describe('TileLayer', () => { it('Loads 8 kittens zoom 1', (done) => { kittenLayer.on('load', () => { - expect(counts.tileloadstart).to.be(8); - expect(counts.tileload).to.be(8); - expect(counts.tileunload).to.be(0); - expect(kittenLayer._container.querySelectorAll('img').length).to.be(8); + expect(counts.tileloadstart).to.equal(8); + expect(counts.tileload).to.equal(8); + expect(counts.tileunload).to.equal(0); + expect(kittenLayer._container.querySelectorAll('img').length).to.equal(8); done(); }); @@ -252,19 +252,19 @@ describe('TileLayer', () => { const mad = [40.40, -3.7], trd = [63.41, 10.41]; kittenLayer.on('load', () => { - expect(counts.tileloadstart).to.be(12); - expect(counts.tileload).to.be(12); - expect(counts.tileunload).to.be(0); + expect(counts.tileloadstart).to.equal(12); + expect(counts.tileload).to.equal(12); + expect(counts.tileunload).to.equal(0); kittenLayer.off('load'); map.on('zoomend', () => { - expect(counts.tileloadstart).to.be(290); - expect(counts.tileunload).to.be(275); + expect(counts.tileloadstart).to.equal(290); + expect(counts.tileunload).to.equal(275); // image tiles take time, so then might not be fully loaded yet. expect(counts.tileload).to.be.lessThan(counts.tileloadstart + 1); expect(counts.tileload).to.be.greaterThan(counts.tileunload); - expect(kittenLayer._container.querySelectorAll('img').length).to.be(15); + expect(kittenLayer._container.querySelectorAll('img').length).to.equal(15); done(); }); @@ -336,7 +336,7 @@ describe('TileLayer', () => { expect(() => { layer.addTo(simpleMap); - }).to.throwError('No value provided for variable {-y}'); + }).to.throw('No value provided for variable {-y}'); simpleMap.remove(); document.body.removeChild(simplediv); @@ -422,7 +422,7 @@ describe('TileLayer', () => { }).addTo(map); eachImg(layer, (img) => { - expect(img.getAttribute('crossorigin')).to.be(expectedValue); + expect(img.getAttribute('crossorigin')).to.equal(expectedValue); }); }); } @@ -442,8 +442,8 @@ describe('TileLayer', () => { }); kittenLayer.on('load', () => { - expect(kittenLayer.options.maxZoom).to.be(maxZoom); - expect(kittenLayer.options.minZoom).to.be(minZoom); + expect(kittenLayer.options.maxZoom).to.equal(maxZoom); + expect(kittenLayer.options.minZoom).to.equal(minZoom); // reset retina value L.Browser.retina = originalRetina; @@ -468,7 +468,7 @@ describe('TileLayer', () => { kittenLayer.on('load', () => { // zooms should be identical so that we can load tiles for the given zoom level - expect(kittenLayer.options.maxZoom).to.be(kittenLayer.options.minZoom); + expect(kittenLayer.options.maxZoom).to.equal(kittenLayer.options.minZoom); // reset retina value L.Browser.retina = originalRetina; diff --git a/spec/suites/layer/vector/CanvasSpec.js b/spec/suites/layer/vector/CanvasSpec.js index 4893fa847..93e1d165d 100644 --- a/spec/suites/layer/vector/CanvasSpec.js +++ b/spec/suites/layer/vector/CanvasSpec.js @@ -88,7 +88,7 @@ describe('Canvas', () => { const spyMap = sinon.spy(); map.on('mousemove', spyMap); UIEventSimulator.fireAt('mousemove', 151, 151); // empty space - expect(spyMap.calledOnce).to.be.ok(); + expect(spyMap.calledOnce).to.be.true; }); it('should fire preclick before click', () => { @@ -97,7 +97,7 @@ describe('Canvas', () => { layer.on('click', clickSpy); layer.on('preclick', preclickSpy); layer.once('preclick', () => { - expect(clickSpy.called).to.be(false); + expect(clickSpy.called).to.be.false; }); UIEventSimulator.fireAt('click', 50, 50); // Click on the layer. expect(clickSpy.callCount).to.eql(1); @@ -120,9 +120,9 @@ describe('Canvas', () => { // Prosthetic does not fire a click when we down+up, but it real world // browsers would, so let's simulate it. UIEventSimulator.fireAt('click', 70, 60); - expect(downSpy.called).to.be(true); - expect(clickSpy.called).to.be(false); - expect(preclickSpy.called).to.be(false); + expect(downSpy.called).to.be.true; + expect(clickSpy.called).to.be.false; + expect(preclickSpy.called).to.be.false; done(); } }); diff --git a/spec/suites/layer/vector/CircleMarkerSpec.js b/spec/suites/layer/vector/CircleMarkerSpec.js index c3834b89f..4d0040e93 100644 --- a/spec/suites/layer/vector/CircleMarkerSpec.js +++ b/spec/suites/layer/vector/CircleMarkerSpec.js @@ -17,7 +17,7 @@ it('takes that radius', () => { const marker = L.circleMarker([0, 0], {radius: 20}).addTo(map); - expect(marker._radius).to.be(20); + expect(marker._radius).to.equal(20); }); }); @@ -26,7 +26,7 @@ const marker = L.circleMarker([0, 0], {radius: 20}); marker.setRadius(15); marker.addTo(map); - expect(marker._radius).to.be(15); + expect(marker._radius).to.equal(15); }); }); @@ -35,7 +35,7 @@ const marker = L.circleMarker([0, 0], {radius: 20}); marker.addTo(map); marker.setRadius(15); - expect(marker._radius).to.be(15); + expect(marker._radius).to.equal(15); }); }); @@ -44,7 +44,7 @@ const marker = L.circleMarker([0, 0], {radius: 20}); marker.addTo(map); marker.setStyle({radius: 15}); - expect(marker._radius).to.be(15); + expect(marker._radius).to.equal(15); }); }); @@ -53,7 +53,7 @@ const marker = L.circleMarker([0, 0], {radius: 20}); marker.setStyle({radius: 15}); marker.addTo(map); - expect(marker._radius).to.be(15); + expect(marker._radius).to.equal(15); }); }); }); @@ -74,10 +74,10 @@ marker.setLatLng(afterLatLng); - expect(eventArgs).to.not.be(null); - expect(eventArgs.oldLatLng).to.be(beforeLatLng); - expect(eventArgs.latlng).to.be(afterLatLng); - expect(marker.getLatLng()).to.be(afterLatLng); + expect(eventArgs).to.not.equal(null); + expect(eventArgs.oldLatLng).to.equal(beforeLatLng); + expect(eventArgs.latlng).to.equal(afterLatLng); + expect(marker.getLatLng()).to.equal(afterLatLng); }); }); @@ -89,8 +89,8 @@ circlemarker.addTo(map); - expect(circlemarker._containsPoint(point1)).to.be(true); - expect(circlemarker._containsPoint(point2)).to.be(false); + expect(circlemarker._containsPoint(point1)).to.be.true; + expect(circlemarker._containsPoint(point2)).to.be.false; }); }); }); diff --git a/spec/suites/layer/vector/CircleSpec.js b/spec/suites/layer/vector/CircleSpec.js index c7377233a..101701f47 100644 --- a/spec/suites/layer/vector/CircleSpec.js +++ b/spec/suites/layer/vector/CircleSpec.js @@ -21,7 +21,7 @@ describe('Circle', () => { it('throws error if radius is NaN', () => { expect(() => { L.circle([0, 0], NaN); - }).to.throwException('Circle radius cannot be NaN'); + }).to.throw('Circle radius cannot be NaN'); }); }); diff --git a/spec/suites/layer/vector/PathSpec.js b/spec/suites/layer/vector/PathSpec.js index 91d5f261d..4865569d1 100644 --- a/spec/suites/layer/vector/PathSpec.js +++ b/spec/suites/layer/vector/PathSpec.js @@ -51,7 +51,7 @@ describe('Path', () => { const layer = L.polygon([[1, 2], [3, 4], [5, 6]]).addTo(map); layer.on('click', spy); UIEventSimulator.fire('click', layer._path); - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; }); it('propagates click event by default', () => { @@ -63,9 +63,9 @@ describe('Path', () => { layer.on('click', spy2); map.on('click', mapSpy); UIEventSimulator.fire('click', layer._path); - expect(spy.called).to.be.ok(); - expect(spy2.called).to.be.ok(); - expect(mapSpy.called).to.be.ok(); + expect(spy.called).to.be.true; + expect(spy2.called).to.be.true; + expect(mapSpy.called).to.be.true; }); it('can add a layer while being inside a moveend handler', () => { @@ -83,10 +83,10 @@ describe('Path', () => { map.setView([1, 2], 12, {animate: false}); map.panBy([-260, 0], {animate: false}); - expect(polygon._parts.length).to.be(0); + expect(polygon._parts.length).to.equal(0); map.panBy([260, 0], {animate: false}); - expect(polygon._parts.length).to.be(1); + expect(polygon._parts.length).to.equal(1); }); it('it should return tolerance with stroke', () => { diff --git a/spec/suites/layer/vector/PolygonSpec.js b/spec/suites/layer/vector/PolygonSpec.js index ff7f40bac..7c173104b 100644 --- a/spec/suites/layer/vector/PolygonSpec.js +++ b/spec/suites/layer/vector/PolygonSpec.js @@ -16,7 +16,7 @@ describe('Polygon', () => { const polygon = L.polygon(latLngs); - expect(L.LineUtil.isFlat(polygon._latlngs)).to.be(false); + expect(L.LineUtil.isFlat(polygon._latlngs)).to.be.false; expect(polygon.getLatLngs()).to.eql(polygon._latlngs); }); @@ -72,7 +72,7 @@ describe('Polygon', () => { it('can be added to the map when empty', () => { const polygon = L.polygon([]).addTo(map); const isAdded = map.hasLayer(polygon); - expect(isAdded).to.be(true); + expect(isAdded).to.be.true; }); }); @@ -81,13 +81,13 @@ describe('Polygon', () => { it('should return true for a polygon with no latlngs', () => { const layer = L.polygon([]); - expect(layer.isEmpty()).to.be(true); + expect(layer.isEmpty()).to.be.true; }); it('should return false for simple polygon', () => { const latLngs = [[1, 2], [3, 4], [5, 6]]; const layer = L.polygon(latLngs); - expect(layer.isEmpty()).to.be(false); + expect(layer.isEmpty()).to.be.false; }); it('should return false for a multi-polygon', () => { @@ -96,7 +96,7 @@ describe('Polygon', () => { [[[0, 10], [10, 10], [10, 0]], [[2, 3], [2, 4], [3, 4]]] ]; const layer = L.polygon(latLngs); - expect(layer.isEmpty()).to.be(false); + expect(layer.isEmpty()).to.be.false; }); }); @@ -173,7 +173,7 @@ describe('Polygon', () => { ]; const layer = L.polygon(latlngs); layer.getCenter(); - }).to.throwException('Must add layer to map before using getCenter()'); + }).to.throw('Must add layer to map before using getCenter()'); }); it('should compute same center for low and high zoom', () => { @@ -356,7 +356,7 @@ describe('Polygon', () => { polygon.setStyle(style); for (const [prop, expectedValue] of Object.entries(style)) { - expect(polygon.options[prop]).to.be(expectedValue); + expect(polygon.options[prop]).to.equal(expectedValue); } }); }); diff --git a/spec/suites/layer/vector/PolylineSpec.js b/spec/suites/layer/vector/PolylineSpec.js index 62efa7582..ec006498c 100644 --- a/spec/suites/layer/vector/PolylineSpec.js +++ b/spec/suites/layer/vector/PolylineSpec.js @@ -47,7 +47,7 @@ describe('Polyline', () => { it('can be added to the map when empty', () => { const polyline = L.polyline([]).addTo(map); - expect(map.hasLayer(polyline)).to.be(true); + expect(map.hasLayer(polyline)).to.be.true; }); }); @@ -55,13 +55,13 @@ describe('Polyline', () => { describe('#isEmpty', () => { it('should return true for a polyline with no latlngs', () => { const polyline = L.polyline([]); - expect(polyline.isEmpty()).to.be(true); + expect(polyline.isEmpty()).to.be.true; }); it('should return false for simple polyline', () => { const latLngs = [[1, 2], [3, 4]]; const polyline = L.polyline(latLngs); - expect(polyline.isEmpty()).to.be(false); + expect(polyline.isEmpty()).to.be.false; }); it('should return false for multi-polyline', () => { @@ -70,7 +70,7 @@ describe('Polyline', () => { [[11, 12], [13, 14]] ]; const polyline = L.polyline(latLngs); - expect(polyline.isEmpty()).to.be(false); + expect(polyline.isEmpty()).to.be.false; }); }); @@ -146,7 +146,7 @@ describe('Polyline', () => { expect(() => { const polyline = L.polyline([[0, 0], [0, 0.090]]); polyline.getCenter(); - }).to.throwException('Must add layer to map before using getCenter()'); + }).to.throw('Must add layer to map before using getCenter()'); }); it('should compute same center for low and high zoom', () => { @@ -248,7 +248,7 @@ describe('Polyline', () => { polyline.setStyle(style); for (const [prop, expectedValue] of Object.entries(style)) { - expect(polyline.options[prop]).to.be(expectedValue); + expect(polyline.options[prop]).to.equal(expectedValue); } }); }); @@ -264,7 +264,7 @@ describe('Polyline', () => { polyline.setStyle(style); for (const [prop, expectedValue] of Object.entries(style)) { - expect(polyline.options[prop]).to.be(expectedValue); + expect(polyline.options[prop]).to.equal(expectedValue); } }); }); @@ -280,13 +280,13 @@ describe('Polyline', () => { }); map.addLayer(polyline); - expect(polyline.closestLayerPoint(p1)).to.be(null); + expect(polyline.closestLayerPoint(p1)).to.equal(null); polyline.setLatLngs(latlngs); const point = polyline.closestLayerPoint(p1); - expect(point).not.to.be(null); - expect(point.distance).to.not.be(Infinity); - expect(point.distance).to.not.be(NaN); + expect(point).not.to.equal(null); + expect(point.distance).to.not.equal(Infinity); + expect(point.distance).to.not.equal(NaN); const point2 = polyline.closestLayerPoint(p2); diff --git a/spec/suites/layer/vector/RectangleSpec.js b/spec/suites/layer/vector/RectangleSpec.js index 85b519643..b99db887a 100644 --- a/spec/suites/layer/vector/RectangleSpec.js +++ b/spec/suites/layer/vector/RectangleSpec.js @@ -16,7 +16,7 @@ describe('Rectangle', () => { const rectangle = L.rectangle(latLngs); - expect(L.LineUtil.isFlat(rectangle._latlngs)).to.be(false); + expect(L.LineUtil.isFlat(rectangle._latlngs)).to.be.false; expect(rectangle.getLatLngs()).to.eql(rectangle._latlngs); }); @@ -37,7 +37,7 @@ describe('Rectangle', () => { // Throws error due to undefined lat expect(() => { L.rectangle([]); - }).to.throwException(); + }).to.throw(); }); it('can be initialized with extending bounds', () => { @@ -119,7 +119,7 @@ describe('Rectangle', () => { map.setView([0, 0], 6); expect(() => { L.polygon([[[2, 3], [4, 5]]]).addTo(map).bindTooltip('test'); - }).to.not.throwException(); + }).to.not.throw(); }); }); }); diff --git a/spec/suites/map/MapSpec.js b/spec/suites/map/MapSpec.js index 84c85025c..cdd9448fa 100644 --- a/spec/suites/map/MapSpec.js +++ b/spec/suites/map/MapSpec.js @@ -23,33 +23,33 @@ describe('Map', () => { map.on('unload', spy); map.remove(); map = null; - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; }); it('fires no unload event if not loaded', () => { map.on('unload', spy); map.remove(); map = null; - expect(spy.called).not.to.be.ok(); + expect(spy.called).not.to.be.true; }); describe('corner case checking', () => { it('throws an exception upon reinitialization', () => { - expect(L.map).withArgs(container) - .to.throwException('Map container is already initialized.'); + expect(() => L.map(container)) + .to.throw('Map container is already initialized.'); }); it('throws an exception if a container is not found', () => { - expect(L.map).withArgs('nonexistentdivelement') - .to.throwException('Map container not found.'); + expect(() => L.map('nonexistentdivelement')) + .to.throw('Map container not found.'); }); }); it('undefines container._leaflet_id', () => { - expect(container._leaflet_id).to.be.ok(); + expect(container._leaflet_id).to.be.ok; map.remove(); map = null; - expect(container._leaflet_id).to.be(undefined); + expect(container._leaflet_id).to.equal(undefined); }); it('unbinds events', () => { @@ -57,7 +57,7 @@ describe('Map', () => { map.setView([0, 0], 0); map.on('click', spy); UIEventSimulator.fire('click', container); - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; // actual test spy = sinon.spy(); @@ -71,7 +71,7 @@ describe('Map', () => { UIEventSimulator.fire('mouseup', container); UIEventSimulator.fire('mousemove', container); - expect(spy.called).to.not.be.ok(); + expect(spy.called).to.be.false; }); it('does not throw if removed during animation', () => { @@ -92,7 +92,7 @@ describe('Map', () => { expect(() => { map.remove(); - }).to.throwException(); + }).to.throw(); map2.remove(); // clean up map = null; @@ -103,7 +103,7 @@ describe('Map', () => { it('throws if not set before', () => { expect(() => { map.getCenter(); - }).to.throwError(); + }).to.throw(); }); it('returns a precise center when zoomed in after being set (#426)', () => { @@ -133,10 +133,10 @@ describe('Map', () => { it('calls the callback when the map is loaded', () => { const spy = sinon.spy(); map.whenReady(spy); - expect(spy.called).to.not.be.ok(); + expect(spy.called).to.be.false; map.setView([0, 0], 1); - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; }); }); @@ -146,30 +146,30 @@ describe('Map', () => { map.setView([0, 0], 1); map.whenReady(spy); - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; }); }); }); describe('#setView', () => { it('sets the view of the map', () => { - expect(map.setView([51.505, -0.09], 13)).to.be(map); - expect(map.getZoom()).to.be(13); + expect(map.setView([51.505, -0.09], 13)).to.equal(map); + expect(map.getZoom()).to.equal(13); expect(map.getCenter().distanceTo([51.505, -0.09])).to.be.lessThan(5); }); it('can be passed without a zoom specified', () => { map.setZoom(13); - expect(map.setView([51.605, -0.11])).to.be(map); - expect(map.getZoom()).to.be(13); + expect(map.setView([51.605, -0.11])).to.equal(map); + expect(map.getZoom()).to.equal(13); expect(map.getCenter().distanceTo([51.605, -0.11])).to.be.lessThan(5); }); it('limits initial zoom when no zoom specified', () => { map.options.maxZoom = 20; map.setZoom(100); - expect(map.setView([51.605, -0.11])).to.be(map); - expect(map.getZoom()).to.be(20); + expect(map.setView([51.605, -0.11])).to.equal(map); + expect(map.getZoom()).to.equal(20); expect(map.getCenter().distanceTo([51.605, -0.11])).to.be.lessThan(5); }); @@ -177,7 +177,7 @@ describe('Map', () => { const map = L.map(document.createElement('div'), {zoom: 13}); const zoom = map.setView([51.605, -0.11]).getZoom(); map.remove(); // clean up - expect(zoom).to.be(13); + expect(zoom).to.equal(13); }); it('passes duration option to panBy', () => { @@ -211,7 +211,7 @@ describe('Map', () => { map.options.maxZoom = 10; map.setZoom(15); - expect(map.getZoom()).to.be(15); + expect(map.getZoom()).to.equal(15); }); it('overwrites zoom passed as map option', () => { @@ -220,7 +220,7 @@ describe('Map', () => { const zoom = map2.getZoom(); map2.remove(); // clean up - expect(zoom).to.be(15); + expect(zoom).to.equal(15); }); }); @@ -233,7 +233,7 @@ describe('Map', () => { map.options.maxZoom = 10; map.setZoom(15); - expect(map.getZoom()).to.be(10); + expect(map.getZoom()).to.equal(10); }); it('does not overwrite zoom passed as map option', () => { @@ -243,7 +243,7 @@ describe('Map', () => { const zoom = map2.getZoom(); map2.remove(); // clean up - expect(zoom).to.be(13); + expect(zoom).to.equal(13); }); }); @@ -251,27 +251,27 @@ describe('Map', () => { map.zoom = 10; map.setZoom(15); - expect(map.getZoom()).to.be(15); + expect(map.getZoom()).to.equal(15); }); it('can be passed without a zoom specified and keep previous zoom', () => { const prevZoom = map.getZoom(); map.setZoom(); - expect(map.getZoom()).to.be(prevZoom); + expect(map.getZoom()).to.equal(prevZoom); }); it('can be passed with a zoom level of undefined and keep previous zoom', () => { const prevZoom = map.getZoom(); map.setZoom(undefined); - expect(map.getZoom()).to.be(prevZoom); + expect(map.getZoom()).to.equal(prevZoom); }); it('can be passed with a zoom level of infinity', () => { map.setZoom(Infinity); - expect(map.getZoom()).to.be(Infinity); + expect(map.getZoom()).to.equal(Infinity); }); }); @@ -280,7 +280,7 @@ describe('Map', () => { map.setView([50, 50], 10); map.stop = sinon.spy(); map.panTo([10, 10], 10); - expect(map.stop.called).to.not.be.ok(); + expect(map.stop.called).to.be.false; }); it('stops the execution of the flyTo animation', () => { @@ -288,7 +288,7 @@ describe('Map', () => { map.stop = sinon.spy(); map.flyTo([51.505, -0.09]); map.stop(); - expect(map.stop.calledOnce).to.be.ok(); + expect(map.stop.calledOnce).to.be.true; }); it('stops the execution of the panTo animation', () => { @@ -296,7 +296,7 @@ describe('Map', () => { map.stop = sinon.spy(); map.panTo([51.505, -0.09]); map.stop(); - expect(map.stop.calledOnce).to.be.ok(); + expect(map.stop.calledOnce).to.be.true; }); }); @@ -309,51 +309,51 @@ describe('Map', () => { const point = L.point(5, 5); map.setZoomAround(point, 5); - expect(map.getBounds().contains(map.options.crs.pointToLatLng(point, 5))).to.be(false); + expect(map.getBounds().contains(map.options.crs.pointToLatLng(point, 5))).to.be.false; }); it('pass Point and change pixel in view at high zoom', () => { const point = L.point(5, 5); map.setZoomAround(point, 18); - expect(map.getBounds().contains(map.options.crs.pointToLatLng(point, 18))).to.be(false); + expect(map.getBounds().contains(map.options.crs.pointToLatLng(point, 18))).to.be.false; }); it('pass latLng and keep specified latLng in view', () => { map.setZoomAround([5, 5], 5); - expect(map.getBounds().contains([5, 5])).to.be(true); + expect(map.getBounds().contains([5, 5])).to.be.true; }); it('pass latLng and keep specified latLng in view at high zoom fails', () => { map.setZoomAround([5, 5], 12); // usually fails around 9 zoom level - expect(map.getBounds().contains([5, 5])).to.be(false); + expect(map.getBounds().contains([5, 5])).to.be.false; }); it('throws if map is not loaded', () => { const unloadedMap = L.map(document.createElement('div')); - expect(unloadedMap.setZoomAround).withArgs([5, 5], 4).to.throwException(); + expect(() => unloadedMap.setZoomAround([5, 5], 4)).to.throw(); }); it('throws if zoom is empty', () => { - expect(map.setZoomAround).withArgs([5, 5]).to.throwException(); + expect(() => map.setZoomAround([5, 5])).to.throw(); }); it('throws if zoom is undefined', () => { - expect(map.setZoomAround).withArgs([5, 5], undefined).to.throwException(); + expect(() => map.setZoomAround([5, 5], undefined)).to.throw(); }); it('throws if latLng is undefined', () => { - expect(map.setZoomAround).withArgs([undefined, undefined], 4).to.throwException(); + expect(() => map.setZoomAround([undefined, undefined], 4)).to.throw(); }); it('does not throw if latLng is infinity', () => { map.setView([5, 5]); map.setZoomAround([Infinity, Infinity], 4); - expect(map.getCenter()).to.be.ok(); + expect(map.getCenter()).to.be.ok; }); }); @@ -457,7 +457,7 @@ describe('Map', () => { expect(pixelCenter.x).to.eql(pixelInit.x); expect(pixelCenter.y).not.to.eql(pixelInit.y); // the view is inside the bounds - expect(bounds.contains(map.getBounds())).to.be(true); + expect(bounds.contains(map.getBounds())).to.be.true; }); it('remove listeners when called without arguments', (done) => { @@ -469,7 +469,7 @@ describe('Map', () => { // set view outside const center = L.latLng([0, 0]); map.once('moveend', () => { - expect(center.equals(map.getCenter())).to.be(true); + expect(center.equals(map.getCenter())).to.be.true; done(); }); map.setView(center, 18, {animate: false}); @@ -481,7 +481,7 @@ describe('Map', () => { const bounds = L.latLngBounds([51.5, -0.05], [51.55, 0.05]); map.off = sinon.spy(); map.setMaxBounds(bounds, {animate: false}); - expect(map.off.called).not.to.be.ok(); + expect(map.off.called).not.to.be.true; }); it('avoid subpixel / floating point related wobble (#8532)', (done) => { @@ -493,7 +493,7 @@ describe('Map', () => { // Unfortunately this is one of those tests where we need to allow at least one animation tick setTimeout(() => { - expect(spy.called).to.be(false); + expect(spy.called).to.be.false; done(); }, 300); }); @@ -526,7 +526,7 @@ describe('Map', () => { expect(map.getMinZoom()).to.eql(3); expect(map.getMaxZoom()).to.eql(7); - expect(spy.called).to.not.be.ok(); + expect(spy.called).to.be.false; }); }); @@ -547,7 +547,7 @@ describe('Map', () => { expect(map.getZoom()).to.eql(4); expect(map.getMinZoom()).to.eql(2); expect(map.getMaxZoom()).to.eql(7); - expect(spy.calledTwice).to.be.ok(); + expect(spy.calledTwice).to.be.true; const postSpy = sinon.spy(); map.on('zoomlevelschange', postSpy); @@ -555,7 +555,7 @@ describe('Map', () => { map.setMinZoom(2); map.setMaxZoom(7); - expect(postSpy.called).to.not.be.ok(); + expect(postSpy.called).to.be.false; }); it('fire \'zoomlevelschange\' but do not change zoom if max/min zoom is less/more current zoom', () => { @@ -565,7 +565,7 @@ describe('Map', () => { expect(map.getZoom()).to.eql(4); expect(map.getMinZoom()).to.eql(2); expect(map.getMaxZoom()).to.eql(7); - expect(spy.calledTwice).to.be.ok(); + expect(spy.calledTwice).to.be.true; }); }); @@ -573,26 +573,26 @@ describe('Map', () => { map.setMinZoom(undefined); map.setMaxZoom(); - expect(map.options.minZoom).to.be(undefined); - expect(map.options.maxZoom).to.be(undefined); + expect(map.options.minZoom).to.equal(undefined); + expect(map.options.maxZoom).to.equal(undefined); - expect(map.getMinZoom()).to.be(0); // min layer zoom used instead - expect(map.getMaxZoom()).to.be(Infinity); // max layer zoom used instead + expect(map.getMinZoom()).to.equal(0); // min layer zoom used instead + expect(map.getMaxZoom()).to.equal(Infinity); // max layer zoom used instead }); it('allow infinity to be passed', () => { map.setMinZoom(Infinity); map.setMaxZoom(Infinity); - expect(map.getMinZoom()).to.be(Infinity); - expect(map.getMaxZoom()).to.be(Infinity); + expect(map.getMinZoom()).to.equal(Infinity); + expect(map.getMaxZoom()).to.equal(Infinity); }); }); describe('#getMinZoom and #getMaxZoom', () => { describe('#getMinZoom', () => { it('returns 0 if not set by Map options or TileLayer options', () => { - expect(map.getMinZoom()).to.be(0); + expect(map.getMinZoom()).to.equal(0); }); }); @@ -605,8 +605,8 @@ describe('Map', () => { L.tileLayer('', {minZoom: 6, maxZoom: 17}).addTo(map); L.tileLayer('', {minZoom: 0, maxZoom: 22}).addTo(map); - expect(map.getMinZoom()).to.be(2); - expect(map.getMaxZoom()).to.be(20); + expect(map.getMinZoom()).to.equal(2); + expect(map.getMaxZoom()).to.equal(20); }); it('layer minZoom overrides map zoom if map has no minZoom set and layer minZoom is bigger than map zoom', () => { @@ -616,7 +616,7 @@ describe('Map', () => { L.tileLayer('', {minZoom: 15}).addTo(map); - expect(map.getMinZoom()).to.be(15); + expect(map.getMinZoom()).to.equal(15); }); it('layer maxZoom overrides map zoom if map has no maxZoom set and layer maxZoom is smaller than map zoom', () => { @@ -626,7 +626,7 @@ describe('Map', () => { L.tileLayer('', {maxZoom: 15}).addTo(map); - expect(map.getMaxZoom()).to.be(15); + expect(map.getMaxZoom()).to.equal(15); }); it('map\'s zoom is adjusted to layer\'s minZoom even if initialized with smaller value', () => { @@ -636,7 +636,7 @@ describe('Map', () => { L.tileLayer('', {minZoom: 15}).addTo(map); - expect(map.getZoom()).to.be(15); + expect(map.getZoom()).to.equal(15); }); it('map\'s zoom is adjusted to layer\'s maxZoom even if initialized with larger value', () => { @@ -646,7 +646,7 @@ describe('Map', () => { L.tileLayer('', {maxZoom: 15}).addTo(map); - expect(map.getZoom()).to.be(15); + expect(map.getZoom()).to.equal(15); }); }); @@ -695,12 +695,12 @@ describe('Map', () => { UIEventSimulator.fire('click', window); UIEventSimulator.fire('click', window); - expect(spy.called).not.to.be.ok(); + expect(spy.called).not.to.be.true; map.clickHandler.enable(); UIEventSimulator.fire('click', window); - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; map.clickHandler.disable(); @@ -735,7 +735,7 @@ describe('Map', () => { map.createPane('overlayPane'); - expect(map.getPane('overlayPane')).to.not.be(overlayPane); + expect(map.getPane('overlayPane')).to.not.equal(overlayPane); }); }); @@ -773,7 +773,7 @@ describe('Map', () => { describe('#getContainer', () => { it('return container object', () => { - expect(map.getContainer()._leaflet_id).to.be.ok(); + expect(map.getContainer()._leaflet_id).to.be.ok; }); it('return undefined on empty container id', () => { @@ -812,7 +812,7 @@ describe('Map', () => { }); it('return clone of size object from map', () => { - expect(map.getSize()).to.not.be(map._size); + expect(map.getSize()).to.not.equal(map._size); }); it('return previous size on empty map', () => { @@ -850,7 +850,7 @@ describe('Map', () => { const container2 = createContainer(); const map2 = L.map(container2); - expect(map2.getPixelBounds).to.throwException(); + expect(map2.getPixelBounds).to.throw(); map2.remove(); // clean up }); @@ -881,7 +881,7 @@ describe('Map', () => { const container2 = createContainer(); const map2 = L.map(container2); - expect(map2.getPixelOrigin).to.throwException(); + expect(map2.getPixelOrigin).to.throw(); map2.remove(); // clean up }); @@ -924,12 +924,12 @@ describe('Map', () => { describe('#hasLayer', () => { it('throws when called without proper argument', () => { const hasLayer = map.hasLayer.bind(map); - expect(hasLayer).withArgs(new L.Layer()).to.not.throwException(); // control case + expect(() => hasLayer(new L.Layer())).to.not.throw(); // control case - expect(hasLayer).withArgs(undefined).to.throwException(); - expect(hasLayer).withArgs(null).to.throwException(); - expect(hasLayer).withArgs(false).to.throwException(); - expect(hasLayer).to.throwException(); + expect(() => hasLayer(undefined)).to.throw(); + expect(() => hasLayer(null)).to.throw(); + expect(() => hasLayer(false)).to.throw(); + expect(() => hasLayer()).to.throw(); }); }); @@ -945,15 +945,15 @@ describe('Map', () => { const layer = layerSpy(); map.setView([0, 0], 0); map.addLayer(layer); - expect(layer.onAdd.called).to.be.ok(); + expect(layer.onAdd.called).to.be.true; }); it('calls layer.onAdd when the map becomes ready', () => { const layer = layerSpy(); map.addLayer(layer); - expect(layer.onAdd.called).not.to.be.ok(); + expect(layer.onAdd.called).not.to.be.true; map.setView([0, 0], 0); - expect(layer.onAdd.called).to.be.ok(); + expect(layer.onAdd.called).to.be.true; }); it('does not call layer.onAdd if the layer is removed before the map becomes ready', () => { @@ -961,7 +961,7 @@ describe('Map', () => { map.addLayer(layer); map.removeLayer(layer); map.setView([0, 0], 0); - expect(layer.onAdd.called).not.to.be.ok(); + expect(layer.onAdd.called).not.to.be.true; }); it('fires a layeradd event immediately if the map is ready', () => { @@ -970,7 +970,7 @@ describe('Map', () => { map.on('layeradd', spy); map.setView([0, 0], 0); map.addLayer(layer); - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; }); it('fires a layeradd event when the map becomes ready', () => { @@ -978,9 +978,9 @@ describe('Map', () => { spy = sinon.spy(); map.on('layeradd', spy); map.addLayer(layer); - expect(spy.called).not.to.be.ok(); + expect(spy.called).not.to.be.true; map.setView([0, 0], 0); - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; }); it('does not fire a layeradd event if the layer is removed before the map becomes ready', () => { @@ -990,13 +990,13 @@ describe('Map', () => { map.addLayer(layer); map.removeLayer(layer); map.setView([0, 0], 0); - expect(spy.called).not.to.be.ok(); + expect(spy.called).not.to.be.true; }); it('adds the layer before firing layeradd', (done) => { const layer = layerSpy(); map.on('layeradd', () => { - expect(map.hasLayer(layer)).to.be.ok(); + expect(map.hasLayer(layer)).to.be.true; done(); }); map.setView([0, 0], 0); @@ -1007,16 +1007,16 @@ describe('Map', () => { const control = L.control.layers(); expect(() => { map.addLayer(control); - }).to.throwError(); + }).to.throw(); }); describe('When the first layer is added to a map', () => { it('fires a zoomlevelschange event', () => { const spy = sinon.spy(); map.on('zoomlevelschange', spy); - expect(spy.called).not.to.be.ok(); + expect(spy.called).not.to.be.true; L.tileLayer('', {minZoom: 0, maxZoom: 10}).addTo(map); - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; }); }); @@ -1025,9 +1025,9 @@ describe('Map', () => { const spy = sinon.spy(); L.tileLayer('', {minZoom: 0, maxZoom: 10}).addTo(map); map.on('zoomlevelschange', spy); - expect(spy.called).not.to.be.ok(); + expect(spy.called).not.to.be.true; L.tileLayer('', {minZoom: 0, maxZoom: 15}).addTo(map); - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; }); }); @@ -1036,11 +1036,11 @@ describe('Map', () => { const spy = sinon.spy(); L.tileLayer('', {minZoom: 0, maxZoom: 10}).addTo(map); map.on('zoomlevelschange', spy); - expect(spy.called).not.to.be.ok(); + expect(spy.called).not.to.be.true; L.tileLayer('', {minZoom: 0, maxZoom: 10}).addTo(map); - expect(spy.called).not.to.be.ok(); + expect(spy.called).not.to.be.true; L.tileLayer('', {minZoom: 0, maxZoom: 5}).addTo(map); - expect(spy.called).not.to.be.ok(); + expect(spy.called).not.to.be.true; }); }); }); @@ -1051,21 +1051,21 @@ describe('Map', () => { map.setView([0, 0], 0); map.addLayer(layer); map.removeLayer(layer); - expect(layer.onRemove.called).to.be.ok(); + expect(layer.onRemove.called).to.be.true; }); it('does not call layer.onRemove if the layer was not added', () => { const layer = layerSpy(); map.setView([0, 0], 0); map.removeLayer(layer); - expect(layer.onRemove.called).not.to.be.ok(); + expect(layer.onRemove.called).not.to.be.true; }); it('does not call layer.onRemove if the map is not ready', () => { const layer = layerSpy(); map.addLayer(layer); map.removeLayer(layer); - expect(layer.onRemove.called).not.to.be.ok(); + expect(layer.onRemove.called).not.to.be.true; }); it('fires a layerremove event if the map is ready', () => { @@ -1075,7 +1075,7 @@ describe('Map', () => { map.setView([0, 0], 0); map.addLayer(layer); map.removeLayer(layer); - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; }); it('does not fire a layerremove if the layer was not added', () => { @@ -1084,7 +1084,7 @@ describe('Map', () => { map.on('layerremove', spy); map.setView([0, 0], 0); map.removeLayer(layer); - expect(spy.called).not.to.be.ok(); + expect(spy.called).not.to.be.true; }); it('does not fire a layerremove if the map is not ready', () => { @@ -1093,13 +1093,13 @@ describe('Map', () => { map.on('layerremove', spy); map.addLayer(layer); map.removeLayer(layer); - expect(spy.called).not.to.be.ok(); + expect(spy.called).not.to.be.true; }); it('removes the layer before firing layerremove', (done) => { const layer = layerSpy(); map.on('layerremove', () => { - expect(map.hasLayer(layer)).not.to.be.ok(); + expect(map.hasLayer(layer)).not.to.be.true; done(); }); map.setView([0, 0], 0); @@ -1127,9 +1127,9 @@ describe('Map', () => { const tl = L.tileLayer('', {minZoom: 0, maxZoom: 10}).addTo(map); map.on('zoomlevelschange', spy); - expect(spy.called).not.to.be.ok(); + expect(spy.called).not.to.be.true; map.removeLayer(tl); - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; }); }); @@ -1141,9 +1141,9 @@ describe('Map', () => { t2 = L.tileLayer('', {minZoom: 0, maxZoom: 15}).addTo(map); map.on('zoomlevelschange', spy); - expect(spy.called).to.not.be.ok(); + expect(spy.called).to.be.false; map.removeLayer(t2); - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; }); }); @@ -1157,18 +1157,18 @@ describe('Map', () => { map.on('zoomlevelschange', spy); map.removeLayer(t2); - expect(spy.called).to.not.be.ok(); + expect(spy.called).to.be.false; map.removeLayer(t3); - expect(spy.called).to.not.be.ok(); + expect(spy.called).to.be.false; map.removeLayer(t1); - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; }); }); }); describe('#eachLayer', () => { it('returns self', () => { - expect(map.eachLayer(L.Util.falseFn)).to.be(map); + expect(map.eachLayer(L.Util.falseFn)).to.equal(map); }); it('calls the provided function for each layer', () => { @@ -1189,7 +1189,7 @@ describe('Map', () => { map.eachLayer(spy, map); - expect(spy.alwaysCalledOn(map)).to.be.ok(); + expect(spy.alwaysCalledOn(map)).to.be.true; }); }); @@ -1212,29 +1212,29 @@ describe('Map', () => { it('pans by the right amount when growing in 1px increments', () => { container.style.width = `${origWidth + 1}px`; map.invalidateSize(); - expect(map._getMapPanePos().x).to.be(1); + expect(map._getMapPanePos().x).to.equal(1); container.style.width = `${origWidth + 2}px`; map.invalidateSize(); - expect(map._getMapPanePos().x).to.be(1); + expect(map._getMapPanePos().x).to.equal(1); container.style.width = `${origWidth + 3}px`; map.invalidateSize(); - expect(map._getMapPanePos().x).to.be(2); + expect(map._getMapPanePos().x).to.equal(2); }); it('pans by the right amount when shrinking in 1px increments', () => { container.style.width = `${origWidth - 1}px`; map.invalidateSize(); - expect(map._getMapPanePos().x).to.be(0); + expect(map._getMapPanePos().x).to.equal(0); container.style.width = `${origWidth - 2}px`; map.invalidateSize(); - expect(map._getMapPanePos().x).to.be(-1); + expect(map._getMapPanePos().x).to.equal(-1); container.style.width = `${origWidth - 3}px`; map.invalidateSize(); - expect(map._getMapPanePos().x).to.be(-1); + expect(map._getMapPanePos().x).to.equal(-1); }); it('pans back to the original position after growing by an odd size and back', () => { @@ -1244,7 +1244,7 @@ describe('Map', () => { container.style.width = `${origWidth}px`; map.invalidateSize(); - expect(map._getMapPanePos().x).to.be(0); + expect(map._getMapPanePos().x).to.equal(0); }); it('emits no move event if the size has not changed', () => { @@ -1253,7 +1253,7 @@ describe('Map', () => { map.invalidateSize(); - expect(spy.called).not.to.be.ok(); + expect(spy.called).not.to.be.true; }); it('emits a move event if the size has changed', () => { @@ -1263,7 +1263,7 @@ describe('Map', () => { container.style.width = `${origWidth + 5}px`; map.invalidateSize(); - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; }); it('emits a moveend event if the size has changed', () => { @@ -1273,7 +1273,7 @@ describe('Map', () => { container.style.width = `${origWidth + 5}px`; map.invalidateSize(); - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; }); it('debounces the moveend event if the debounceMoveend option is given', () => { @@ -1283,11 +1283,11 @@ describe('Map', () => { container.style.width = `${origWidth + 5}px`; map.invalidateSize({debounceMoveend: true}); - expect(spy.called).not.to.be.ok(); + expect(spy.called).not.to.be.true; clock.tick(200); - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; }); it('correctly adjusts for new container size when view is set during map initialization (#6165)', () => { @@ -1324,12 +1324,12 @@ describe('Map', () => { const spy = sinon.spy(); map.on('resize', spy); - expect(spy.called).to.not.be.ok(); + expect(spy.called).to.be.false; map.getContainer().style.width = '200px'; map.on('resize', () => { - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; done(); }); }); @@ -1350,12 +1350,12 @@ describe('Map', () => { const spy = sinon.spy(); map.invalidateSize = spy; - expect(spy.called).to.not.be.ok(); + expect(spy.called).to.be.false; map.getContainer().style.width = '200px'; setTimeout(() => { - expect(spy.called).to.not.be.ok(); + expect(spy.called).to.be.false; done(); // we need the 10 ms to be sure that the ResizeObserver is not triggered }, 10); @@ -1367,12 +1367,12 @@ describe('Map', () => { const spy = sinon.spy(); map.invalidateSize = spy; - expect(spy.called).to.not.be.ok(); + expect(spy.called).to.be.false; map.getContainer().style.width = '200px'; setTimeout(() => { - expect(spy.called).to.not.be.ok(); + expect(spy.called).to.be.false; // make sure afterEach works correctly map = L.map(container); @@ -1544,7 +1544,7 @@ describe('Map', () => { it('throws an error with invalid bounds', () => { expect(() => { map.fitBounds(NaN); - }).to.throwError(); + }).to.throw(); }); it('Fits to same scale and zoom', (done) => { @@ -1602,16 +1602,16 @@ describe('Map', () => { it('Snaps to a number after adding tile layer', () => { map.addLayer(L.tileLayer('')); - expect(map.getZoom()).to.be(undefined); + expect(map.getZoom()).to.equal(undefined); map.fitBounds(bounds); - expect(map.getZoom()).to.be(2); + expect(map.getZoom()).to.equal(2); }); it('Snaps to a number after adding marker', () => { map.addLayer(L.marker(center)); - expect(map.getZoom()).to.be(undefined); + expect(map.getZoom()).to.equal(undefined); map.fitBounds(bounds); - expect(map.getZoom()).to.be(2); + expect(map.getZoom()).to.equal(2); }); }); @@ -1694,7 +1694,7 @@ describe('Map', () => { it('pans on both X and Y axes when the target is outside of the view area and both the point\'s coords are outside the bounds', () => { const p = map.unproject(tlPix.subtract([200, 200])); map.panInside(p, {animate: false}); - expect(map.getBounds().contains(p)).to.be(true); + expect(map.getBounds().contains(p)).to.be.true; expect(map.getCenter().lng).to.not.eql(center.lng); expect(map.getCenter().lat).to.not.eql(center.lat); }); @@ -1702,7 +1702,7 @@ describe('Map', () => { it('pans only on the Y axis when the target\'s X coord is within bounds but the Y is not', () => { const p = L.latLng(tl.lat + 5, tl.lng); map.panInside(p, {animate: false}); - expect(map.getBounds().contains(p)).to.be(true); + expect(map.getBounds().contains(p)).to.be.true; const dx = Math.abs(map.getCenter().lng - center.lng); expect(dx).to.be.lessThan(1.0E-9); expect(map.getCenter().lat).to.not.eql(center.lat); @@ -1711,7 +1711,7 @@ describe('Map', () => { it('pans only on the X axis when the target\'s Y coord is within bounds but the X is not', () => { const p = L.latLng(tl.lat, tl.lng - 5); map.panInside(p, 0, {animate: false}); - expect(map.getBounds().contains(p)).to.be(true); + expect(map.getBounds().contains(p)).to.be.true; expect(map.getCenter().lng).to.not.eql(center.lng); const dy = map.getCenter().lat - center.lat; expect(dy).to.be.lessThan(1.0E-9); @@ -1727,7 +1727,7 @@ describe('Map', () => { map.panInside(map.unproject(target), {paddingBottomRight: [0, padding.y], animate: false}); const offset = map.project(map.getCenter()).subtract(oldCenter); // distance moved during the pan const result = paddingOffset.add(targetOffset).subtract(offset); - expect(result.trunc()).to.eql(L.point(0, 0)); + expect(result.trunc().equals(L.point(0, 0))).to.be.true; }); }); @@ -1741,7 +1741,7 @@ describe('Map', () => { map.on('mousemove', spy); const layer = L.polygon([[1, 2], [3, 4], [5, 6]]).addTo(map); UIEventSimulator.fire('mousemove', layer._path); - expect(spy.calledOnce).to.be.ok(); + expect(spy.calledOnce).to.be.true; }); it('DOM events propagate from marker to map', () => { @@ -1749,7 +1749,7 @@ describe('Map', () => { map.on('mousemove', spy); const layer = L.marker([1, 2]).addTo(map); UIEventSimulator.fire('mousemove', layer._icon); - expect(spy.calledOnce).to.be.ok(); + expect(spy.calledOnce).to.be.true; }); it('DOM events fired on marker can be cancelled before being caught by the map', () => { @@ -1759,8 +1759,8 @@ describe('Map', () => { const layer = L.marker([1, 2]).addTo(map); layer.on('mousemove', L.DomEvent.stopPropagation).on('mousemove', layerSpy); UIEventSimulator.fire('mousemove', layer._icon); - expect(layerSpy.calledOnce).to.be.ok(); - expect(mapSpy.called).not.to.be.ok(); + expect(layerSpy.calledOnce).to.be.true; + expect(mapSpy.called).not.to.be.true; }); it('DOM events fired on polygon can be cancelled before being caught by the map', () => { @@ -1770,8 +1770,8 @@ describe('Map', () => { const layer = L.polygon([[1, 2], [3, 4], [5, 6]]).addTo(map); layer.on('mousemove', L.DomEvent.stopPropagation).on('mousemove', layerSpy); UIEventSimulator.fire('mousemove', layer._path); - expect(layerSpy.calledOnce).to.be.ok(); - expect(mapSpy.called).not.to.be.ok(); + expect(layerSpy.calledOnce).to.be.true; + expect(mapSpy.called).not.to.be.true; }); it('mouseout is forwarded if fired on the original target', () => { @@ -1784,9 +1784,9 @@ describe('Map', () => { layer.on('mouseout', layerSpy); other.on('mouseout', otherSpy); UIEventSimulator.fire('mouseout', layer._path, {relatedTarget: container}); - expect(mapSpy.called).not.to.be.ok(); - expect(otherSpy.called).not.to.be.ok(); - expect(layerSpy.calledOnce).to.be.ok(); + expect(mapSpy.called).not.to.be.true; + expect(otherSpy.called).not.to.be.true; + expect(layerSpy.calledOnce).to.be.true; }); it('mouseout is forwarded when using a DivIcon', () => { @@ -1800,8 +1800,8 @@ describe('Map', () => { map.on('mouseout', mapSpy); layer.on('mouseout', layerSpy); UIEventSimulator.fire('mouseout', layer._icon, {relatedTarget: container}); - expect(mapSpy.called).not.to.be.ok(); - expect(layerSpy.calledOnce).to.be.ok(); + expect(mapSpy.called).not.to.be.true; + expect(layerSpy.calledOnce).to.be.true; }); it('mouseout is not forwarded if relatedTarget is a target\'s child', () => { @@ -1816,8 +1816,8 @@ describe('Map', () => { map.on('mouseout', mapSpy); layer.on('mouseout', layerSpy); UIEventSimulator.fire('mouseout', layer._icon, {relatedTarget: child}); - expect(mapSpy.called).not.to.be.ok(); - expect(layerSpy.called).not.to.be.ok(); + expect(mapSpy.called).not.to.be.true; + expect(layerSpy.called).not.to.be.true; }); it('mouseout is not forwarded if fired on target\'s child', () => { @@ -1832,8 +1832,8 @@ describe('Map', () => { map.on('mouseout', mapSpy); layer.on('mouseout', layerSpy); UIEventSimulator.fire('mouseout', child, {relatedTarget: layer._icon}); - expect(mapSpy.called).not.to.be.ok(); - expect(layerSpy.called).not.to.be.ok(); + expect(mapSpy.called).not.to.be.true; + expect(layerSpy.called).not.to.be.true; }); it('mouseout is not forwarded to layers if fired on the map', () => { @@ -1846,9 +1846,9 @@ describe('Map', () => { layer.on('mouseout', layerSpy); other.on('mouseout', otherSpy); UIEventSimulator.fire('mouseout', container); - expect(otherSpy.called).not.to.be.ok(); - expect(layerSpy.called).not.to.be.ok(); - expect(mapSpy.calledOnce).to.be.ok(); + expect(otherSpy.called).not.to.be.true; + expect(layerSpy.called).not.to.be.true; + expect(mapSpy.calledOnce).to.be.true; }); it('preclick is fired before click on marker and map', () => { @@ -1856,19 +1856,19 @@ describe('Map', () => { const layer = L.marker([1, 2], {bubblingMouseEvents: true}).addTo(map); layer.on('preclick', (e) => { expect(called++).to.eql(0); - expect(e.latlng).to.ok(); + expect(e.latlng).to.be.ok; }); layer.on('click', (e) => { expect(called++).to.eql(2); - expect(e.latlng).to.ok(); + expect(e.latlng).to.be.ok; }); map.on('preclick', (e) => { expect(called++).to.eql(1); - expect(e.latlng).to.ok(); + expect(e.latlng).to.be.ok; }); map.on('click', (e) => { expect(called++).to.eql(3); - expect(e.latlng).to.ok(); + expect(e.latlng).to.be.ok; }); UIEventSimulator.fire('click', layer._icon); expect(called).to.eql(4); @@ -1896,9 +1896,9 @@ describe('Map', () => { UIEventSimulator.fireAt('contextmenu', marker._point.x, marker._point.y); // second (#5995) - expect(spy.callCount).to.be(2); - expect(spy.firstCall.lastArg).to.be.ok(); - expect(spy.secondCall.lastArg).to.be.ok(); + expect(spy.callCount).to.equal(2); + expect(spy.firstCall.lastArg).to.be.true; + expect(spy.secondCall.lastArg).to.be.true; }); }); @@ -1922,12 +1922,12 @@ describe('Map', () => { describe('#getZoom', () => { it('returns undefined if map not initialized', () => { - expect(map.getZoom()).to.be(undefined); + expect(map.getZoom()).to.equal(undefined); }); it('returns undefined if map not initialized but layers added', () => { map.addLayer(L.tileLayer('')); - expect(map.getZoom()).to.be(undefined); + expect(map.getZoom()).to.equal(undefined); }); }); @@ -1938,7 +1938,7 @@ describe('Map', () => { map = null; expect(() => { fn({coords: {latitude: 40.415296, longitude: 10.7419264, accuracy: 1129.5646101470752}}); - }).to.not.throwException(); + }).to.not.throw(); }); it('doesn\'t throw error if location is not found and map is not existing', () => { map._locateOptions = {setView: true}; @@ -1947,7 +1947,7 @@ describe('Map', () => { map = null; expect(() => { fn({coords: {latitude: 40.415296, longitude: 10.7419264, accuracy: 1129.5646101470752}}); - }).to.not.throwException(); + }).to.not.throw(); }); }); @@ -1963,7 +1963,7 @@ describe('Map', () => { }); expect(() => { UIEventSimulator.fire('click', child); - }).to.not.throwException(); + }).to.not.throw(); }); }); @@ -1990,15 +1990,15 @@ describe('Map', () => { }); it('throw with undefined values', () => { - expect(map.distance).withArgs(undefined, undefined).to.throwException(); + expect(() => map.distance(undefined, undefined)).to.throw(); }); it('throw with infinity values', () => { - expect(map.distance).withArgs(Infinity, Infinity).to.throwException(); + expect(() => map.distance(Infinity, Infinity)).to.throw(); }); it('throw with only 1 lat', () => { - expect(map.distance).withArgs(20, 50).to.throwException(); + expect(() => map.distance(20, 50)).to.throw(); }); it('return 0 with 2 same latLng', () => { @@ -2045,36 +2045,36 @@ describe('Map', () => { describe('_addZoomLimit', () => { it('update zoom levels when min zoom is a number in a layer that is added to map', () => { map._addZoomLimit(L.tileLayer('', {minZoom: 4})); - expect(map._layersMinZoom).to.be(4); + expect(map._layersMinZoom).to.equal(4); }); it('update zoom levels when max zoom is a number in a layer that is added to map', () => { map._addZoomLimit(L.tileLayer('', {maxZoom: 10})); - expect(map._layersMaxZoom).to.be(10); + expect(map._layersMaxZoom).to.equal(10); }); it('update zoom levels when min zoom is a number in two layers that are added to map', () => { map._addZoomLimit(L.tileLayer('', {minZoom: 6})); map._addZoomLimit(L.tileLayer('', {minZoom: 4})); - expect(map._layersMinZoom).to.be(4); + expect(map._layersMinZoom).to.equal(4); }); it('update zoom levels when max zoom is a number in two layers that are added to map', () => { map._addZoomLimit(L.tileLayer('', {maxZoom: 10})); map._addZoomLimit(L.tileLayer('', {maxZoom: 8})); - expect(map._layersMaxZoom).to.be(10); + expect(map._layersMaxZoom).to.equal(10); }); // This test shows the NaN usage - it's not clear if NaN is a wanted "feature" it('update zoom levels when min zoom is NaN in a layer that is added to map, so that min zoom becomes NaN,', () => { map._addZoomLimit(L.tileLayer('', {minZoom: NaN})); - expect(isNaN(map._layersMinZoom)).to.be(true); + expect(isNaN(map._layersMinZoom)).to.be.true; }); // This test shows the NaN usage - it's not clear if NaN is a wanted "feature" it('update zoom levels when max zoom is NaN in a layer that is added to map, so that max zoom becomes NaN', () => { map._addZoomLimit(L.tileLayer('', {maxZoom: NaN})); - expect(isNaN(map._layersMaxZoom)).to.be(true); + expect(isNaN(map._layersMaxZoom)).to.be.true; }); // This test shows the NaN usage - it's not clear if NaN is a wanted "feature" @@ -2084,7 +2084,7 @@ describe('Map', () => { // map._addZoomLimit(L.tileLayer("", {minZoom: NaN})); --> Results in maxZoom = NaN --> _updateZoomLevels is not called. // Not same logic as for maxZoom. // map._addZoomLimit(L.tileLayer("", {minZoom: 4})); - // expect(isNaN(map._layersMinZoom)).to.be(true); + // expect(isNaN(map._layersMinZoom)).to.be.true; // }); // This test shows the NaN usage - it's not clear if NaN is a wanted "feature" @@ -2092,12 +2092,12 @@ describe('Map', () => { map._addZoomLimit(L.tileLayer('', {maxZoom: 10})); map._addZoomLimit(L.tileLayer('', {maxZoom: 8})); map._addZoomLimit(L.tileLayer('', {maxZoom: NaN})); - expect(isNaN(map._layersMaxZoom)).to.be(true); + expect(isNaN(map._layersMaxZoom)).to.be.true; }); it('doesn\'t update zoom levels when min and max zoom are both NaN in a layer that is added to map', () => { map._addZoomLimit(L.tileLayer('', {minZoom: NaN, maxZoom: NaN})); - expect(map._layersMinZoom === undefined && map._layersMaxZoom === undefined).to.be(true); + expect(map._layersMinZoom === undefined && map._layersMaxZoom === undefined).to.be.true; }); }); @@ -2106,7 +2106,7 @@ describe('Map', () => { it('throws if map is not set before', () => { expect(() => { map.containerPointToLatLng(); - }).to.throwError(); + }).to.throw(); }); it('returns geographical coordinate for point relative to map container', () => { @@ -2124,7 +2124,7 @@ describe('Map', () => { it('throws if map is not set before', () => { expect(() => { map.latLngToContainerPoint(); - }).to.throwError(); + }).to.throw(); }); it('returns point relative to map container for geographical coordinate', () => { @@ -2141,12 +2141,12 @@ describe('Map', () => { it('throws if map is not set before', () => { expect(() => { map.panTo(); - }).to.throwError(); + }).to.throw(); }); it('pans the map to accurate location', () => { const center = L.latLng([50, 30]); - expect(map.panTo(center)).to.be(map); + expect(map.panTo(center)).to.equal(map); expect(map.getCenter().distanceTo(center)).to.be.lessThan(5); }); }); @@ -2156,20 +2156,20 @@ describe('Map', () => { it('throws if map is not set before', () => { expect(() => { map.panInsideBounds(); - }).to.throwError(); + }).to.throw(); }); it('throws if passed invalid bounds', () => { expect(() => { map.panInsideBounds(0, 0); - }).to.throwError(); + }).to.throw(); }); it('doesn\'t pan if already in bounds', () => { map.setView([0, 0]); const bounds = L.latLngBounds([[-1, -1], [1, 1]]); const expectedCenter = L.latLng([0, 0]); - expect(map.panInsideBounds(bounds)).to.be(map); + expect(map.panInsideBounds(bounds)).to.equal(map); expect(map.getCenter()).to.be.nearLatLng(expectedCenter); }); @@ -2177,7 +2177,7 @@ describe('Map', () => { const bounds = L.latLngBounds([[41.8, -87.6], [40.7, -74]]); const expectedCenter = L.latLng([41.59452223189, -74.2738647460]); map.setView([50.5, 30.5], 10); - expect(map.panInsideBounds(bounds)).to.be(map); + expect(map.panInsideBounds(bounds)).to.equal(map); expect(map.getCenter()).to.be.nearLatLng(expectedCenter); }); }); @@ -2187,7 +2187,7 @@ describe('Map', () => { it('throws if map is not set before', () => { expect(() => { map.latLngToLayerPoint(); - }).to.throwError(); + }).to.throw(); }); it('returns the corresponding pixel coordinate relative to the origin pixel', () => { @@ -2204,7 +2204,7 @@ describe('Map', () => { it('throws if map is not set before', () => { expect(() => { map.layerPointToLatLng(); - }).to.throwError(); + }).to.throw(); }); it('returns the corresponding geographical coordinate for a pixel coordinate relative to the origin pixel', () => { @@ -2275,7 +2275,7 @@ describe('Map', () => { }); map.on('locationerror', (error) => { - expect(error.code).to.be(0); + expect(error.code).to.equal(0); expect(error.message).to.eql('Geolocation error: Geolocation not supported..'); errorSpy(); @@ -2285,8 +2285,8 @@ describe('Map', () => { map.locate({setView: true}); - expect(errorSpy.called).to.be.ok(); - expect(foundSpy.called).to.not.be.ok(); + expect(errorSpy.called).to.be.true; + expect(foundSpy.called).to.be.false; }); it('sets map view to geolocation coords', () => { @@ -2299,7 +2299,7 @@ describe('Map', () => { map.on('locationfound', (data) => { expect(data.latlng).to.be.nearLatLng(expectedLatLngs); - expect(data.timestamp).to.be(1670000000000); + expect(data.timestamp).to.equal(1670000000000); expectedBounds = data.bounds; @@ -2310,11 +2310,11 @@ describe('Map', () => { map.locate({setView: true}); - expect(errorSpy.called).to.not.be.ok(); - expect(foundSpy.called).to.be.ok(); + expect(errorSpy.called).to.be.false; + expect(foundSpy.called).to.be.true; - expect(getCurrentPosSpy.called).to.be.ok(); - expect(watchPosSpy.called).to.not.be.ok(); + expect(getCurrentPosSpy.called).to.be.true; + expect(watchPosSpy.called).to.be.false; expect(map.getCenter()).to.be.nearLatLng(expectedLatLngs); @@ -2333,7 +2333,7 @@ describe('Map', () => { map.on('locationfound', (data) => { expect(data.latlng).to.be.nearLatLng(expectedLatLngs); - expect(data.timestamp).to.be(1660000000000); + expect(data.timestamp).to.equal(1660000000000); expectedBounds = data.bounds; @@ -2344,11 +2344,11 @@ describe('Map', () => { map.locate({setView: true, watch: true}); - expect(errorSpy.called).to.not.be.ok(); - expect(foundSpy.called).to.be.ok(); + expect(errorSpy.called).to.be.false; + expect(foundSpy.called).to.be.true; - expect(getCurrentPosSpy.called).to.not.be.ok(); - expect(watchPosSpy.called).to.be.ok(); + expect(getCurrentPosSpy.called).to.be.false; + expect(watchPosSpy.called).to.be.true; expect(map.getCenter()).to.be.nearLatLng(expectedLatLngs); @@ -2366,7 +2366,7 @@ describe('Map', () => { map.on('locationfound', (data) => { expect(data.latlng).to.be.nearLatLng([50, 50]); - expect(data.timestamp).to.be(1670000000000); + expect(data.timestamp).to.equal(1670000000000); foundSpy(); }); @@ -2375,13 +2375,13 @@ describe('Map', () => { map.locate(); - expect(errorSpy.called).to.not.be.ok(); - expect(foundSpy.called).to.be.ok(); + expect(errorSpy.called).to.be.false; + expect(foundSpy.called).to.be.true; - expect(getCurrentPosSpy.called).to.be.ok(); - expect(watchPosSpy.called).to.not.be.ok(); + expect(getCurrentPosSpy.called).to.be.true; + expect(watchPosSpy.called).to.be.false; - expect(map._loaded).to.not.be.ok(); + expect(map._loaded).to.be.undefined; }); }); @@ -2390,7 +2390,7 @@ describe('Map', () => { it('throws if map is not set before', () => { expect(() => { map.mouseEventToLatLng({clientX: 10, clientY: 10}); - }).to.throwException(); + }).to.throw(); }); it('returns geographical coordinate where the event took place.', () => { @@ -2431,7 +2431,7 @@ describe('Map', () => { it('throws if map is not set before', () => { expect(() => { map.mouseEventToContainerPoint(); - }).to.throwError(); + }).to.throw(); }); it('returns the pixel coordinate relative to the map container where the event took place', () => { @@ -2451,7 +2451,7 @@ describe('Map', () => { it('throws if map is not set before', () => { expect(() => { map.panBy(offset); - }).to.throwError(); + }).to.throw(); }); it('pans the map by given offset', () => { @@ -2460,7 +2460,7 @@ describe('Map', () => { const offsetCenterPoint = map.options.crs.latLngToPoint(center, 7).add(offset); const target = map.options.crs.pointToLatLng(offsetCenterPoint, 7); - expect(map.panBy(offset, {animate: false})).to.be(map); + expect(map.panBy(offset, {animate: false})).to.equal(map); expect(map.getCenter().distanceTo(target)).to.be.lessThan(5); expect(map.getCenter()).to.be.nearLatLng([-10.9196177602, 10.9863281250]); }); diff --git a/spec/suites/map/handler/Map.BoxZoom.js b/spec/suites/map/handler/Map.BoxZoom.js index 735675f7a..a53fbac27 100644 --- a/spec/suites/map/handler/Map.BoxZoom.js +++ b/spec/suites/map/handler/Map.BoxZoom.js @@ -22,7 +22,7 @@ describe('Map.BoxZoom', () => { // check if click event on the map is fired UIEventSimulator.fire('click', map._container); - expect(mapClick).to.be(true); + expect(mapClick).to.be.true; let clientX = 100; let clientY = 100; @@ -52,7 +52,7 @@ describe('Map.BoxZoom', () => { // check if click event on the map is fired mapClick = false; UIEventSimulator.fire('click', map._container); - expect(mapClick).to.be(true); + expect(mapClick).to.be.true; }); }); diff --git a/spec/suites/map/handler/Map.DragSpec.js b/spec/suites/map/handler/Map.DragSpec.js index a5a2a5bf0..6646ed54c 100644 --- a/spec/suites/map/handler/Map.DragSpec.js +++ b/spec/suites/map/handler/Map.DragSpec.js @@ -16,9 +16,9 @@ describe('Map.Drag', () => { dragging: true }); - expect(map.dragging.enabled()).to.be(true); + expect(map.dragging.enabled()).to.be.true; map.setView([0, 0], 0); - expect(map.dragging.enabled()).to.be(true); + expect(map.dragging.enabled()).to.be.true; }); it('calls the map with dragging and worldCopyJump enabled', () => { @@ -27,9 +27,9 @@ describe('Map.Drag', () => { worldCopyJump: true }); - expect(map.dragging.enabled()).to.be(true); + expect(map.dragging.enabled()).to.be.true; map.setView([0, 0], 0); - expect(map.dragging.enabled()).to.be(true); + expect(map.dragging.enabled()).to.be.true; }); it('calls the map with dragging disabled and worldCopyJump enabled; ' + @@ -39,10 +39,10 @@ describe('Map.Drag', () => { worldCopyJump: true }); - expect(map.dragging.enabled()).to.be(false); + expect(map.dragging.enabled()).to.be.false; map.setView([0, 0], 0); map.dragging.enable(); - expect(map.dragging.enabled()).to.be(true); + expect(map.dragging.enabled()).to.be.true; }); }); @@ -74,7 +74,7 @@ describe('Map.Drag', () => { onStop() { expect(map.getOffset()).to.eql(offset); - expect(map.getZoom()).to.be(1); + expect(map.getZoom()).to.equal(1); expect(map.getCenter()).to.be.nearLatLng([21.943045533, -180]); done(); @@ -110,7 +110,7 @@ describe('Map.Drag', () => { onStop() { expect(map.getOffset()).to.eql(offset); - expect(map.getZoom()).to.be(1); + expect(map.getZoom()).to.equal(1); expect(map.getCenter()).to.be.nearLatLng([21.943045533, -180]); done(); @@ -140,7 +140,7 @@ describe('Map.Drag', () => { const hand = new Hand({ timing: 'fastframe', onStop() { - expect(map.getZoom()).to.be(1); + expect(map.getZoom()).to.equal(1); // Expect center point to be the same as before the click expect(map.getCenter()).to.eql(originalCenter); expect(spy.callCount).to.eql(0); // No drag event should have been fired. @@ -175,9 +175,9 @@ describe('Map.Drag', () => { // A real user scenario would trigger a click on mouseup. // We want to be sure we are cancelling it after a drag. UIEventSimulator.fire('click', container); - expect(dragSpy.called).to.be(true); - expect(clickSpy.called).to.be(false); - expect(preclickSpy.called).to.be(false); + expect(dragSpy.called).to.be.true; + expect(clickSpy.called).to.be.false; + expect(preclickSpy.called).to.be.false; done(); } }); @@ -212,10 +212,10 @@ describe('Map.Drag', () => { // A real user scenario would trigger a click on mouseup. // We want to be sure we are cancelling it after a drag. UIEventSimulator.fire('click', container); - expect(mapDragSpy.called).to.be(true); - expect(markerDragSpy.called).to.be(false); - expect(clickSpy.called).to.be(false); - expect(preclickSpy.called).to.be(false); + expect(mapDragSpy.called).to.be.true; + expect(markerDragSpy.called).to.be.false; + expect(clickSpy.called).to.be.false; + expect(preclickSpy.called).to.be.false; done(); } }); @@ -252,10 +252,10 @@ describe('Map.Drag', () => { // A real user scenario would trigger a click on mouseup. // We want to be sure we are cancelling it after a drag. UIEventSimulator.fire('click', marker._icon); - expect(markerDragSpy.called).to.be(true); - expect(mapDragSpy.called).to.be(false); - expect(clickSpy.called).to.be(false); - expect(preclickSpy.called).to.be(false); + expect(markerDragSpy.called).to.be.true; + expect(mapDragSpy.called).to.be.false; + expect(clickSpy.called).to.be.false; + expect(preclickSpy.called).to.be.false; done(); } }); @@ -284,7 +284,7 @@ describe('Map.Drag', () => { const hand = new Hand({ timing: 'fastframe', onStop() { - expect(map.getZoom()).to.be(1); + expect(map.getZoom()).to.equal(1); // Expect center point to be the same as before the click expect(map.getCenter()).to.eql(originalCenter); expect(spy.callCount).to.eql(0); // No drag event should have been fired. @@ -318,7 +318,7 @@ describe('Map.Drag', () => { onStop() { expect(map.getOffset()).to.eql(offset); - expect(map.getZoom()).to.be(1); + expect(map.getZoom()).to.equal(1); expect(map.getCenter()).to.be.nearLatLng([21.943045533, -180]); done(); @@ -345,9 +345,9 @@ describe('Map.Drag', () => { const hand = new Hand({ timing: 'fastframe', onStop() { - expect(map.getZoom()).to.be(1); + expect(map.getZoom()).to.equal(1); // Expect center point to be the same as before the click - expect(map.getCenter().equals(originalCenter)).to.be.ok(); // small margin of error allowed + expect(map.getCenter().equals(originalCenter)).to.be.true; // small margin of error allowed expect(spy.callCount).to.eql(0); // No drag event should have been fired. done(); diff --git a/spec/suites/map/handler/Map.KeyboardSpec.js b/spec/suites/map/handler/Map.KeyboardSpec.js index 61e48e56a..1b89c7851 100644 --- a/spec/suites/map/handler/Map.KeyboardSpec.js +++ b/spec/suites/map/handler/Map.KeyboardSpec.js @@ -125,12 +125,12 @@ describe('Map.Keyboard', () => { const popup = L.popup().setLatLng([0, 0]).setContent('Null Island'); map.openPopup(popup); - expect(popup.isOpen()).to.be(true); + expect(popup.isOpen()).to.be.true; UIEventSimulator.fire('keydown', document, {code: KEYCODE_ESC}); UIEventSimulator.fire('keyup', document, {code: KEYCODE_ESC}); - expect(popup.isOpen()).to.be(false); + expect(popup.isOpen()).to.be.false; }); }); @@ -140,12 +140,12 @@ describe('Map.Keyboard', () => { const popup = L.popup({closeOnEscapeKey: false}).setLatLng([0, 0]).setContent('Null Island'); map.openPopup(popup); - expect(popup.isOpen()).to.be(true); + expect(popup.isOpen()).to.be.true; UIEventSimulator.fire('keydown', document, {code: KEYCODE_ESC}); UIEventSimulator.fire('keyup', document, {code: KEYCODE_ESC}); - expect(popup.isOpen()).to.be(true); + expect(popup.isOpen()).to.be.true; }); }); @@ -159,9 +159,9 @@ describe('Map.Keyboard', () => { UIEventSimulator.fire('keypress', container, {code: KEYCODE_LOWERCASE_A}); setTimeout(() => { - expect(keyDownSpy.called).to.be(false); - expect(keyPressSpy.called).to.be.ok(); - expect(keyUpSpy.called).to.be(false); + expect(keyDownSpy.called).to.be.false; + expect(keyPressSpy.called).to.be.true; + expect(keyUpSpy.called).to.be.false; done(); }, 50); }); @@ -175,9 +175,9 @@ describe('Map.Keyboard', () => { UIEventSimulator.fire('keydown', container, {code: KEYCODE_LOWERCASE_A}); setTimeout(() => { - expect(keyDownSpy.called).to.be.ok(); - expect(keyPressSpy.called).to.be(false); - expect(keyUpSpy.called).to.be(false); + expect(keyDownSpy.called).to.be.true; + expect(keyPressSpy.called).to.be.false; + expect(keyUpSpy.called).to.be.false; done(); }, 50); }); @@ -191,9 +191,9 @@ describe('Map.Keyboard', () => { UIEventSimulator.fire('keyup', container, {code: KEYCODE_LOWERCASE_A}); setTimeout(() => { - expect(keyDownSpy.called).to.be(false); - expect(keyPressSpy.called).to.be(false); - expect(keyUpSpy.called).to.be.ok(); + expect(keyDownSpy.called).to.be.false; + expect(keyPressSpy.called).to.be.false; + expect(keyUpSpy.called).to.be.true; done(); }, 50); }); diff --git a/spec/suites/map/handler/Map.ScrollWheelZoomSpec.js b/spec/suites/map/handler/Map.ScrollWheelZoomSpec.js index c19fdc699..5198c35a9 100644 --- a/spec/suites/map/handler/Map.ScrollWheelZoomSpec.js +++ b/spec/suites/map/handler/Map.ScrollWheelZoomSpec.js @@ -74,11 +74,11 @@ describe('Map.ScrollWheelZoom', () => { setTimeout(() => { UIEventSimulator.fire(wheel, container, scrollIn); - expect(spy.notCalled).to.be.ok(); + expect(spy.notCalled).to.be.true; }, 50); map.on('zoomend', () => { - expect(spy.calledOnce).to.be.ok(); + expect(spy.calledOnce).to.be.true; // Bug 1.8.0: Firefox wheel zoom makes 2 steps #7403 // expect(map.getCenter()).to.be.nearLatLng([25.48295117535531, -26.367187500000004]); expect(map.getZoom()).to.be.greaterThan(zoom); @@ -99,7 +99,7 @@ describe('Map.ScrollWheelZoom', () => { const zoomDiff = map.getZoom() - zoom; map.setZoom(zoom, {animate: false}); - expect(map.getZoom()).to.be(zoom); + expect(map.getZoom()).to.equal(zoom); map.options.wheelPxPerZoomLevel = 30 / L.DomEvent.getWheelPxFactor(); UIEventSimulator.fire(wheel, container, scrollIn); diff --git a/spec/suites/map/handler/Map.TapHoldSpec.js b/spec/suites/map/handler/Map.TapHoldSpec.js index 7fb80ca99..08b5b9454 100644 --- a/spec/suites/map/handler/Map.TapHoldSpec.js +++ b/spec/suites/map/handler/Map.TapHoldSpec.js @@ -38,16 +38,16 @@ describe('Map.TapHoldSpec.js', () => { UIEventSimulator.fire('pointerdown', container, {pointerId:0, ...posStart}); clock.tick(550); - expect(spy.notCalled).to.be.ok(); + expect(spy.notCalled).to.be.true; clock.tick(100); - expect(spy.called).to.be.ok(); - expect(spy.calledOnce).to.be.ok(); + expect(spy.called).to.be.true; + expect(spy.calledOnce).to.be.true; const event = spy.lastCall.args[0]; - expect(event.type).to.be('contextmenu'); - expect(event.originalEvent._simulated).to.be.ok(); + expect(event.type).to.equal('contextmenu'); + expect(event.originalEvent._simulated).to.be.true; }); it('does not fire contextmenu when touches > 1', () => { @@ -59,7 +59,7 @@ describe('Map.TapHoldSpec.js', () => { UIEventSimulator.fire('pointerdown', container, {pointerId:1, ...posNear}); clock.tick(550); - expect(spy.notCalled).to.be.ok(); + expect(spy.notCalled).to.be.true; }); it('does not fire contextmenu when touches > 1 (case:2)', () => { @@ -74,14 +74,14 @@ describe('Map.TapHoldSpec.js', () => { UIEventSimulator.fire('pointerup', container, {pointerId:0, ...posNear}); clock.tick(450); - expect(spy.notCalled).to.be.ok(); + expect(spy.notCalled).to.be.true; }); (L.Browser.pointer ? it : it.skip)('ignores events from mouse', () => { UIEventSimulator.fire('pointerdown', container, {pointerId:0, pointerType:'mouse', ...posStart}); clock.tick(650); - expect(spy.notCalled).to.be.ok(); + expect(spy.notCalled).to.be.true; }); it('does not conflict with native contextmenu', () => { @@ -94,9 +94,9 @@ describe('Map.TapHoldSpec.js', () => { clock.tick(100); - expect(spy.called).to.be.ok(); - expect(spy.calledOnce).to.be.ok(); - expect(spy.lastCall.args[0].originalEvent._simulated).not.to.be.ok(); + expect(spy.called).to.be.true; + expect(spy.calledOnce).to.be.true; + expect(spy.lastCall.args[0].originalEvent._simulated).not.to.be.true; // Note: depending on tapHoldDelay value it's also possible that native contextmenu may come after simulated one // and the only way to handle this gracefully - increase tapHoldDelay value. @@ -115,7 +115,7 @@ describe('Map.TapHoldSpec.js', () => { UIEventSimulator.fire('touchend', container, {touches: [posStart]}); UIEventSimulator.fire('pointerup', container, {pointerId:0, ...posNear}); - expect(clickSpy.notCalled).to.be.ok(); + expect(clickSpy.notCalled).to.be.true; }); it('allows short movements', () => { @@ -128,7 +128,7 @@ describe('Map.TapHoldSpec.js', () => { clock.tick(100); - expect(spy.called).to.be.ok(); + expect(spy.called).to.be.true; }); it('ignores long movements', () => { @@ -144,7 +144,7 @@ describe('Map.TapHoldSpec.js', () => { clock.tick(100); - expect(spy.notCalled).to.be.ok(); + expect(spy.notCalled).to.be.true; }); it('.originalEvent has expected properties', () => { @@ -165,7 +165,7 @@ describe('Map.TapHoldSpec.js', () => { target: container }, posStart); for (const [prop, expectedValue] of Object.entries(expectedProps)) { - expect(originalEvent[prop]).to.be(expectedValue); + expect(originalEvent[prop]).to.equal(expectedValue); } }); }); diff --git a/spec/suites/map/handler/Map.TouchZoomSpec.js b/spec/suites/map/handler/Map.TouchZoomSpec.js index d98a062c2..7c7e7aae7 100644 --- a/spec/suites/map/handler/Map.TouchZoomSpec.js +++ b/spec/suites/map/handler/Map.TouchZoomSpec.js @@ -18,9 +18,9 @@ describe('Map.TouchZoom', () => { it.skipIfNotTouch('Increases zoom when pinching out', (done) => { map.setView([0, 0], 1); map.once('zoomend', () => { - expect(map.getCenter()).to.eql({lat:0, lng:0}); + expect(map.getCenter().equals(L.latLng({lat:0, lng:0}))).to.be.true; // Initial zoom 1, initial distance 50px, final distance 450px - expect(map.getZoom()).to.be(4); + expect(map.getZoom()).to.equal(4); done(); }); @@ -39,9 +39,9 @@ describe('Map.TouchZoom', () => { it.skipIfNotTouch('Decreases zoom when pinching in', (done) => { map.setView([0, 0], 4); map.once('zoomend', () => { - expect(map.getCenter()).to.eql({lat:0, lng:0}); + expect(map.getCenter().equals(L.latLng({lat:0, lng:0}))).to.be.true; // Initial zoom 4, initial distance 450px, final distance 50px - expect(map.getZoom()).to.be(1); + expect(map.getZoom()).to.equal(1); done(); }); @@ -68,12 +68,12 @@ describe('Map.TouchZoom', () => { pinchZoomEvent = e.pinch || pinchZoomEvent; }); map.once('zoomend', () => { - expect(spy.callCount > 1).to.be.ok(); - expect(pinchZoomEvent).to.be.ok(); + expect(spy.callCount > 1).to.be.true; + expect(pinchZoomEvent).to.be.true; - expect(map.getCenter()).to.eql({lat:0, lng:0}); + expect(map.getCenter().equals(L.latLng({lat:0, lng:0}))).to.be.true; // Initial zoom 4, initial distance 450px, final distance 50px - expect(map.getZoom()).to.be(1); + expect(map.getZoom()).to.equal(1); done(); }); @@ -104,8 +104,8 @@ describe('Map.TouchZoom', () => { const hand = new Hand({ timing: 'fastframe', onStop() { - expect(map.getCenter().lat).to.be(0); - expect(map.getCenter().lng > 5).to.be(true); + expect(map.getCenter().lat).to.equal(0); + expect(map.getCenter().lng > 5).to.be.true; done(); } }); @@ -139,9 +139,9 @@ describe('Map.TouchZoom', () => { map.setView([0, 0], 4); map.once('zoomend', () => { - expect(map.getCenter()).to.eql({lat:0, lng:0}); + expect(map.getCenter().equals(L.latLng({lat:0, lng:0}))).to.be.true; // Initial zoom 4, initial distance 450px, final distance 50px - expect(map.getZoom()).to.be(1); + expect(map.getZoom()).to.equal(1); done(); }); @@ -190,9 +190,9 @@ describe('Map.TouchZoom', () => { const width = renderedRect.width; const height = renderedRect.height; - expect(height < 50).to.be(true); - expect(width < 50).to.be(true); - expect(height + width > 0).to.be(true); + expect(height < 50).to.be.true; + expect(width < 50).to.be.true; + expect(height + width > 0).to.be.true; const x = renderedRect.x; const y = renderedRect.y; @@ -252,9 +252,9 @@ describe('Map.TouchZoom', () => { const width = renderedRect.width; const height = renderedRect.height; - expect(height < 50).to.be(true); - expect(width < 50).to.be(true); - expect(height + width > 0).to.be(true); + expect(height < 50).to.be.true; + expect(width < 50).to.be.true; + expect(height + width > 0).to.be.true; const x = renderedRect.x; const y = renderedRect.y; diff --git a/src/map/Map.js b/src/map/Map.js index c2cca7eaa..21fccb00e 100644 --- a/src/map/Map.js +++ b/src/map/Map.js @@ -792,7 +792,7 @@ export const Map = Evented.extend({ } this._layers = []; - this._panes = []; + this._panes = {}; delete this._mapPane; delete this._renderer;