git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 3/4] t4018: add tests for recognizing javascript function syntax

From
DFDerick W. de M. Frias <derick.william.moraes@gmail.com>
Date
Jun 23, 2025, 06:35 UTC
Message-ID
<20250623090538.154858-4-derick.william.moraes@gmail.com>
In-Reply-To
<20250623090538.154858-1-derick.william.moraes@gmail.com>
Add tests for javascript function declarations as in ECMAScript ES5.1<
Signed-off-by: Derick W. de M. Frias <derick.william.moraes@gmail.com>
---
 .../javascript-anonymous-assigned-function    |  4 ++
 t/t4018/javascript-arrow-assigned-function    |  4 ++
 t/t4018/javascript-arrow-assigned-function-2  |  5 +++
 t/t4018/javascript-arrow-assigned-function-3  |  1 +
 t/t4018/javascript-assigned-function          |  4 ++
 t/t4018/javascript-async-assigned-function    |  4 ++
 t/t4018/javascript-async-function             |  4 +-
 t/t4018/javascript-class-get-function         |  5 +++
 t/t4018/javascript-class-set-function         |  5 +++
 t/t4018/javascript-class-static-function      |  5 +++
 t/t4018/javascript-class-unprefixed-function  |  6 +++
 t/t4018/javascript-function                   |  4 +-
 .../javascript-generator-assigned-function    |  5 +++
 .../javascript-generator-assigned-function-2  |  5 +++
 t/t4018/javascript-generator-function         |  4 +-
 t/t4018/javascript-generator-function-2       |  4 +-
 t/t4018/javascript-method-unprefixed-function |  6 +++
 t/t4018/javascript-skip-function-calls        |  7 ++++
 t/t4018/javascript-skip-reserved-words        | 38 +++++++++++++++++++
 19 files changed, 112 insertions(+), 8 deletions(-)
 create mode 100644 t/t4018/javascript-anonymous-assigned-function
 create mode 100644 t/t4018/javascript-arrow-assigned-function
 create mode 100644 t/t4018/javascript-arrow-assigned-function-2
 create mode 100644 t/t4018/javascript-arrow-assigned-function-3
 create mode 100644 t/t4018/javascript-assigned-function
 create mode 100644 t/t4018/javascript-async-assigned-function
 create mode 100644 t/t4018/javascript-class-get-function
 create mode 100644 t/t4018/javascript-class-set-function
 create mode 100644 t/t4018/javascript-class-static-function
 create mode 100644 t/t4018/javascript-class-unprefixed-function
 create mode 100644 t/t4018/javascript-generator-assigned-function
 create mode 100644 t/t4018/javascript-generator-assigned-function-2
 create mode 100644 t/t4018/javascript-method-unprefixed-function
 create mode 100644 t/t4018/javascript-skip-function-calls
 create mode 100644 t/t4018/javascript-skip-reserved-words
