mirror of
https://github.com/ivuorinen/tree-sitter-shellspec.git
synced 2026-01-27 19:44:25 +00:00
- Fix grammar.js TypeScript errors by correcting optional field usage - Update .yamlignore to use more robust glob pattern (**/node_modules/**) - Remove hard-coded test count from README.md for maintainability - Fix shellcheck directive format (add space after #) in all test specs - Fix typos throughout test specifications: - 'can not' → 'cannot' - 'expantion' → 'expansion' - 'singnal' → 'signal' - 'It mean' → 'It means' - Update CODE_OF_CONDUCT.md HTTP links to HTTPS - Update tree-sitter parse command to use --scope instead of --language - Add comments to .mega-linter.yml explaining disabled linters All grammar tests still pass (61/61) and the parser functions correctly with the updated tree-sitter CLI v0.25.0.
50 lines
1.1 KiB
Bash
50 lines
1.1 KiB
Bash
# shellcheck shell=sh
|
|
|
|
# Each block (example group / example) runs within subshell.
|
|
# It means that it works like lexical scope.
|
|
|
|
Describe 'scope example'
|
|
foo() { echo "foo"; } # It can call from anywhere within this example group
|
|
|
|
# By the way, you can only use shellspec DSL or define function here.
|
|
# Of course it is possible to write freely within the defined function
|
|
# but other code may breaks isolation of tests.
|
|
|
|
It 'calls "foo"'
|
|
When call foo
|
|
The output should eq 'foo'
|
|
End
|
|
|
|
It 'defines "bar" function'
|
|
bar() { echo "bar"; }
|
|
When call bar
|
|
The output should eq 'bar'
|
|
End
|
|
|
|
It 'cannot call "bar" function, because different scope'
|
|
When call bar
|
|
The status should be failure # probably status is 127
|
|
The stderr should be present # probably stderr is "bar: not found"
|
|
End
|
|
|
|
It 'redefines "foo" function'
|
|
foo() { echo "FOO"; }
|
|
When call foo
|
|
The output should eq 'FOO'
|
|
End
|
|
|
|
It 'calls "foo" function of outer scope (not previous example)'
|
|
When call foo
|
|
The output should eq 'foo'
|
|
End
|
|
|
|
Describe 'sub block'
|
|
foo() { echo "Foo"; }
|
|
|
|
It 'calls "foo" function of upper scope'
|
|
When call foo
|
|
The output should eq 'Foo'
|
|
End
|
|
End
|
|
End
|