tests: improve

This commit is contained in:
Simon Lecoq
2023-11-02 18:29:10 -04:00
parent c5d8e2dbb1
commit 55d7b38586
27 changed files with 658 additions and 349 deletions

1
tests/deno_bundle.jsonc Normal file
View File

@@ -0,0 +1 @@
{}

View File

@@ -4,7 +4,8 @@
},
"+tasks": {
"flags:none": {
"task": "deno cache tests/mod.ts"
"task": "deno cache mod.ts",
"cwd": "tests"
}
}
}

View File

@@ -4,15 +4,26 @@
},
"+tasks": {
"flags:none": {
"task": "deno check tests/mod.ts"
"task": "deno check mod.ts",
"cwd": "tests"
},
"flags:all": {
"task": "deno check tests/mod.ts",
"flags:boolean_true": {
"task": "deno check mod.ts",
"cwd": "tests",
"deno": {
"check": {
"all": true
}
}
},
"flags:boolean_false": {
"task": "deno check mod.ts",
"cwd": "tests",
"deno": {
"check": {
"all": false
}
}
}
}
}

View File

@@ -3,42 +3,47 @@
"make": "deno run --allow-env --allow-read --allow-write=.deno-make.json --allow-run=deno ./mod.ts $0"
},
"+tasks": {
"flags:general": {
"task": "deno run tests/mod.ts",
"flags:general:boolean": {
"task": "deno help",
"cwd": "tests",
"deno": {
"run": {
"unstable": true,
"quiet": true,
"seed": 0,
"ignoreCertificateErrors": true
"certificateErrors": true
},
"test": {
"unstable": false,
"quiet": false,
"certificateErrors": false
}
}
},
"flags:resolution": {
"task": "deno run tests/mod.ts",
"flags:general:string": {
"task": "deno help",
"cwd": "tests",
"deno": {
"run": {
"importMap": "tests/.imports.json",
"importMap": "imports.json",
"cert": "/dev/null",
"location": "https://deno.test"
}
}
},
"flags:config": {
"task": "deno run tests/mod.ts",
"flags:general:number": {
"task": "deno help",
"cwd": "tests",
"deno": {
"run": {
"config": "tests/deno_common.jsonc"
},
"lint": {
"config": false
},
"fmt": {
"config": true
"seed": 0
}
}
},
"flags:v8_flags": {
"task": "deno run tests/mod.ts",
"flags:general:array": {
"task": "deno help",
"cwd": "tests",
"deno": {
"run": {
"v8Flags": ["--print-code"]
@@ -47,17 +52,298 @@
"v8Flags": []
}
}
},
"flags:config": {
"task": "deno help",
"cwd": "tests",
"deno": {
"run": {
"config": "deno.jsonc"
},
"test": {
"config": true
},
"lint": {
"config": false
}
}
},
"flags:lock:string": {
"task": "deno help",
"cwd": "tests",
"deno": {
"vendor": {
"lock": "deno.lock"
},
"info": {
"lock": "deno.lock"
},
"run": {
"lock": "deno.lock"
}
}
},
"flags:lock:boolean": {
"task": "deno help",
"cwd": "tests",
"deno": {
"info": {
"lock": false
},
"run": {
"lock": false
}
}
},
"flags:lock:object": {
"task": "deno help",
"cwd": "tests",
"deno": {
"run": {
"lock": {
"write": true
}
},
"test": {
"lock": {
"file": "deno.lock",
"write": false
}
}
}
},
"flags:permissions:all": {
"task": "deno help",
"cwd": "tests",
"deno": {
"run": {
"permissions": {
"allow": true,
"prompt": true
}
},
"test": {
"permissions": {
"allow": false
}
}
}
},
"flags:permissions:boolean": {
"task": "deno help",
"cwd": "tests",
"deno": {
"run": {
"permissions": {
"read": true,
"write": true,
"net": true,
"env": true,
"sys": true,
"run": true,
"ffi": true,
"hrtime": true,
"prompt": true
}
},
"test": {
"permissions": {
"read": false,
"write": false,
"net": false,
"env": false,
"sys": false,
"run": false,
"ffi": false,
"hrtime": false,
"prompt": false
}
}
}
},
"flags:permissions:array": {
"task": "deno help",
"cwd": "tests",
"deno": {
"run": {
"permissions": {
"read": ["test"],
"write": ["test"],
"net": ["https://example.com"],
"env": ["TEST"],
"sys": ["osRelease"],
"run": ["deno"],
"ffi": ["test"]
}
},
"test": {
"permissions": {
"read": [],
"write": [],
"net": [],
"env": [],
"sys": [],
"run": [],
"ffi": []
}
}
}
},
"flags:permissions:allow_deny_object": {
"task": "deno help",
"cwd": "tests",
"deno": {
"run": {
"permissions": {
"read": { "allow": ["test"], "deny": ["test"] },
"write": { "allow": ["test"], "deny": ["test"] },
"net": { "allow": ["https://example.com"], "deny": ["https://example.com"] },
"env": { "allow": ["TEST"], "deny": ["TEST"] },
"sys": { "allow": ["osRelease"], "deny": ["osRelease"] },
"run": { "allow": ["deno"], "deny": ["deno"] },
"ffi": { "allow": ["test"], "deny": ["test"] }
}
},
"test": {
"permissions": {
"read": { "allow": [], "deny": [] },
"write": { "allow": [], "deny": [] },
"net": { "allow": [], "deny": [] },
"env": { "allow": [], "deny": [] },
"sys": { "allow": [], "deny": [] },
"run": { "allow": [], "deny": [] },
"ffi": { "allow": [], "deny": [] }
}
}
}
},
"flags:modules:boolean": {
"task": "deno help",
"cwd": "tests",
"deno": {
"run": {
"cached": true,
"remote": true,
"npm": true,
"check": true,
"reload": true,
"node_modules": true,
"vendor": true
},
"test": {
"cached": false,
"remote": false,
"npm": false,
"check": false,
"reload": false,
"node_modules": false,
"vendor": false
}
}
},
"flags:modules:string": {
"task": "deno help",
"cwd": "tests",
"deno": {
"run": {
"check": "all"
}
}
},
"flags:modules:array": {
"task": "deno help",
"cwd": "tests",
"deno": {
"run": {
"reload": ["npm:"]
},
"test": {
"reload": []
}
}
},
"flags:inspect:string": {
"task": "deno help",
"cwd": "tests",
"deno": {
"run": {
"inspect": "127.0.0.1:9229"
}
}
},
"flags:inspect:object": {
"task": "deno help",
"cwd": "tests",
"deno": {
"run": {
"inspect": {
"listen": "127.0.0.1:9229",
"break": "127.0.0.1:9230",
"wait:": "127.0.0.1:9229"
}
},
"test": {
"inspect": {
}
}
}
},
"flags:watch:boolean": {
"task": "deno help",
"cwd": "tests",
"deno": {
"run": {
"watch": true
},
"test": {
"watch": false
}
}
},
"flags:watch:array": {
"task": "deno help",
"cwd": "tests",
"deno": {
"run": {
"watch": ["mod.ts"]
},
"test": {
"watch": []
}
}
},
"flags:watch:object": {
"task": "deno help",
"cwd": "tests",
"deno": {
"run": {
"watch": {
"files": ["mod.ts"],
"clearScreen": true
}
},
"test": {
"watch": {
"files": [],
"clearScreen": false
}
}
}
}
}
}
/** Common flags
const common = is.object({
config: is.union([
is.boolean().transform((v) => v === false ? "--no-config" : ""),
is.string().transform((v) => v ? `--config='${v}'` : ""),
]).optional(),
cert: is.string().optional().transform((v) => v ? `--cert='${v}'` : ""),
})
*/

1
tests/deno_compile.jsonc Normal file
View File

@@ -0,0 +1 @@
{}

View File

@@ -4,10 +4,30 @@
},
"+tasks": {
"flags:none": {
"task": "deno coverage tests/.coverage"
"task": "deno coverage .coverage",
"cwd": "tests"
},
"flags:filters": {
"task": "deno coverage tests/.coverage",
"flags:boolean_true": {
"task": "deno coverage .coverage",
"cwd": "tests",
"deno": {
"coverage": {
"lcov": true
}
}
},
"flags:boolean_false": {
"task": "deno coverage .coverage",
"cwd": "tests",
"deno": {
"coverage": {
"lcov": false
}
}
},
"flags:string": {
"task": "deno coverage .coverage",
"cwd": "tests",
"deno": {
"coverage": {
"include": "^file:",
@@ -15,12 +35,31 @@
}
}
},
"flags:array": {
"task": "deno coverage .coverage",
"cwd": "tests",
"deno": {
"coverage": {
"ignore": ["foo"]
}
}
},
"flags:array_empty": {
"task": "deno coverage .coverage",
"cwd": "tests",
"deno": {
"coverage": {
"ignore": []
}
}
},
"flags:lcov": {
"task": "deno coverage tests/.coverage",
"task": "deno coverage .coverage",
"cwd": "tests",
"deno": {
"coverage": {
"lcov": true,
"output": "tests/.coverage.report"
"output": ".coverage.report"
}
}
}

View File

@@ -4,16 +4,28 @@
},
"+tasks": {
"flags:none": {
"task": "deno doc tests/mod.ts"
"task": "deno doc mod.ts",
"cwd": "tests"
},
"flags:options": {
"task": "deno doc tests/mod.ts",
"flags:boolean_true": {
"task": "deno doc mod.ts",
"cwd": "tests",
"deno": {
"doc": {
"private": true,
"json": true
}
}
},
"flags:boolean_false": {
"task": "deno doc mod.ts",
"cwd": "tests",
"deno": {
"doc": {
"private": false,
"json": false
}
}
}
}
}

1
tests/deno_eval.jsonc Normal file
View File

@@ -0,0 +1 @@
{}

View File

@@ -4,23 +4,70 @@
},
"+tasks": {
"flags:none": {
"task": "deno check tests/mod.ts"
"task": "deno fmt mod.ts",
"cwd": "tests"
},
"flags:fmt": {
"task": "deno check tests/mod.ts",
"flags:boolean_true": {
"task": "deno fmt mod.ts",
"cwd": "tests",
"deno": {
"fmt": {
"check": true,
"tabs": true,
"lineWidth": 80,
"indentWidth": 2,
"singleQuote": true,
"semicolons": false,
"semicolons": true
}
}
},
"flags:boolean_false": {
"task": "deno fmt mod.ts",
"cwd": "tests",
"deno": {
"fmt": {
"check": false,
"tabs": false,
"singleQuote": false,
"semicolons": false
}
}
},
"flags:string": {
"task": "deno fmt mod.ts",
"cwd": "tests",
"deno": {
"fmt": {
"proseWrap": "always",
"ignore": ["*"],
"ext": "js"
}
}
},
"flags:number": {
"task": "deno fmt mod.ts",
"cwd": "tests",
"deno": {
"fmt": {
"lineWidth": 80,
"indentWidth": 2
}
}
},
"flags:array": {
"task": "deno fmt mod.ts",
"cwd": "tests",
"deno": {
"fmt": {
"ignore": ["*"]
}
}
},
"flags:array_empty": {
"task": "deno fmt mod.ts",
"cwd": "tests",
"deno": {
"fmt": {
"ignore": []
}
}
}
}
}

View File

@@ -4,29 +4,24 @@
},
"+tasks": {
"flags:none": {
"task": "deno info"
},
"flags:lock_1": {
"task": "deno info",
"cwd": "tests"
},
"flags:boolean_true": {
"task": "deno info",
"cwd": "tests",
"deno": {
"info": {
"lock": true
"json": true
}
}
},
"flags:lock_2": {
"flags:boolean_false": {
"task": "deno info",
"cwd": "tests",
"deno": {
"info": {
"lock": false
}
}
},
"flags:lock_3": {
"task": "deno info",
"deno": {
"info": {
"lock": "deno.lock"
"json": false
}
}
}

1
tests/deno_install.jsonc Normal file
View File

@@ -0,0 +1 @@
{}

View File

@@ -4,10 +4,50 @@
},
"+tasks": {
"flags:none": {
"task": "deno types"
},
"flags:rules_1": {
"task": "deno lint",
"cwd": "tests"
},
"flags:json": {
"task": "deno lint",
"cwd": "tests",
"deno": {
"lint": {
"json": true,
"compact": false
}
}
},
"flags:compact": {
"task": "deno lint",
"cwd": "tests",
"deno": {
"lint": {
"compact": true,
"json": false
}
}
},
"flags:array": {
"task": "deno lint",
"cwd": "tests",
"deno": {
"lint": {
"ignore": ["*.js"]
}
}
},
"flags:array_empty": {
"task": "deno lint",
"cwd": "tests",
"deno": {
"lint": {
"ignore": []
}
}
},
"flags:rules": {
"task": "deno lint",
"cwd": "tests",
"deno": {
"lint": {
"rules": {
@@ -18,8 +58,9 @@
}
}
},
"flags:rules_2": {
"flags:rules_empty": {
"task": "deno lint",
"cwd": "tests",
"deno": {
"lint": {
"rules": {
@@ -29,38 +70,6 @@
}
}
}
},
"flags:json": {
"task": "deno lint",
"deno": {
"lint": {
"json": true
}
}
},
"flags:compact": {
"task": "deno lint",
"deno": {
"lint": {
"compact": true
}
}
},
"flags:ignore_1": {
"task": "deno lint",
"deno": {
"lint": {
"ignore": ["*.js"]
}
}
},
"flags:ignore_2": {
"task": "deno lint",
"deno": {
"lint": {
"ignore": []
}
}
}
}
}

View File

@@ -4,22 +4,30 @@
},
"+tasks": {
"make": {
"task": "exit 1",
"description": "🦕 test",
"env": {
"DINOSAUR": "🦖"
}
},
"make:no_description": {
"task": "exit 1"
},
"make:description": {
"task": "exit 1",
"description": "🦕 test"
},
"make:deno": {
"task": "deno quiet",
"task": "deno info",
"deno": {
"info": {
"quiet": true
}
}
},
"make:env": {
"task": "exit 1",
"env": {
"DINOSAUR": "🦖",
"INHERIT": true
}
},
"make:cwd": {
"task": "cwd",
"cwd": "tests"
}
}
}

View File

@@ -1,108 +0,0 @@
{
"tasks": {
"make": "deno run --allow-env --allow-read --allow-write=.deno-make.json --allow-run=deno ./mod.ts $0"
},
"+tasks": {
"flags:all": {
"task": "deno run tests/mod.ts",
"deno": {
"run": {
"permissions": {
"allow": true,
"prompt": true
}
},
"test": {
"permissions": {
"allow": false
}
}
}
},
"flags:booleans": {
"task": "deno run tests/mod.ts",
"deno": {
"run": {
"permissions": {
"read": true,
"write": true,
"net": true,
"env": true,
"sys": true,
"run": true,
"ffi": true,
"hrtime": true,
"prompt": true
}
},
"test": {
"permissions": {
"read": false,
"write": false,
"net": false,
"env": false,
"sys": false,
"run": false,
"ffi": false,
"hrtime": false,
"prompt": false
}
}
}
},
"flags:paths": {
"task": "deno run tests/mod.ts",
"deno": {
"run": {
"permissions": {
"read": ["test"],
"write": ["test"],
"net": ["https://example.com"],
"env": ["FOO"],
"sys": ["osRelease"],
"run": ["deno"],
"ffi": ["test"]
}
},
"test": {
"permissions": {
"read": [],
"write": [],
"net": [],
"env": [],
"sys": [],
"run": [],
"ffi": []
}
}
}
},
"flags:allow_deny": {
"task": "deno run tests/mod.ts",
"deno": {
"run": {
"permissions": {
"read": { "allow": ["test"], "deny": ["test"] },
"write": { "allow": ["test"], "deny": ["test"] },
"net": { "allow": ["https://example.com"], "deny": ["https://example.com"] },
"env": { "allow": ["FOO"], "deny": ["FOO"] },
"sys": { "allow": ["osRelease"], "deny": ["osRelease"] },
"run": { "allow": ["deno"], "deny": ["deno"] },
"ffi": { "allow": ["test"], "deny": ["test"] }
}
},
"test": {
"permissions": {
"read": { "allow": [], "deny": [] },
"write": { "allow": [], "deny": [] },
"net": { "allow": [], "deny": [] },
"env": { "allow": [], "deny": [] },
"sys": { "allow": [], "deny": [] },
"run": { "allow": [], "deny": [] },
"ffi": { "allow": [], "deny": [] }
}
}
}
}
}
}

1
tests/deno_repl.jsonc Normal file
View File

@@ -0,0 +1 @@
{}

View File

@@ -4,60 +4,17 @@
},
"+tasks": {
"flags:none": {
"task": "deno run tests/mod.ts"
"task": "deno run mod.ts",
"cwd": "tests"
},
"flags:ext": {
"task": "deno run tests/mod.ts",
"flags:string": {
"task": "deno run mod.ts",
"cwd": "tests",
"deno": {
"run": {
"ext": "ts"
}
}
},
"flags:lock_1": {
"task": "deno run tests/mod.ts",
"deno": {
"run": {
"lock": true
}
}
},
"flags:lock_2": {
"task": "deno run tests/mod.ts",
"deno": {
"run": {
"lock": false
}
}
},
"flags:lock_3": {
"task": "deno run tests/mod.ts",
"deno": {
"run": {
"lock": {
"write": false
}
}
}
},
"flags:lock_4": {
"task": "deno run tests/mod.ts",
"deno": {
"run": {
"lock": {
"file": "tests/.deno.lock",
"write": true
}
}
}
},
"flags:lock_5": {
"task": "deno run tests/mod.ts",
"deno": {
"run": {
"lock": "deno.lock"
}
}
}
}
}

