Switch tests to vitest
This commit is contained in:
parent
4d0e481f74
commit
73a31c090c
1
.gitignore
vendored
1
.gitignore
vendored
@ -15,3 +15,4 @@ pnpm-debug.log*
|
||||
|
||||
# Editor directories and files
|
||||
/.cache/
|
||||
/coverage/
|
||||
|
@ -1,20 +0,0 @@
|
||||
export default {
|
||||
preset: 'ts-jest',
|
||||
moduleFileExtensions: [
|
||||
'js',
|
||||
'ts',
|
||||
'json',
|
||||
'vue'
|
||||
],
|
||||
transform: {
|
||||
'^.+\\.ts$': 'ts-jest',
|
||||
'^.+\\.vue$': '@vue/vue3-jest'
|
||||
},
|
||||
moduleNameMapper: {
|
||||
'^@/(.*)$': '<rootDir>/src/$1',
|
||||
},
|
||||
setupFilesAfterEnv: [
|
||||
'<rootDir>/tests/setup.ts'
|
||||
],
|
||||
testEnvironment: 'jsdom'
|
||||
}
|
1593
package-lock.json
generated
1593
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
10
package.json
10
package.json
@ -5,7 +5,8 @@
|
||||
"scripts": {
|
||||
"serve": "vite",
|
||||
"preview": "vite preview --port 8082",
|
||||
"test": "jest",
|
||||
"test": "vitest",
|
||||
"coverage": "vitest run --coverage",
|
||||
"clean": "rimraf dist java/target/resources",
|
||||
"copy": "cpy plugin.yml dist java/target/resources --parents && rimraf java/target/resources/assets/*.svg",
|
||||
"build": "npm run clean && vue-tsc --noEmit && vite build --out-dir dist && npm-run-all copy mvn",
|
||||
@ -25,8 +26,6 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/dynmap": "^3.1.1",
|
||||
"@types/jest": "^27.4.1",
|
||||
"@types/jest-in-case": "^1.0.6",
|
||||
"@types/leaflet": "1.7.11",
|
||||
"@types/lodash.debounce": "^4.0.7",
|
||||
"@types/node": "^18.0.0",
|
||||
@ -37,21 +36,20 @@
|
||||
"@vue/eslint-config-typescript": "^10.0",
|
||||
"@vue/test-utils": "^2.0.0",
|
||||
"@vue/vue3-jest": "^27.0.0",
|
||||
"c8": "^7.11.3",
|
||||
"cpy-cli": "^4.1.0",
|
||||
"eslint": "^8.17",
|
||||
"eslint-plugin-vue": "^8.7",
|
||||
"jest": "^27.5.1",
|
||||
"jest-in-case": "^1.0.2",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"patch-package": "^6.4",
|
||||
"rimraf": "^3.0.2",
|
||||
"rollup-plugin-analyzer": "^4.0",
|
||||
"sass": "^1.52",
|
||||
"ts-jest": "^27.1.4",
|
||||
"ts-node": "^10.8.1",
|
||||
"typescript": "^4.7",
|
||||
"vite": "2.9.12",
|
||||
"vite-plugin-svg-sprite-component": "^1.0",
|
||||
"vitest": "^0.15.2",
|
||||
"vue-tsc": "0.37.9"
|
||||
},
|
||||
"eslintConfig": {
|
||||
|
323
test/util.test.ts
Normal file
323
test/util.test.ts
Normal file
@ -0,0 +1,323 @@
|
||||
/*
|
||||
* Copyright 2022 James Lyne
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import {parseUrl} from "@/util";
|
||||
import {LiveAtlasParsedUrl} from "@/index";
|
||||
|
||||
const validURLs: [string, URL, LiveAtlasParsedUrl][] = [
|
||||
[
|
||||
'Dynmap - complete',
|
||||
new URL('https://minecraft.rtgame.co.uk/build?worldname=world&mapname=surface&zoom=4&x=6885&y=64&z=24608'),
|
||||
{
|
||||
world: 'world',
|
||||
map: 'surface',
|
||||
location: {x: 6885, y: 64, z: 24608},
|
||||
zoom: 4,
|
||||
legacy: true
|
||||
}
|
||||
],
|
||||
[
|
||||
'Dynmap - no location',
|
||||
new URL('https://minecraft.rtgame.co.uk/build?worldname=world&mapname=surface&zoom=4'),
|
||||
{
|
||||
world: 'world',
|
||||
map: 'surface',
|
||||
location: undefined,
|
||||
zoom: 4,
|
||||
legacy: true
|
||||
}
|
||||
],
|
||||
[
|
||||
'Dynmap - no zoom',
|
||||
new URL('https://minecraft.rtgame.co.uk/build?worldname=world&mapname=surface&x=6885&y=64&z=24608'),
|
||||
{
|
||||
world: 'world',
|
||||
map: 'surface',
|
||||
location: {x: 6885, y: 64, z: 24608},
|
||||
zoom: undefined,
|
||||
legacy: true
|
||||
}
|
||||
],
|
||||
[
|
||||
'Dynmap - no zoom or location',
|
||||
new URL('https://minecraft.rtgame.co.uk/build?worldname=world&mapname=surface'),
|
||||
{
|
||||
world: 'world',
|
||||
map: 'surface',
|
||||
location: undefined,
|
||||
zoom: undefined,
|
||||
legacy: true
|
||||
}
|
||||
],
|
||||
[
|
||||
'Dynmap - no map, zoom or location',
|
||||
new URL('https://minecraft.rtgame.co.uk/build?worldname=world'),
|
||||
{
|
||||
world: 'world',
|
||||
map: undefined,
|
||||
location: undefined,
|
||||
zoom: undefined,
|
||||
legacy: true
|
||||
}
|
||||
],
|
||||
[
|
||||
'Pl3xmap - complete',
|
||||
new URL('https://minecraft.rtgame.co.uk/build?world=world&zoom=4&x=6885&y=64&z=24608'),
|
||||
{
|
||||
world: 'world',
|
||||
map: undefined,
|
||||
location: {x: 6885, y: 64, z: 24608},
|
||||
zoom: 4,
|
||||
legacy: true
|
||||
}
|
||||
],
|
||||
[
|
||||
'Pl3xmap - no location',
|
||||
new URL('https://minecraft.rtgame.co.uk/build?world=world&zoom=4'),
|
||||
{
|
||||
world: 'world',
|
||||
map: undefined,
|
||||
location: undefined,
|
||||
zoom: 4,
|
||||
legacy: true
|
||||
}
|
||||
],
|
||||
[
|
||||
'Pl3xmap - no zoom',
|
||||
new URL('https://minecraft.rtgame.co.uk/build?world=world&x=6885&y=64&z=24608'),
|
||||
{
|
||||
world: 'world',
|
||||
map: undefined,
|
||||
location: {x: 6885, y: 64, z: 24608},
|
||||
zoom: undefined,
|
||||
legacy: true
|
||||
}
|
||||
],
|
||||
[
|
||||
'Pl3xmap - no zoom or location',
|
||||
new URL('https://minecraft.rtgame.co.uk/build?world=world'),
|
||||
{
|
||||
world: 'world',
|
||||
map: undefined,
|
||||
location: undefined,
|
||||
zoom: undefined,
|
||||
legacy: true
|
||||
}
|
||||
],
|
||||
[
|
||||
'LiveAtlas - complete',
|
||||
new URL('https://minecraft.rtgame.co.uk/map/survival#world;flat;168,64,1914;2'),
|
||||
{
|
||||
world: 'world',
|
||||
map: 'flat',
|
||||
location: {x: 168, y: 64, z: 1914},
|
||||
zoom: 2,
|
||||
legacy: false
|
||||
}
|
||||
],
|
||||
[
|
||||
'LiveAtlas - no zoom',
|
||||
new URL('https://minecraft.rtgame.co.uk/map/survival#world;flat;168,64,1914'),
|
||||
{
|
||||
world: 'world',
|
||||
map: 'flat',
|
||||
location: {x: 168, y: 64, z: 1914},
|
||||
zoom: undefined,
|
||||
legacy: false
|
||||
}
|
||||
],
|
||||
[
|
||||
'LiveAtlas - no location or zoom',
|
||||
new URL('https://minecraft.rtgame.co.uk/map/survival#world;flat'),
|
||||
{
|
||||
world: 'world',
|
||||
map: 'flat',
|
||||
location: undefined,
|
||||
zoom: undefined,
|
||||
legacy: false
|
||||
}
|
||||
],
|
||||
[
|
||||
'LiveAtlas - no map, location or zoom',
|
||||
new URL('https://minecraft.rtgame.co.uk/map/survival#world'),
|
||||
{
|
||||
world: 'world',
|
||||
map: undefined,
|
||||
location: undefined,
|
||||
zoom: undefined,
|
||||
legacy: false
|
||||
}
|
||||
]
|
||||
]
|
||||
|
||||
const invalidURLs: [string, URL, LiveAtlasParsedUrl|null][] = [
|
||||
[
|
||||
'LiveAtlas - negative zoom',
|
||||
new URL('https://minecraft.rtgame.co.uk/map/survival#world;flat;168,64,1914;-2'),
|
||||
{
|
||||
world: 'world',
|
||||
map: 'flat',
|
||||
location: {x: 168, y: 64, z: 1914},
|
||||
zoom: undefined,
|
||||
legacy: false
|
||||
}
|
||||
],
|
||||
[
|
||||
'LiveAtlas - NaN zoom',
|
||||
new URL('https://minecraft.rtgame.co.uk/map/survival#world;flat;168,64,1914;ewsjtuiewshfoes'),
|
||||
{
|
||||
world: 'world',
|
||||
map: 'flat',
|
||||
location: {x: 168, y: 64, z: 1914},
|
||||
zoom: undefined,
|
||||
legacy: false
|
||||
}
|
||||
],
|
||||
[
|
||||
'LiveAtlas - missing z coordinate',
|
||||
new URL('https://minecraft.rtgame.co.uk/map/survival#world;flat;168,64;2'),
|
||||
{
|
||||
world: 'world',
|
||||
map: 'flat',
|
||||
location: undefined,
|
||||
zoom: 2,
|
||||
legacy: false
|
||||
}
|
||||
],
|
||||
[
|
||||
'LiveAtlas - NaN z coordinate',
|
||||
new URL('https://minecraft.rtgame.co.uk/map/survival#world;flat;168,64,j;2'),
|
||||
{
|
||||
world: 'world',
|
||||
map: 'flat',
|
||||
location: undefined,
|
||||
zoom: 2,
|
||||
legacy: false
|
||||
}
|
||||
],
|
||||
[
|
||||
'LiveAtlas - missing y and z coordinates',
|
||||
new URL('https://minecraft.rtgame.co.uk/map/survival#world;flat;168;2'),
|
||||
{
|
||||
world: 'world',
|
||||
map: 'flat',
|
||||
location: undefined,
|
||||
zoom: 2,
|
||||
legacy: false
|
||||
}
|
||||
],
|
||||
[
|
||||
'LiveAtlas - invalid location',
|
||||
new URL('https://minecraft.rtgame.co.uk/map/survival#world;flat;23wteyuisezujsezr'),
|
||||
{
|
||||
world: 'world',
|
||||
map: 'flat',
|
||||
location: undefined,
|
||||
zoom: undefined,
|
||||
legacy: false
|
||||
}
|
||||
],
|
||||
[
|
||||
'Dynmap - Negative zoom',
|
||||
new URL('https://minecraft.rtgame.co.uk/map/survival?worldname=world&mapname=surface&zoom=-2&x=6885&y=64&z=24608'),
|
||||
{
|
||||
world: 'world',
|
||||
map: 'surface',
|
||||
location: {x: 6885, y: 64, z: 24608},
|
||||
zoom: undefined,
|
||||
legacy: true
|
||||
}
|
||||
],
|
||||
[
|
||||
'Dynmap - NaN zoom',
|
||||
new URL('https://minecraft.rtgame.co.uk/map/survival?worldname=world&mapname=surface&zoom=fsghrtdrh&x=6885&y=64&z=24608'),
|
||||
{
|
||||
world: 'world',
|
||||
map: 'surface',
|
||||
location: {x: 6885, y: 64, z: 24608},
|
||||
zoom: undefined,
|
||||
legacy: true
|
||||
}
|
||||
],
|
||||
[
|
||||
'Dynmap - Missing z coordinate',
|
||||
new URL('https://minecraft.rtgame.co.uk/map/survival?worldname=world&mapname=surface&zoom=2&x=6885&y=64'),
|
||||
{
|
||||
world: 'world',
|
||||
map: 'surface',
|
||||
location: undefined,
|
||||
zoom: 2,
|
||||
legacy: true
|
||||
}
|
||||
],
|
||||
[
|
||||
'Dynmap - NaN z coordinate',
|
||||
new URL('https://minecraft.rtgame.co.uk/map/survival?worldname=world&mapname=surface&zoom=2&x=6885&y=64&z=j'),
|
||||
{
|
||||
world: 'world',
|
||||
map: 'surface',
|
||||
location: undefined,
|
||||
zoom: 2,
|
||||
legacy: true
|
||||
}
|
||||
],
|
||||
[
|
||||
'Dynmap - Missing y and z coordinates',
|
||||
new URL('https://minecraft.rtgame.co.uk/map/survival?worldname=world&mapname=surface&zoom=2&x=6885'),
|
||||
{
|
||||
world: 'world',
|
||||
map: 'surface',
|
||||
location: undefined,
|
||||
zoom: 2,
|
||||
legacy: true
|
||||
}
|
||||
],
|
||||
[
|
||||
'Dynmap - Invalid/missing coordinates',
|
||||
new URL('https://minecraft.rtgame.co.uk/map/survival?worldname=world&mapname=surface&x=3wresfsg'),
|
||||
{
|
||||
world: 'world',
|
||||
map: 'surface',
|
||||
location: undefined,
|
||||
zoom: undefined,
|
||||
legacy: true
|
||||
}
|
||||
],
|
||||
[
|
||||
'Dynmap - Missing world',
|
||||
new URL('https://minecraft.rtgame.co.uk/map/survival?mapname=surface&x=3wresfsg'),
|
||||
null
|
||||
],
|
||||
[
|
||||
'empty hash',
|
||||
new URL('https://minecraft.rtgame.co.uk/map/survival#'),
|
||||
null
|
||||
],
|
||||
[
|
||||
'empty query',
|
||||
new URL('https://minecraft.rtgame.co.uk/map/survival?'),
|
||||
null
|
||||
],
|
||||
];
|
||||
|
||||
describe("parseURL", () => {
|
||||
test.each(validURLs)("Valid URL - %s", (name: string, url: URL, expected: LiveAtlasParsedUrl) => {
|
||||
expect(parseUrl(url)).toEqual(expected);
|
||||
});
|
||||
test.each(invalidURLs)("Invalid or incomplete URL - %s", (name: string, url: URL, expected: LiveAtlasParsedUrl|null) => {
|
||||
expect(parseUrl(url)).toEqual(expected);
|
||||
});
|
||||
});
|
@ -1,4 +0,0 @@
|
||||
console.warn = jest.fn();
|
||||
|
||||
export {}
|
||||
|
@ -1,335 +0,0 @@
|
||||
/*
|
||||
* Copyright 2022 James Lyne
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import {parseUrl} from "@/util";
|
||||
import cases from 'jest-in-case';
|
||||
|
||||
describe("parseURL", () => {
|
||||
cases('valid Dynmap URLs', (options: any) => {
|
||||
expect(parseUrl(options.url)).toEqual(options.result);
|
||||
}, [
|
||||
{
|
||||
name: 'Complete URL',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/build?worldname=world&mapname=surface&zoom=4&x=6885&y=64&z=24608'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: 'surface',
|
||||
location: {x: 6885, y: 64, z: 24608},
|
||||
zoom: 4,
|
||||
legacy: true
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'no location',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/build?worldname=world&mapname=surface&zoom=4'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: 'surface',
|
||||
location: undefined,
|
||||
zoom: 4,
|
||||
legacy: true
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'no zoom',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/build?worldname=world&mapname=surface&x=6885&y=64&z=24608'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: 'surface',
|
||||
location: {x: 6885, y: 64, z: 24608},
|
||||
zoom: undefined,
|
||||
legacy: true
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'no zoom or location',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/build?worldname=world&mapname=surface'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: 'surface',
|
||||
location: undefined,
|
||||
zoom: undefined,
|
||||
legacy: true
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'no map, zoom or location',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/build?worldname=world'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: undefined,
|
||||
location: undefined,
|
||||
zoom: undefined,
|
||||
legacy: true
|
||||
}
|
||||
}
|
||||
]);
|
||||
|
||||
cases('valid Pl3xmap URLs', (options: any) => {
|
||||
expect(parseUrl(options.url)).toEqual(options.result);
|
||||
}, [
|
||||
{
|
||||
name: 'Complete URL',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/build?world=world&zoom=4&x=6885&y=64&z=24608'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: undefined,
|
||||
location: {x: 6885, y: 64, z: 24608},
|
||||
zoom: 4,
|
||||
legacy: true
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'no location',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/build?world=world&zoom=4'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: undefined,
|
||||
location: undefined,
|
||||
zoom: 4,
|
||||
legacy: true
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'no zoom',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/build?world=world&x=6885&y=64&z=24608'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: undefined,
|
||||
location: {x: 6885, y: 64, z: 24608},
|
||||
zoom: undefined,
|
||||
legacy: true
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'no zoom or location',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/build?world=world'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: undefined,
|
||||
location: undefined,
|
||||
zoom: undefined,
|
||||
legacy: true
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'nothing',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/map/survival?'),
|
||||
result: null
|
||||
}
|
||||
]);
|
||||
|
||||
cases('valid LiveAtlas URLs', (options: any) => {
|
||||
expect(parseUrl(options.url)).toEqual(options.result);
|
||||
}, [
|
||||
{
|
||||
name: 'Complete URL',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/map/survival#world;flat;168,64,1914;2'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: 'flat',
|
||||
location: {x: 168, y: 64, z: 1914},
|
||||
zoom: 2,
|
||||
legacy: false
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'no zoom',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/map/survival#world;flat;168,64,1914'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: 'flat',
|
||||
location: {x: 168, y: 64, z: 1914},
|
||||
zoom: undefined,
|
||||
legacy: false
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'no location or zoom',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/map/survival#world;flat'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: 'flat',
|
||||
location: undefined,
|
||||
zoom: undefined,
|
||||
legacy: false
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'no map, location or zoom',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/map/survival#world'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: undefined,
|
||||
location: undefined,
|
||||
zoom: undefined,
|
||||
legacy: false
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'nothing',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/map/survival#'),
|
||||
result: null
|
||||
}
|
||||
]);
|
||||
|
||||
cases('incomplete or invalid LiveAtlas URLs', (options: any) => {
|
||||
expect(parseUrl(options.url)).toEqual(options.result);
|
||||
}, [
|
||||
{
|
||||
name: 'negative zoom',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/map/survival#world;flat;168,64,1914;-2'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: 'flat',
|
||||
location: {x: 168, y: 64, z: 1914},
|
||||
zoom: undefined,
|
||||
legacy: false
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'NaN zoom',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/map/survival#world;flat;168,64,1914;ewsjtuiewshfoes'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: 'flat',
|
||||
location: {x: 168, y: 64, z: 1914},
|
||||
zoom: undefined,
|
||||
legacy: false
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'missing z coordinate',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/map/survival#world;flat;168,64;2'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: 'flat',
|
||||
location: undefined,
|
||||
zoom: 2,
|
||||
legacy: false
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'NaN z coordinate',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/map/survival#world;flat;168,64,j;2'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: 'flat',
|
||||
location: undefined,
|
||||
zoom: 2,
|
||||
legacy: false
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'missing y and z coordinates',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/map/survival#world;flat;168;2'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: 'flat',
|
||||
location: undefined,
|
||||
zoom: 2,
|
||||
legacy: false
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'invalid location',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/map/survival#world;flat;23wteyuisezujsezr'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: 'flat',
|
||||
location: undefined,
|
||||
zoom: undefined,
|
||||
legacy: false
|
||||
}
|
||||
}
|
||||
]);
|
||||
|
||||
cases('incomplete or invalid Dynmap URLs', (options: any) => {
|
||||
expect(parseUrl(options.url)).toEqual(options.result);
|
||||
}, [
|
||||
{
|
||||
name: 'Negative zoom',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/map/survival?worldname=world&mapname=surface&zoom=-2&x=6885&y=64&z=24608'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: 'surface',
|
||||
location: {x: 6885, y: 64, z: 24608},
|
||||
zoom: undefined,
|
||||
legacy: true
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'NaN zoom',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/map/survival?worldname=world&mapname=surface&zoom=fsghrtdrh&x=6885&y=64&z=24608'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: 'surface',
|
||||
location: {x: 6885, y: 64, z: 24608},
|
||||
zoom: undefined,
|
||||
legacy: true
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'Missing z coordinate',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/map/survival?worldname=world&mapname=surface&zoom=2&x=6885&y=64'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: 'surface',
|
||||
location: undefined,
|
||||
zoom: 2,
|
||||
legacy: true
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'NaN z coordinate',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/map/survival?worldname=world&mapname=surface&zoom=2&x=6885&y=64&z=j'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: 'surface',
|
||||
location: undefined,
|
||||
zoom: 2,
|
||||
legacy: true
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'Missing y and z coordinates',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/map/survival?worldname=world&mapname=surface&zoom=2&x=6885'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: 'surface',
|
||||
location: undefined,
|
||||
zoom: 2,
|
||||
legacy: true
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'Invalid/missing coordinates',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/map/survival?worldname=world&mapname=surface&x=3wresfsg'),
|
||||
result: {
|
||||
world: 'world',
|
||||
map: 'surface',
|
||||
location: undefined,
|
||||
zoom: undefined,
|
||||
legacy: true
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'Missing world',
|
||||
url: new URL('https://minecraft.rtgame.co.uk/map/survival?mapname=surface&x=3wresfsg'),
|
||||
result: null
|
||||
}
|
||||
]);
|
||||
});
|
@ -17,8 +17,7 @@
|
||||
"types": [
|
||||
"vite/client",
|
||||
"vue",
|
||||
"jest",
|
||||
"jest-in-case"
|
||||
"jest"
|
||||
],
|
||||
"paths": {
|
||||
"@/*": [
|
||||
@ -35,7 +34,7 @@
|
||||
"include": [
|
||||
"src/**/*.ts",
|
||||
"src/**/*.vue",
|
||||
"tests/**/*.ts"
|
||||
"test/**/*.ts"
|
||||
],
|
||||
"exclude": [
|
||||
"node_modules"
|
||||
|
@ -44,5 +44,9 @@ export default defineConfig(({ mode }) => {
|
||||
assetsDir: 'live-atlas/assets'
|
||||
},
|
||||
define: envWithProcessPrefix,
|
||||
test: {
|
||||
globals: true,
|
||||
environment: 'jsdom',
|
||||
},
|
||||
}
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user