mirror of
https://github.com/ivuorinen/tree-sitter-shellspec.git
synced 2026-02-10 00:50:22 +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:
35
test/spec/22.sourcced_spec.sh
Normal file
35
test/spec/22.sourcced_spec.sh
Normal file
@@ -0,0 +1,35 @@
|
||||
#shellcheck shell=sh
|
||||
|
||||
# Sometime, functions are defined in a single shell script.
|
||||
# You will want to test it. but you do not want to run the script.
|
||||
# You want to test only the function, right?
|
||||
Describe 'sourced return example'
|
||||
Include ./count_lines.sh
|
||||
|
||||
Example 'test cpunum.sh with stubbed cat /cpu/info'
|
||||
Data
|
||||
#|1
|
||||
#|2
|
||||
#|3
|
||||
#|4
|
||||
#|5
|
||||
End
|
||||
|
||||
When call count_lines
|
||||
The stdout should eq 5
|
||||
End
|
||||
|
||||
Example 'test cpunum.sh with stubbed cat /cpu/info'
|
||||
Data data
|
||||
data() {
|
||||
%putsn "line1"
|
||||
%putsn "line2"
|
||||
%putsn "line3"
|
||||
%putsn "line4"
|
||||
%puts "line5 (without newline)"
|
||||
}
|
||||
|
||||
When call count_lines
|
||||
The stdout should eq 5
|
||||
End
|
||||
End
|
||||
Reference in New Issue
Block a user