Files
tree-sitter-shellspec/test/corpus/it_blocks.txt
Ismo Vuorinen c8ba576b4e 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
2026-01-04 15:32:39 +02:00

214 lines
5.3 KiB
Plaintext

================================================================================
Basic It block
================================================================================
It "should work correctly"
echo "test"
End
--------------------------------------------------------------------------------
(program
(shellspec_it_block
description: (string
(string_content))
(command
name: (command_name
(word))
argument: (string
(string_content)))))
================================================================================
Example block
================================================================================
Example "example behavior"
echo "example"
End
--------------------------------------------------------------------------------
(program
(shellspec_it_block
description: (string
(string_content))
(command
name: (command_name
(word))
argument: (string
(string_content)))))
================================================================================
Specify block
================================================================================
Specify "specific behavior"
echo "specify"
End
--------------------------------------------------------------------------------
(program
(shellspec_it_block
description: (string
(string_content))
(command
name: (command_name
(word))
argument: (string
(string_content)))))
================================================================================
Focused It block
================================================================================
fIt "focused test"
echo "focused"
End
--------------------------------------------------------------------------------
(program
(shellspec_it_block
description: (string
(string_content))
(command
name: (command_name
(word))
argument: (string
(string_content)))))
================================================================================
Focused Example block
================================================================================
fExample "focused example"
echo "focused"
End
--------------------------------------------------------------------------------
(program
(shellspec_it_block
description: (string
(string_content))
(command
name: (command_name
(word))
argument: (string
(string_content)))))
================================================================================
Focused Specify block
================================================================================
fSpecify "focused specify"
echo "focused"
End
--------------------------------------------------------------------------------
(program
(shellspec_it_block
description: (string
(string_content))
(command
name: (command_name
(word))
argument: (string
(string_content)))))
================================================================================
Skipped It block
================================================================================
xIt "skipped test"
echo "skipped"
End
--------------------------------------------------------------------------------
(program
(shellspec_it_block
description: (string
(string_content))
(command
name: (command_name
(word))
argument: (string
(string_content)))))
================================================================================
Skipped Example block
================================================================================
xExample "skipped example"
echo "skipped"
End
--------------------------------------------------------------------------------
(program
(shellspec_it_block
description: (string
(string_content))
(command
name: (command_name
(word))
argument: (string
(string_content)))))
================================================================================
Skipped Specify block
================================================================================
xSpecify "skipped specify"
echo "skipped"
End
--------------------------------------------------------------------------------
(program
(shellspec_it_block
description: (string
(string_content))
(command
name: (command_name
(word))
argument: (string
(string_content)))))
================================================================================
It with complex assertions
================================================================================
It "should handle complex logic"
local result
result=$(some_function "param")
[ "$result" = "expected" ]
End
--------------------------------------------------------------------------------
(program
(shellspec_it_block
description: (string
(string_content))
(declaration_command
(variable_name))
(variable_assignment
name: (variable_name)
value: (command_substitution
(command
name: (command_name
(word))
argument: (string
(string_content)))))
(test_command
(binary_expression
left: (string
(simple_expansion
(variable_name)))
right: (string
(string_content))))))