mirror of
https://github.com/ivuorinen/tree-sitter-shellspec.git
synced 2026-02-02 23:46:58 +00:00
feat: implement complete tree-sitter-shellspec grammar with comprehensive testing
- Add full ShellSpec grammar extending tree-sitter-bash - Support all ShellSpec constructs: Describe, Context, It, hooks, utilities - Include Data block parsing with statements and argument styles - Add 61 comprehensive test cases covering real-world patterns - Implement optimized GitHub workflows with CI/CD automation - Configure complete development tooling (linting, formatting, pre-commit) - Add comprehensive documentation and contribution guidelines - Optimize grammar conflicts to zero warnings - Support editor integration for Neovim, VS Code, Emacs Breaking Changes: - Initial release, no previous API to break BREAKING CHANGE: Initial implementation of tree-sitter-shellspec grammar # Conflicts: # .github/workflows/codeql.yml # .github/workflows/pr-lint.yml # .pre-commit-config.yaml # Conflicts: # .github/workflows/pr-lint.yml # Conflicts: # .github/workflows/pr-lint.yml
This commit is contained in:
37
test/spec/03.example_spec.sh
Normal file
37
test/spec/03.example_spec.sh
Normal file
@@ -0,0 +1,37 @@
|
||||
#shellcheck shell=sh
|
||||
|
||||
Describe 'example example'
|
||||
It 'is "example"'
|
||||
When call echo 'foo'
|
||||
The output should eq 'foo'
|
||||
End
|
||||
|
||||
Example 'is "example"'
|
||||
When call echo 'bar'
|
||||
The output should eq 'bar'
|
||||
End
|
||||
|
||||
Specify 'is also "example"'
|
||||
When call echo 'baz'
|
||||
The output should eq 'baz'
|
||||
End
|
||||
|
||||
Example 'this is "Not yot implemented" example block'
|
||||
:
|
||||
End
|
||||
|
||||
Todo 'what to do' # same as "Not yot implemented" example but not block
|
||||
|
||||
It 'not allows define "example group" in "example"'
|
||||
# Describe 'example group'
|
||||
# this is syntax error
|
||||
# End
|
||||
The value 1 should eq 1
|
||||
End
|
||||
End
|
||||
|
||||
# example group is not required
|
||||
It 'is "example" without "example group"'
|
||||
When call echo 'foo'
|
||||
The output should eq 'foo'
|
||||
End
|
||||
Reference in New Issue
Block a user