aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorCaleb White <cdwhite3@pm.me>2024-08-18 05:30:04 -0500
committerGitHub <noreply@github.com>2024-08-18 12:30:04 +0200
commitec8776ed9ef56ffe7a61e67b64d5d6b6aba2c631 (patch)
treec7ba6a551dc8fa364104378872d2cad5ff0b6d9b /tests
parentbot(lockfile): update go, html, json, python, rust, swift, vhs (diff)
downloadnvim-treesitter-ec8776ed9ef56ffe7a61e67b64d5d6b6aba2c631.tar
nvim-treesitter-ec8776ed9ef56ffe7a61e67b64d5d6b6aba2c631.tar.gz
nvim-treesitter-ec8776ed9ef56ffe7a61e67b64d5d6b6aba2c631.tar.bz2
nvim-treesitter-ec8776ed9ef56ffe7a61e67b64d5d6b6aba2c631.tar.lz
nvim-treesitter-ec8776ed9ef56ffe7a61e67b64d5d6b6aba2c631.tar.xz
nvim-treesitter-ec8776ed9ef56ffe7a61e67b64d5d6b6aba2c631.tar.zst
nvim-treesitter-ec8776ed9ef56ffe7a61e67b64d5d6b6aba2c631.zip
feat(php): php 8.4 support (#6741)
* chore(php): update maintainers * feat(php): update php rules, highlight imported functions/consts * feat(php): indent inside property hooks * chore: update php and php_only revision
Diffstat (limited to 'tests')
-rw-r--r--tests/indent/php/property-hooks.php13
-rw-r--r--tests/indent/php_spec.lua5
-rw-r--r--tests/query/highlights/php/keywords.php35
3 files changed, 53 insertions, 0 deletions
diff --git a/tests/indent/php/property-hooks.php b/tests/indent/php/property-hooks.php
new file mode 100644
index 000000000..e4aea4fdd
--- /dev/null
+++ b/tests/indent/php/property-hooks.php
@@ -0,0 +1,13 @@
+<?php
+
+class Foo
+{
+ private string $_baz;
+
+ public string $baz {
+ &get => $this->_baz;
+ set {
+ $this->_baz = strtoupper($value);
+ }
+ }
+}
diff --git a/tests/indent/php_spec.lua b/tests/indent/php_spec.lua
index 2a41079ff..c3f84e6e2 100644
--- a/tests/indent/php_spec.lua
+++ b/tests/indent/php_spec.lua
@@ -67,5 +67,10 @@ describe("indent PHP:", function()
run:new_line("issue-6888.php", { on_line = 6, text = "$a;", indent = 0 })
run:new_line("issue-6888.php", { on_line = 8, text = "$a;", indent = 4 })
run:new_line("issue-6888.php", { on_line = 11, text = "$a;", indent = 0 })
+ run:new_line("property-hooks.php", { on_line = 7, text = "get;", indent = 8 })
+ run:new_line("property-hooks.php", { on_line = 8, text = "set;", indent = 8 })
+ run:new_line("property-hooks.php", { on_line = 9, text = "$a;", indent = 12 })
+ run:new_line("property-hooks.php", { on_line = 11, text = "get;", indent = 8 })
+ run:new_line("property-hooks.php", { on_line = 12, text = "get;", indent = 4 })
end)
end)
diff --git a/tests/query/highlights/php/keywords.php b/tests/query/highlights/php/keywords.php
index f3d3f95a7..6b938c43f 100644
--- a/tests/query/highlights/php/keywords.php
+++ b/tests/query/highlights/php/keywords.php
@@ -1,5 +1,40 @@
<?php
+namespace Foo\Bar;
+//^^^^^^^ @keyword.type
+// ^^^ @module
+// ^^^ @module
+
+use Foo\Baz as Baaz;
+//^ @keyword.import
+// ^^^ @module
+// ^^^ @type
+// ^^ @keyword.operator
+// ^^^^ @type.definition
+
+use function Foo\foo as fooo;
+// ^^^^^^^^ @keyword.function
+// ^^^ @function
+// ^^^^ @function
+
+use const Foo\FOO as FOOO;
+// ^^^^^ @keyword.modifier
+// ^^^ @constant
+// ^^^^ @constant
+
+use Foo\Baz\{
+// ^^^ @module
+// ^^^ @module
+ Bar,
+//^^^ @type
+ function foo,
+//^^^^^^^^ @keyword.function
+// ^^^ @function
+ const FOO,
+//^^^^^ @keyword.modifier
+// ^^^ @constant
+};
+
abstract class A
{
protected readonly static $a;