View File

@@ -4,20 +4,15 @@
},
"+tasks": {
"flags:none": {
"task": "deno test tests/mod_test.ts"
"task": "deno test mod_test.ts",
"cwd": "tests"
},
"flags:doc": {
"task": "deno test tests/mod_test.ts",
"deno": {
"test": {
"doc": true
}
}
},
"flags:execution_1": {
"task": "deno test tests/mod_test.ts",
"flags:boolean_true": {
"task": "deno test mod_test.ts",
"cwd": "tests",
"deno": {
"test": {
"doc": true,
"traceOps": true,
"failFast": true,
"shuffle": true,
@@ -27,10 +22,12 @@
}
}
},
"flags:execution_2": {
"task": "deno test tests/mod_test.ts",
"flags:boolean_false": {
"task": "deno test mod_test.ts",
"cwd": "tests",
"deno": {
"test": {
"doc": false,
"traceOps": false,
"failFast": false,
"shuffle": false,
@@ -40,8 +37,9 @@
}
}
},
"flags:execution_number": {
"task": "deno test tests/mod_test.ts",
"flags:number": {
"task": "deno test mod_test.ts",
"cwd": "tests",
"deno": {
"test": {
"failFast": 1,
@@ -49,39 +47,35 @@
}
}
},
"flags:reporter": {
"flags:string": {
"task": "deno test tests/mod_test.ts",
"cwd": "tests",
"deno": {
"test": {
"coverage": "tests/.coverage",
"coverage": ".coverage",
"reporter": "junit",
"filter": "junit",
"junitPath": "tests/.junit.xml"
}
}
},
"flags:ignore_1": {
"flags:array": {
"task": "deno test tests/mod_test.ts",
"cwd": "tests",
"deno": {
"test": {
"ignore": ["*_test.ts"]
}
}
},
"flags:ignore_2": {
"flags:array_empty": {
"task": "deno test tests/mod_test.ts",
"cwd": "tests",
"deno": {
"test": {
"ignore": []
}
}
},
"flags:filter": {
"task": "deno test tests/mod_test.ts",
"deno": {
"test": {
"filter": "dummy"
}
}
}
}
}

View File

@@ -4,7 +4,8 @@
},
"+tasks": {
"flags:none": {
"task": "deno types"
"task": "deno types",
"cwd": "tests"
}
}
}

View File

@@ -0,0 +1 @@
{}

View File

@@ -4,10 +4,12 @@
},
"+tasks": {
"flags:none": {
"task": "deno vendor 'data:application/typescript;base64,Y29uc29sZS5sb2coJ2Zvbycp'"
"task": "deno vendor mod.ts",
"cwd": "tests"
},
"flags:output_1": {
"task": "deno run 'data:application/typescript;base64,Y29uc29sZS5sb2coJ2Zvbycp'",
"task": "deno run mod.ts",
"cwd": "tests",
"deno": {
"vendor": {
"output": "vendor"
@@ -15,7 +17,8 @@
}
},
"flags:output_2": {
"task": "deno run 'data:application/typescript;base64,Y29uc29sZS5sb2coJ2Zvbycp'",
"task": "deno run mod.ts",
"cwd": "tests",
"deno": {
"vendor": {
"output": {
@@ -26,7 +29,8 @@
}
},
"flags:output_3": {
"task": "deno run 'data:application/typescript;base64,Y29uc29sZS5sb2coJ2Zvbycp'",
"task": "deno run mod.ts",
"cwd": "tests",
"deno": {
"vendor": {
"output": {
@@ -36,7 +40,8 @@
}
},
"flags:lock": {
"task": "deno run 'data:application/typescript;base64,Y29uc29sZS5sb2coJ2Zvbycp'",
"task": "deno run mod.ts",
"cwd": "tests",
"deno": {
"vendor": {
"lock": "deno.lock"

1
tests/imports.json Normal file
View File

@@ -0,0 +1 @@
{}