mirror of
https://github.com/ivuorinen/tree-sitter-shellspec.git
synced 2026-02-06 19:49:08 +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:
42
test/spec/08.calling_order_of_hook_spec.sh
Normal file
42
test/spec/08.calling_order_of_hook_spec.sh
Normal file
@@ -0,0 +1,42 @@
|
||||
#shellcheck shell=sh
|
||||
|
||||
hook() { %logger "$1 $2 ${SHELLSPEC_EXAMPLE_ID}"; }
|
||||
|
||||
Describe '1'
|
||||
Before "hook before 1" "hook before 2"
|
||||
After "hook after 1" "hook after 2"
|
||||
|
||||
Describe '1-1'
|
||||
Before "hook before 3"
|
||||
After "hook after 3"
|
||||
|
||||
# The before hook is called by defined order
|
||||
%logger "==== before example 1-1-1 ===="
|
||||
Example '1-1-1'
|
||||
%logger "example ${SHELLSPEC_EXAMPLE_ID}"
|
||||
When call :
|
||||
End
|
||||
%logger "==== after example 1-1-1 ===="
|
||||
# The after hook is called by defined reverse order
|
||||
|
||||
# The before hook is called for each example
|
||||
%logger "==== before example 1-1-2 ===="
|
||||
Example '1-1-2'
|
||||
%logger "example ${SHELLSPEC_EXAMPLE_ID}"
|
||||
When call :
|
||||
End
|
||||
%logger "==== after example 1-1-2 ===="
|
||||
# The after hook is called for each example
|
||||
End
|
||||
|
||||
Describe '1-2'
|
||||
# The before 3 hook is not called
|
||||
%logger "==== before example 1-2-1 ===="
|
||||
Example '1-2-1'
|
||||
%logger "example ${SHELLSPEC_EXAMPLE_ID}"
|
||||
When call :
|
||||
End
|
||||
%logger "==== after example 1-2-1 ===="
|
||||
# The after 3 hook is not called
|
||||
End
|
||||
End
|
||||
Reference in New Issue
Block a user