diff --git a/t/t4018/javascript-anonymous-assigned-function b/t/t4018/javascript-anonymous-assigned-function
new file mode 100644
index 0000000000..c9127e231d
--- /dev/null
+++ b/t/t4018/javascript-anonymous-assigned-function
@@ -0,0 +1,4 @@
+const RIGHT = function (a, b) {	
+
+    return a + b; //ChangeMe
+};
diff --git a/t/t4018/javascript-arrow-assigned-function b/t/t4018/javascript-arrow-assigned-function
new file mode 100644
index 0000000000..3182197aee
--- /dev/null
+++ b/t/t4018/javascript-arrow-assigned-function
@@ -0,0 +1,4 @@
+const RIGHT = (a, b) => {
+	
+    return a + b; //ChangeMe
+};
diff --git a/t/t4018/javascript-arrow-assigned-function-2 b/t/t4018/javascript-arrow-assigned-function-2
new file mode 100644
index 0000000000..b5732967c0
--- /dev/null
+++ b/t/t4018/javascript-arrow-assigned-function-2
@@ -0,0 +1,5 @@
+const RIGHT = a => {
+	
+    return a + 1; //ChangeMe
+};
+
diff --git a/t/t4018/javascript-arrow-assigned-function-3 b/t/t4018/javascript-arrow-assigned-function-3
new file mode 100644
index 0000000000..98ee879dd2
--- /dev/null
+++ b/t/t4018/javascript-arrow-assigned-function-3
@@ -0,0 +1 @@
+const RIGHT = a => a+1; //ChangeMe
diff --git a/t/t4018/javascript-assigned-function b/t/t4018/javascript-assigned-function
new file mode 100644
index 0000000000..170d54db4f
--- /dev/null
+++ b/t/t4018/javascript-assigned-function
@@ -0,0 +1,4 @@
+const RIGHT = function test (a, b) {
+	
+    return a + b; //ChangeMe
+};
diff --git a/t/t4018/javascript-async-assigned-function b/t/t4018/javascript-async-assigned-function
new file mode 100644
index 0000000000..1c1923b336
--- /dev/null
+++ b/t/t4018/javascript-async-assigned-function
@@ -0,0 +1,4 @@
+const RIGHT = async function (a, b) {
+	
+    return a + b; //ChangeMe
+};
diff --git a/t/t4018/javascript-async-function b/t/t4018/javascript-async-function
index 7f99b8c89a..740e5304aa 100644
--- a/t/t4018/javascript-async-function
+++ b/t/t4018/javascript-async-function
@@ -1,4 +1,4 @@
 async function RIGHT (a, b) {
 	
-    return a + b;
-};
\ No newline at end of file
+    return a + b; //ChangeMe
+};
diff --git a/t/t4018/javascript-class-get-function b/t/t4018/javascript-class-get-function
new file mode 100644
index 0000000000..e27fa81478
--- /dev/null
+++ b/t/t4018/javascript-class-get-function
@@ -0,0 +1,5 @@
+class ChangeMe {
+  get RIGHT() {
+    return 1;
+  }
+}
diff --git a/t/t4018/javascript-class-set-function b/t/t4018/javascript-class-set-function
new file mode 100644
index 0000000000..ba747db7c7
--- /dev/null
+++ b/t/t4018/javascript-class-set-function
@@ -0,0 +1,5 @@
+class ChangeMe {
+  set RIGHT() {
+    return 1;
+  }
+}
diff --git a/t/t4018/javascript-class-static-function b/t/t4018/javascript-class-static-function
new file mode 100644
index 0000000000..b3c8f1ff2a
--- /dev/null
+++ b/t/t4018/javascript-class-static-function
@@ -0,0 +1,5 @@
+class ChangeMe {
+  static RIGHT(a, b) {
+    return a + b;
+  }
+}
diff --git a/t/t4018/javascript-class-unprefixed-function b/t/t4018/javascript-class-unprefixed-function
new file mode 100644
index 0000000000..675c787995
--- /dev/null
+++ b/t/t4018/javascript-class-unprefixed-function
@@ -0,0 +1,6 @@
+class Test {
+  RIGHT() {
+    let a = 1;
+    let b = ChangeMe;
+  }
+}
diff --git a/t/t4018/javascript-function b/t/t4018/javascript-function
index d11ad34aff..bd7945ca2b 100644
--- a/t/t4018/javascript-function
+++ b/t/t4018/javascript-function
@@ -1,4 +1,4 @@
 function RIGHT (a, b) {
 	
-    return a + b;
-};
\ No newline at end of file
+    return a + b; //ChangeMe
+};
diff --git a/t/t4018/javascript-generator-assigned-function b/t/t4018/javascript-generator-assigned-function
new file mode 100644
index 0000000000..c5ff9d89b5
--- /dev/null
+++ b/t/t4018/javascript-generator-assigned-function
@@ -0,0 +1,5 @@
+const RIGHT = function* (){
+  
+  yield 1;
+  yield 2; //ChangeMe
+}
diff --git a/t/t4018/javascript-generator-assigned-function-2 b/t/t4018/javascript-generator-assigned-function-2
new file mode 100644
index 0000000000..8ce7567987
--- /dev/null
+++ b/t/t4018/javascript-generator-assigned-function-2
@@ -0,0 +1,5 @@
+const RIGHT = function *(){
+  
+  yield 1;
+  yield 2; //ChangeMe
+}
diff --git a/t/t4018/javascript-generator-function b/t/t4018/javascript-generator-function
index af7cbb50a3..9a24ae7d08 100644
--- a/t/t4018/javascript-generator-function
+++ b/t/t4018/javascript-generator-function
@@ -1,5 +1,5 @@
 function* RIGHT() {
   
   yield 1;
-  yield 2;
-}
\ No newline at end of file
+  yield 2; //ChangeMe
+}
diff --git a/t/t4018/javascript-generator-function-2 b/t/t4018/javascript-generator-function-2
index d40b395f5c..bac71e362c 100644
--- a/t/t4018/javascript-generator-function-2
+++ b/t/t4018/javascript-generator-function-2
@@ -1,5 +1,5 @@
 function *RIGHT() {
   
   yield 1;
-  yield 2;
-}
\ No newline at end of file
+  yield 2; //ChangeMe
+}
diff --git a/t/t4018/javascript-method-unprefixed-function b/t/t4018/javascript-method-unprefixed-function
new file mode 100644
index 0000000000..eb6300dda3
--- /dev/null
+++ b/t/t4018/javascript-method-unprefixed-function
@@ -0,0 +1,6 @@
+const Test = {
+  RIGHT() {
+    let a = 1;
+    let b = ChangeMe;
+  }
+}
diff --git a/t/t4018/javascript-skip-function-calls b/t/t4018/javascript-skip-function-calls
new file mode 100644
index 0000000000..cc9699a9f5
--- /dev/null
+++ b/t/t4018/javascript-skip-function-calls
@@ -0,0 +1,7 @@
+class Test {
+  static RIGHT() {
+    call_to_skip();
+    call_to_skip2();
+    let a = ChangeMe;
+  }
+}
\ No newline at end of file
diff --git a/t/t4018/javascript-skip-reserved-words b/t/t4018/javascript-skip-reserved-words
new file mode 100644
index 0000000000..d12fe587a8
--- /dev/null
+++ b/t/t4018/javascript-skip-reserved-words
@@ -0,0 +1,38 @@
+function RIGHT(a, b) {
+  import("./async1")
+
+  if (a > 1) {
+    // ...
+  }
+  do {
+    // ...
+  } 
+  while (i < 5){
+    //
+  };
+  for (const element of array1) {
+    console.log(element)
+  }
+  with(o) {
+    console.log(x)
+  }
+  switch (expr) {
+    case 'a':
+      // ...
+      break;
+    case 'b':
+      // ...
+      break;
+    default:
+      // ...
+  }
+  try {
+    // ...
+    return (a + c)
+  } 
+  catch (error) {
+    // ...
+  }
+
+  return a + b; // ChangeMe
+}
-- 
2.50.0.rc0.62.g658f0ae201.dirty
Previous: Derick W. de M. FriasNext: Derick W. de M. Frias
Message 7 of 11 in “userdiff: add javascript diff driver”
  1. 0/1 userdiff: add javascript diff driverDerick W. de M. Frias, Jun 4, 2025
  2. 1/1 userdiff: add javascript diff driverDerick W. de M. Frias, Jun 4, 2025
  3. D. Ben KnobleJun 4, 2025
  4. Johannes SixtJun 5, 2025
  5. 0/4 diff: create pattern for javascript languageDerick W. de M. Frias, Jun 23, 2025
  6. 2/4 t4034: add tests for javascript word literalsDerick W. de M. Frias, Jun 23, 2025
  7. 3/4 t4018: add tests for recognizing javascript function syntaxDerick W. de M. Frias, Jun 23, 2025
  8. 1/4 userdiff: add javascript diff driverDerick W. de M. Frias, Jun 23, 2025
  9. Junio C HamanoJun 23, 2025
  10. 4/4 t4018: add tests for javascript export type function declarationsDerick W. de M. Frias, Jun 23, 2025
  11. Johannes SixtJun 26, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.