diff options
| author | Christoph Sax <christoph.sax@mailbox.org> | 2023-07-30 17:23:30 +0200 |
|---|---|---|
| committer | Christian Clason <c.clason@uni-graz.at> | 2023-07-30 19:29:33 +0200 |
| commit | 536c8a3880a79492e6d69506b36088ebf4dd2f2a (patch) | |
| tree | edec49275195d064df4ace4a4085e48ddbd44796 /tests | |
| parent | feat(t32)!: update queries for new HLL node types (diff) | |
| download | nvim-treesitter-536c8a3880a79492e6d69506b36088ebf4dd2f2a.tar nvim-treesitter-536c8a3880a79492e6d69506b36088ebf4dd2f2a.tar.gz nvim-treesitter-536c8a3880a79492e6d69506b36088ebf4dd2f2a.tar.bz2 nvim-treesitter-536c8a3880a79492e6d69506b36088ebf4dd2f2a.tar.lz nvim-treesitter-536c8a3880a79492e6d69506b36088ebf4dd2f2a.tar.xz nvim-treesitter-536c8a3880a79492e6d69506b36088ebf4dd2f2a.tar.zst nvim-treesitter-536c8a3880a79492e6d69506b36088ebf4dd2f2a.zip | |
feat(t32): re-enable tests
- Switch to GitLab mirror repository
- Lock grammar version 2.2.0
- Revert "fix(tests): mark t32 as allowed to fail"
This reverts commit ba223ceecc5d66312780c45079b6ae55c406fa96.
- Revert "fix(tests): remove t32 tests"
This reverts commit 97957a547b93412411ba3a8a9abd27589247c869.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/indent/t32/if_block.cmm | 49 | ||||
| -rw-r--r-- | tests/indent/t32/repeat_block.cmm | 27 | ||||
| -rw-r--r-- | tests/indent/t32/subroutine_block.cmm | 23 | ||||
| -rw-r--r-- | tests/indent/t32/while_block.cmm | 14 | ||||
| -rw-r--r-- | tests/indent/t32_spec.lua | 123 | ||||
| -rw-r--r-- | tests/query/highlights/t32/comments.cmm | 10 | ||||
| -rw-r--r-- | tests/query/highlights/t32/keywords.cmm | 108 | ||||
| -rw-r--r-- | tests/query/highlights/t32/literals.cmm | 38 | ||||
| -rw-r--r-- | tests/query/highlights/t32/var.cmm | 27 |
9 files changed, 419 insertions, 0 deletions
diff --git a/tests/indent/t32/if_block.cmm b/tests/indent/t32/if_block.cmm new file mode 100644 index 000000000..e85b5e714 --- /dev/null +++ b/tests/indent/t32/if_block.cmm @@ -0,0 +1,49 @@ +IF &a + STOP + +IF (TRUE()) +( + BREAK +) + +IF (&b+CouNT()) +( + continue +) + +IF FOUND() + STOP +ELSE + CONTinue + +IF &c + CONTinue +ELSE IF FALSE() + Break +ELSE + stop + +IF &d +( + STOP +) +ELSE IF &e +; comment A +( + CONTINUE +) +ELSE +; comment B +( + BREAK +) + +IF &f + IF &g + stop + ELSE + IF &h + ( + continue + ) + diff --git a/tests/indent/t32/repeat_block.cmm b/tests/indent/t32/repeat_block.cmm new file mode 100644 index 000000000..6384183dc --- /dev/null +++ b/tests/indent/t32/repeat_block.cmm @@ -0,0 +1,27 @@ +RePeaT 10. PRINT "A" + +RePeaT &a + print + +REPEAT 0xaAfF09 +( + cont +) + +RPT +( + b +) + +rpt +( + s +) +WHILE &a + +REPEAT TRUE() +; comment +( + cont +) + diff --git a/tests/indent/t32/subroutine_block.cmm b/tests/indent/t32/subroutine_block.cmm new file mode 100644 index 000000000..24891c609 --- /dev/null +++ b/tests/indent/t32/subroutine_block.cmm @@ -0,0 +1,23 @@ +printA: +( + PRINT "A" + RETURN +) + +sUBROUtINE printB +( + ENTRY &in + + PRINT "&in" + RETURN +) + +SUBROUTINE printC +// comment +( + PARAMETERS &a &b + + PRINT "&a"+"&b" + ENDDO +) + diff --git a/tests/indent/t32/while_block.cmm b/tests/indent/t32/while_block.cmm new file mode 100644 index 000000000..bfcbd45db --- /dev/null +++ b/tests/indent/t32/while_block.cmm @@ -0,0 +1,14 @@ +WHILE &a + Step + +WHILE (sYmbol.EXIT(main)) +( + Step + Break +) + +WHILE (FALSE()) +// comment +( + ECHO "test" +) diff --git a/tests/indent/t32_spec.lua b/tests/indent/t32_spec.lua new file mode 100644 index 000000000..b305cd61c --- /dev/null +++ b/tests/indent/t32_spec.lua @@ -0,0 +1,123 @@ +local Runner = require("tests.indent.common").Runner +local XFAIL = require("tests.indent.common").XFAIL + +local runner = Runner:new(it, "tests/indent/t32", { + tabstop = 2, + shiftwidth = 2, + softtabstop = 0, + expandtab = true, +}) + +describe("indent t32:", function() + describe("whole file:", function() + runner:whole_file "." + end) + + describe("new line:", function() + runner:new_line("if_block.cmm", { on_line = 2, text = "GOTO start", indent = 0 }, "command after IF", XFAIL) + + runner:new_line("if_block.cmm", { on_line = 5, text = "GOTO start", indent = 2 }, "command in IF then block") + + runner:new_line("if_block.cmm", { on_line = 4, text = "(", indent = 0 }, "block after IF") + + for ii, test in ipairs { + { 1, 2 }, + { 14, 2 }, + { 19, 2 }, + { 21, 2 }, + { 41, 2 }, + { 42, 4 }, + } do + runner:new_line( + "if_block.cmm", + { on_line = test[1], text = "&x=1.", indent = test[2] }, + "command in IF then[" .. ii .. "]" + ) + end + + runner:new_line("if_block.cmm", { on_line = 45, text = "&x=1.", indent = 2 }, "command in IF then") + + for ii, test in ipairs { + { 16, 2 }, + { 21, 2 }, + { 23, 2 }, + { 44, 4 }, + } do + runner:new_line( + "if_block.cmm", + { on_line = test[1], text = "(\n", indent = test[2] }, + "command in IF else[" .. ii .. "]" + ) + end + + runner:new_line("while_block.cmm", { on_line = 2, text = "&x=1.", indent = 2 }, "command after WHILE") + + runner:new_line("while_block.cmm", { on_line = 4, text = "&x=1.", indent = 0 }, "command after WHILE") + + runner:new_line("while_block.cmm", { on_line = 1, text = "(\n", indent = 0 }, "block in WHILE then") + + for ii, test in ipairs { + { 5, 2 }, + { 12, 2 }, + } do + runner:new_line( + "while_block.cmm", + { on_line = test[1], text = "&x=1.", indent = test[2] }, + "command in WHILE then block[" .. ii .. "]" + ) + end + + for ii, test in ipairs { + { 1, 0, nil }, + { 4, 2, XFAIL }, + } do + runner:new_line( + "repeat_block.cmm", + { on_line = test[1], text = "&x=1.", indent = test[2] }, + "command after RePeaT[" .. ii .. "]" + ) + end + + runner:new_line("repeat_block.cmm", { on_line = 3, text = "(\n", indent = 0 }, "block in RePeaT then") + + for ii, test in ipairs { + { 7, 2, XFAIL }, + { 18, 2, nil }, + { 24, 2, XFAIL }, + } do + runner:new_line( + "repeat_block.cmm", + { on_line = test[1], text = "&x=1.", indent = test[2] }, + "command in RePeaT then block [" .. ii .. "]" + ) + end + + runner:new_line("subroutine_block.cmm", { on_line = 1, text = "(\n", indent = 0 }, "block after call label") + + for ii, test in ipairs { + { 2, 2, XFAIL }, + { 3, 2, nil }, + { 8, 2, XFAIL }, + { 12, 2, nil }, + { 19, 2, XFAIL }, + } do + runner:new_line( + "subroutine_block.cmm", + { on_line = test[1], text = "&x=1.", indent = test[2] }, + "command in subroutine block[" .. ii .. "]" + ) + end + + for ii, test in ipairs { + { 5, 2 }, + { 13, 2 }, + { 23, 2 }, + } do + runner:new_line( + "subroutine_block.cmm", + { on_line = test[1], text = "&x=1.", indent = test[2] }, + "command after subroutine block[" .. ii .. "]" + ) + end + end) +end) diff --git a/tests/query/highlights/t32/comments.cmm b/tests/query/highlights/t32/comments.cmm new file mode 100644 index 000000000..0bab130f6 --- /dev/null +++ b/tests/query/highlights/t32/comments.cmm @@ -0,0 +1,10 @@ +// This is a comment +; <- comment + +; Another comment +; <- comment + +ECHO &a // This is a trailing comment +; ^ comment + +// vim: set ft=t32: diff --git a/tests/query/highlights/t32/keywords.cmm b/tests/query/highlights/t32/keywords.cmm new file mode 100644 index 000000000..f51786e46 --- /dev/null +++ b/tests/query/highlights/t32/keywords.cmm @@ -0,0 +1,108 @@ +PRIVATE &password +; <- keyword +; ^ variable.builtin +ENTRY &password +; <- keyword +; ^ parameter + +ENTRY %LINE &salt +; <- keyword +; ^ constant.builtin +; ^ parameter + +IF "&password"=="" +; <- conditional +; ^ string +; ^ variable.builtin +; ^ operator +( + ECHO "Failed to provide password." + ENDDO +; ^ keyword.return +) +ELSE +; <- conditional +( + PRIVATE &pass + + &pass=FALSE() +; ^ function.builtin + WHILE !&pass +; ^ operator + ( + GOSUB verify_password "&password" +; ^ function.call + RETURNVALUES &pass +; ^ parameter + WAIT 10.ms +; ^ number + ) + + IF !&pass + GOTO fail +; ^ label + ELSE + ( + GOSUB start_debug +; ^ function.call + ) +) + +LOCAL &num +; ^ variable.builtin + +&num = 2. +; ^ number + +RePeaT &num PRINT "Password: &password" +; ^ variable.builtin +; ^ variable.builtin + +WinCLEAR +FramePOS ,,,,Maximized +; ^ punctuation.delimiter +; ^ constant +WinPOS 0% 50% 100% 35% +; ^ number +COVerage.ListFunc + +ENDDO + + +fail: +; <- label + PRINT %ERROR "Password verification failed." + END +; ^ keyword.return + + +verify_password: +; <- function +( + PARAMETERS &password +; ^ parameter + + SYStem.Option.KEYCODE "&password" + SYStem.JtagClock 1kHz +; ^ number + SYStem.Mode.Attach + + Data.Set EAXI:0x34000000 %Long 0x34000100 0x34000021 /verify +; ^ number +; ^ constant.builtin +; ^ constant + + RETURN TRUE() +; ^ keyword.return +) + + +SUBROUTINE start_debug +; ^ function +( + Go main + RETURN +; ^ keyword.return +) + +// vim: set ft=t32: diff --git a/tests/query/highlights/t32/literals.cmm b/tests/query/highlights/t32/literals.cmm new file mode 100644 index 000000000..b1662639b --- /dev/null +++ b/tests/query/highlights/t32/literals.cmm @@ -0,0 +1,38 @@ +WinPOS ,,1000.,,,,myWatchWindow +; ^ number + +PRinTer.OPEN "~~~/varwatch.txt" ASCIIE +; ^ string + +sYmbol.NEW _InitialSP 0x34000100 +; ^ number + +DO ~~~~/test.cmm +; ^ string.special + +WAIT 1.ns +; ^ number + +SYStem.JtagClock 100.GHZ +; ^ number + +DATA.SET P:&HEAD+0x4 %LONG DATA.LONG(EA:&HEAD+0x4)&0xFFFFFF +; ^ number + +List `main` +; ^ symbol + +&range = 'a'--'z'||'0'--'9' +; ^ character +; ^ operator +; ^ character + +Data.Set N: 0xffff800000 0y0011xx01xx&&a +; ^ number +; ^ number +; ^ operator + +WinPOS 0% 85% 100% 15% +; ^ number + +// vim: set ft=t32: diff --git a/tests/query/highlights/t32/var.cmm b/tests/query/highlights/t32/var.cmm new file mode 100644 index 000000000..a2d6f9b2a --- /dev/null +++ b/tests/query/highlights/t32/var.cmm @@ -0,0 +1,27 @@ +Var.NEWGLOBAL char[4][32] \myarr +; <- keyword +; ^ type +; ^ variable.builtin +LOCAL &i &data + +&data="zero|one|two|three" + +&i=0. +WHILE &i<4 +( + PRIVATE &val + &val=STRing.SPLIT("&data","|",&i) + Var.Assign \myarr[&i]="&val" +; ^ variable.builtin + &i=&i+1. +) + +Var.NEWLOCAL \x +; <- keyword +; ^ variable.builtin +Var.set \x=func3(5,3) +; ^ variable.builtin +PRINT Var.VALUE(\x) +; ^ variable.builtin + +// vim: set ft=t32: |
