82 lines
1.1 KiB
Bash
Executable file
82 lines
1.1 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
version=0.0.1
|
|
|
|
source "${ROOT:-$PWD}/.bpan/run-or-docker.bash"
|
|
|
|
check() (
|
|
need bash 4.4
|
|
)
|
|
|
|
dockerfile() (
|
|
from alpine
|
|
pkg vim
|
|
)
|
|
|
|
main() (
|
|
id=$(new-test-id)
|
|
tmp=$(mktemp -d)
|
|
orig=$tmp/yaml
|
|
edit=$tmp/$id.yaml
|
|
new=src/$id.yaml
|
|
|
|
trap 'rm -fr $tmp' exit
|
|
|
|
template > "$orig"
|
|
cp "$orig" "$edit"
|
|
|
|
"${editor:-vim}" "$edit"
|
|
|
|
echo
|
|
if diff "$edit" "$orig" &>/dev/null; then
|
|
echo "New test case aborted"
|
|
else
|
|
cp "$edit" "$new"
|
|
echo "Created new test case: '$new'"
|
|
fi
|
|
)
|
|
|
|
template() (
|
|
cat <<...
|
|
---
|
|
- name: <test title>
|
|
|
|
from: '@your-github-id'
|
|
|
|
tags: alias anchor comment complex-key directive document double duplicate-key edge empty-key empty error explicit-key flow folded footer header indent literal local-tag mapping scalar sequence simple single spec tag whitespace
|
|
|
|
# error: true
|
|
# skip: true
|
|
|
|
yaml: |
|
|
---
|
|
name: YAML
|
|
...
|
|
|
|
tree: |
|
|
+STR
|
|
+DOC ---
|
|
+SEQ
|
|
+MAP
|
|
=VAL :name
|
|
=VAL :YAML
|
|
-MAP
|
|
-SEQ
|
|
-DOC ...
|
|
-STR
|
|
|
|
json: |
|
|
[
|
|
{
|
|
"name": "YAML"
|
|
}
|
|
]
|
|
|
|
dump: |
|
|
---
|
|
name: YAML
|
|
|
|
...
|
|
)
|
|
|
|
run "$@"
|