diff options
| author | partizan <serg.partizan@gmail.com> | 2021-08-30 21:18:04 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-08-30 20:18:04 +0200 |
| commit | cd4c0a7526561ff94b80bde0a058c1661b62da76 (patch) | |
| tree | 2b1a375e40ea03d578fb11961e8d79d40a0bdc3a /tests | |
| parent | Add python to .editorconfig (diff) | |
| download | nvim-treesitter-cd4c0a7526561ff94b80bde0a058c1661b62da76.tar nvim-treesitter-cd4c0a7526561ff94b80bde0a058c1661b62da76.tar.gz nvim-treesitter-cd4c0a7526561ff94b80bde0a058c1661b62da76.tar.bz2 nvim-treesitter-cd4c0a7526561ff94b80bde0a058c1661b62da76.tar.lz nvim-treesitter-cd4c0a7526561ff94b80bde0a058c1661b62da76.tar.xz nvim-treesitter-cd4c0a7526561ff94b80bde0a058c1661b62da76.tar.zst nvim-treesitter-cd4c0a7526561ff94b80bde0a058c1661b62da76.zip | |
test: Add tests for is_in_node_range (#1756)
* fix: is_in_node_range now includes end line and col
This fixes no indents at the end of python files
Refs #1136
* update scala highlights (#1760)
* add type highlights
* add call expression highlights
* add function definition highlights
* add expression highlights
* add literals highlights
* add operator highlights
* add punctuation highlights
* add comment highlights
Co-authored-by: Stevan Milic <stevan.milic@tradecore.com>
* test: Add unit tests
* Revert "fix: is_in_node_range now includes end line and col"
This reverts commit 5a721fef5620eb2fae6d9cebe09bf7b230f2606f.
* refactor test
* apply stylua
* fix luacheck
* update `describe` text
* smallfix
Co-authored-by: Stevan Milic <stevan.milic@yahoo.com>
Co-authored-by: Stevan Milic <stevan.milic@tradecore.com>
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/unit/ts_utils_spec.lua | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/unit/ts_utils_spec.lua b/tests/unit/ts_utils_spec.lua new file mode 100644 index 000000000..1825a3b68 --- /dev/null +++ b/tests/unit/ts_utils_spec.lua @@ -0,0 +1,41 @@ +local tsutils = require "nvim-treesitter.ts_utils" + +describe("is_in_node_range", function() + local function test_is_in_node_range(line, col) + local node = { + range = function() + return unpack { 0, 3, 2, 5 } + end, + } + return tsutils.is_in_node_range(node, line, col) + end + + it("returns false before node start", function() + assert.is_false(test_is_in_node_range(0, 0)) + assert.is_false(test_is_in_node_range(0, 1)) + assert.is_false(test_is_in_node_range(0, 2)) + end) + + it("returns true at node start", function() + assert.is_true(test_is_in_node_range(0, 3)) + end) + + it("returns true on first line of the node", function() + assert.is_true(test_is_in_node_range(0, 4)) + end) + + it("returns true between node lines", function() + assert.is_true(test_is_in_node_range(1, 2)) + assert.is_true(test_is_in_node_range(1, 20)) + end) + + it("returns false on node end", function() + -- Ranges are end-exclusive + assert.is_false(test_is_in_node_range(2, 5)) + end) + + it("returns false after node end", function() + assert.is_false(test_is_in_node_range(2, 6)) + assert.is_false(test_is_in_node_range(3, 0)) + end) +end) |
