mirror of
https://github.com/denoland/deno.git
synced 2025-01-11 08:33:43 -05:00
chore: auto-complete for __spec__.jsonc file (#23476)
This makes writing these tests a little easier.
This commit is contained in:
parent
f61e1a9796
commit
db3b3fb665
2 changed files with 108 additions and 1 deletions
|
@ -76,9 +76,26 @@ a "steps" array.
|
||||||
- `args` - A string (that will be spilt on whitespace into an args array) or an
|
- `args` - A string (that will be spilt on whitespace into an args array) or an
|
||||||
array of arguments.
|
array of arguments.
|
||||||
- `output` - Path to use to assert the output.
|
- `output` - Path to use to assert the output.
|
||||||
- `clean` (boolean) - Whether to empty the deno_dir before running the step.
|
- `cleanDenoDir` (boolean) - Whether to empty the deno_dir before running the
|
||||||
|
step.
|
||||||
- `exitCode` (number) - Expected exit code.
|
- `exitCode` (number) - Expected exit code.
|
||||||
|
|
||||||
|
### Auto-complete
|
||||||
|
|
||||||
|
To get auto-complete for these files, add the following to a local
|
||||||
|
`.vscode/settings.json` file:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"json.schemas": [{
|
||||||
|
"fileMatch": [
|
||||||
|
"__test__.jsonc"
|
||||||
|
],
|
||||||
|
"url": "./tests/specs/schema.json"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
## `.out` files
|
## `.out` files
|
||||||
|
|
||||||
`.out` files are used to assert the output when running a test or test step.
|
`.out` files are used to assert the output when running a test or test step.
|
||||||
|
|
90
tests/specs/schema.json
Normal file
90
tests/specs/schema.json
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
{
|
||||||
|
"$id": "https://github.com/denoland/deno/blob/tests/specs/schema.json",
|
||||||
|
"$schema": "http://json-schema.org/draft-07/schema",
|
||||||
|
"description": "Schema file for the __test__.jsonc files",
|
||||||
|
"required": [],
|
||||||
|
"title": "Deno internal spec test schema",
|
||||||
|
"type": "object",
|
||||||
|
"definitions": {
|
||||||
|
"single_test": {
|
||||||
|
"type": "object",
|
||||||
|
"required": ["args", "output"],
|
||||||
|
"properties": {
|
||||||
|
"args": {
|
||||||
|
"default": "",
|
||||||
|
"oneOf": [{
|
||||||
|
"type": "string"
|
||||||
|
}, {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"cleanDenoDir": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"cwd": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"commandName": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"envs": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"output": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"exitCode": {
|
||||||
|
"type": "integer"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"oneOf": [{
|
||||||
|
"required": ["steps"],
|
||||||
|
"properties": {
|
||||||
|
"tempDir": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"base": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"envs": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"steps": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/definitions/single_test"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"allOf": [{
|
||||||
|
"properties": {
|
||||||
|
"tempDir": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"base": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"envs": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"$ref": "#/definitions/single_test"
|
||||||
|
}]
|
||||||
|
}]
|
||||||
|
}
|
Loading…
Reference in a new issue