git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [PATCH 0/2] userdiff: support new keywords in PHP hunk header
@ 2018-07-03 13:15 Kana Natsuno
  2018-07-03 13:15 ` [PATCH 1/2] t4018: add missing test cases for PHP Kana Natsuno
  2018-07-03 13:15 ` [PATCH 2/2] userdiff: support new keywords in PHP hunk header Kana Natsuno
  0 siblings, 2 replies; 4+ messages in thread
From: Kana Natsuno @ 2018-07-03 13:15 UTC (permalink / raw)
  To: git; +Cc: Kana Natsuno

Recent version of PHP supports interface, trait, abstract class and
final class.  This patch fixes the PHP hunk header regexp to support
all of these keywords.

Kana Natsuno (2):
  t4018: add missing test cases for PHP
  userdiff: support new keywords in PHP hunk header

 t/t4018/php-abstract-class | 4 ++++
 t/t4018/php-class          | 4 ++++
 t/t4018/php-final-class    | 4 ++++
 t/t4018/php-function       | 4 ++++
 t/t4018/php-interface      | 4 ++++
 t/t4018/php-method         | 7 +++++++
 t/t4018/php-trait          | 7 +++++++
 userdiff.c                 | 2 +-
 8 files changed, 35 insertions(+), 1 deletion(-)
 create mode 100644 t/t4018/php-abstract-class
 create mode 100644 t/t4018/php-class
 create mode 100644 t/t4018/php-final-class
 create mode 100644 t/t4018/php-function
 create mode 100644 t/t4018/php-interface
 create mode 100644 t/t4018/php-method
 create mode 100644 t/t4018/php-trait

-- 
2.10.1 (Apple Git-78)


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/2] t4018: add missing test cases for PHP
  2018-07-03 13:15 [PATCH 0/2] userdiff: support new keywords in PHP hunk header Kana Natsuno
@ 2018-07-03 13:15 ` Kana Natsuno
  2018-07-06 21:59   ` Junio C Hamano
  2018-07-03 13:15 ` [PATCH 2/2] userdiff: support new keywords in PHP hunk header Kana Natsuno
  1 sibling, 1 reply; 4+ messages in thread
From: Kana Natsuno @ 2018-07-03 13:15 UTC (permalink / raw)
  To: git; +Cc: Kana Natsuno

A later patch changes the built-in PHP pattern. These test cases
demonstrate aspects of the pattern that we do not want to change.

Signed-off-by: Kana Natsuno <dev@whileimautomaton.net>
---
 t/t4018/php-class    | 4 ++++
 t/t4018/php-function | 4 ++++
 t/t4018/php-method   | 7 +++++++
 3 files changed, 15 insertions(+)
 create mode 100644 t/t4018/php-class
 create mode 100644 t/t4018/php-function
 create mode 100644 t/t4018/php-method

diff --git a/t/t4018/php-class b/t/t4018/php-class
new file mode 100644
index 0000000..7785b63
--- /dev/null
+++ b/t/t4018/php-class
@@ -0,0 +1,4 @@
+class RIGHT
+{
+    const FOO = 'ChangeMe';
+}
diff --git a/t/t4018/php-function b/t/t4018/php-function
new file mode 100644
index 0000000..35717c5
--- /dev/null
+++ b/t/t4018/php-function
@@ -0,0 +1,4 @@
+function RIGHT()
+{
+    return 'ChangeMe';
+}
diff --git a/t/t4018/php-method b/t/t4018/php-method
new file mode 100644
index 0000000..03af1a6
--- /dev/null
+++ b/t/t4018/php-method
@@ -0,0 +1,7 @@
+class Klass
+{
+    public static function RIGHT()
+    {
+        return 'ChangeMe';
+    }
+}
-- 
2.10.1 (Apple Git-78)


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] userdiff: support new keywords in PHP hunk header
  2018-07-03 13:15 [PATCH 0/2] userdiff: support new keywords in PHP hunk header Kana Natsuno
  2018-07-03 13:15 ` [PATCH 1/2] t4018: add missing test cases for PHP Kana Natsuno
