mirror of
https://github.com/denoland/deno.git
synced 2024-12-23 15:49:44 -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
|
||||
array of arguments.
|
||||
- `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.
|
||||
|
||||
### 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 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