[PATCH v2 3/4] t4018: add tests for recognizing javascript function syntax
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