@ 2018-07-03 13:15 ` Kana Natsuno
  1 sibling, 0 replies; 4+ messages in thread
From: Kana Natsuno @ 2018-07-03 13:15 UTC (permalink / raw)
  To: git; +Cc: Kana Natsuno

Recent version of PHP supports interface, trait, abstract class and
final class.  This patch fixes the PHP hunk header regexp to support
all of these keywords.

Signed-off-by: Kana Natsuno <dev@whileimautomaton.net>
---
 t/t4018/php-abstract-class | 4 ++++
 t/t4018/php-final-class    | 4 ++++
 t/t4018/php-interface      | 4 ++++
 t/t4018/php-trait          | 7 +++++++
 userdiff.c                 | 2 +-
 5 files changed, 20 insertions(+), 1 deletion(-)
 create mode 100644 t/t4018/php-abstract-class
 create mode 100644 t/t4018/php-final-class
 create mode 100644 t/t4018/php-interface
 create mode 100644 t/t4018/php-trait

diff --git a/t/t4018/php-abstract-class b/t/t4018/php-abstract-class
new file mode 100644
index 0000000..5213e12
--- /dev/null
+++ b/t/t4018/php-abstract-class
@@ -0,0 +1,4 @@
+abstract class RIGHT
+{
+    const FOO = 'ChangeMe';
+}
diff --git a/t/t4018/php-final-class b/t/t4018/php-final-class
new file mode 100644
index 0000000..69f5710
--- /dev/null
+++ b/t/t4018/php-final-class
@@ -0,0 +1,4 @@
+final class RIGHT
+{
+    const FOO = 'ChangeMe';
+}
diff --git a/t/t4018/php-interface b/t/t4018/php-interface
new file mode 100644
index 0000000..86b49ad
--- /dev/null
+++ b/t/t4018/php-interface
@@ -0,0 +1,4 @@
+interface RIGHT
+{
+    public function foo($ChangeMe);
+}
diff --git a/t/t4018/php-trait b/t/t4018/php-trait
new file mode 100644
index 0000000..65b8c82
--- /dev/null
+++ b/t/t4018/php-trait
@@ -0,0 +1,7 @@
+trait RIGHT
+{
+    public function foo($ChangeMe)
+    {
+        return 'foo';
+    }
+}
diff --git a/userdiff.c b/userdiff.c
index a69241b..36af25e 100644
--- a/userdiff.c
+++ b/userdiff.c
@@ -114,7 +114,7 @@ PATTERNS("perl",
 	 "|<<|<>|<=>|>>"),
 PATTERNS("php",
 	 "^[\t ]*(((public|protected|private|static)[\t ]+)*function.*)$\n"
-	 "^[\t ]*(class.*)$",
+	 "^[\t ]*((((final|abstract)[\t ]+)?class|interface|trait).*)$",
 	 /* -- */
 	 "[a-zA-Z_][a-zA-Z0-9_]*"
 	 "|[-+0-9.e]+|0[xXbB]?[0-9a-fA-F]+"
-- 
2.10.1 (Apple Git-78)


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/2] t4018: add missing test cases for PHP
  2018-07-03 13:15 ` [PATCH 1/2] t4018: add missing test cases for PHP Kana Natsuno
@ 2018-07-06 21:59   ` Junio C Hamano
  0 siblings, 0 replies; 4+ messages in thread
From: Junio C Hamano @ 2018-07-06 21:59 UTC (permalink / raw)
  To: Kana Natsuno; +Cc: git

Kana Natsuno <dev@whileimautomaton.net> writes:

> A later patch changes the built-in PHP pattern. These test cases
> demonstrate aspects of the pattern that we do not want to change.
>
> Signed-off-by: Kana Natsuno <dev@whileimautomaton.net>
> ---
>  t/t4018/php-class    | 4 ++++
>  t/t4018/php-function | 4 ++++
>  t/t4018/php-method   | 7 +++++++
>  3 files changed, 15 insertions(+)
>  create mode 100644 t/t4018/php-class
>  create mode 100644 t/t4018/php-function
>  create mode 100644 t/t4018/php-method
>
> diff --git a/t/t4018/php-class b/t/t4018/php-class
> new file mode 100644
> index 0000000..7785b63
> --- /dev/null
> +++ b/t/t4018/php-class
> @@ -0,0 +1,4 @@
> +class RIGHT
> +{
> +    const FOO = 'ChangeMe';
> +}
> diff --git a/t/t4018/php-function b/t/t4018/php-function
> new file mode 100644
> index 0000000..35717c5
> --- /dev/null
> +++ b/t/t4018/php-function
> @@ -0,0 +1,4 @@
> +function RIGHT()
> +{
> +    return 'ChangeMe';
> +}
> diff --git a/t/t4018/php-method b/t/t4018/php-method
> new file mode 100644
> index 0000000..03af1a6
> --- /dev/null
> +++ b/t/t4018/php-method
> @@ -0,0 +1,7 @@
> +class Klass
> +{
> +    public static function RIGHT()
> +    {
> +        return 'ChangeMe';
> +    }
> +}

I no longer speak PHP, and certainly not the modern variant, but
these examples all look good to me.  

Whoever invented the convetion to use RIGHT/ChangeMe in t4018 should
get praised---its brilliance shines in new tests like these ;-)



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-07-06 21:59 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-03 13:15 [PATCH 0/2] userdiff: support new keywords in PHP hunk header Kana Natsuno
2018-07-03 13:15 ` [PATCH 1/2] t4018: add missing test cases for PHP Kana Natsuno
2018-07-06 21:59   ` Junio C Hamano
2018-07-03 13:15 ` [PATCH 2/2] userdiff: support new keywords in PHP hunk header Kana Natsuno

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).