From 727767c923a44a7d1bedd87fea536b53b12a4c09 Mon Sep 17 00:00:00 2001 From: Lucas Azzola Date: Mon, 16 Oct 2017 19:33:45 +1100 Subject: [PATCH] Add tests for ?? with other LogicalExpressions --- .../{precedence-low => and-nullish}/actual.js | 0 .../expected.json | 0 .../options.json | 0 .../nullish-and/actual.js | 1 + .../nullish-and/expected.json | 132 ++++++++++++++++++ .../nullish-and/options.json | 4 + .../nullish-or/actual.js | 1 + .../nullish-or/expected.json | 132 ++++++++++++++++++ .../nullish-or/options.json | 4 + .../or-nullish/actual.js | 1 + .../or-nullish/expected.json | 132 ++++++++++++++++++ .../or-nullish/options.json | 4 + .../actual.js | 0 .../expected.json | 0 .../options.json | 0 15 files changed, 411 insertions(+) rename test/fixtures/experimental/nullish-coalescing-operator/{precedence-low => and-nullish}/actual.js (100%) rename test/fixtures/experimental/nullish-coalescing-operator/{precedence-low => and-nullish}/expected.json (100%) rename test/fixtures/experimental/nullish-coalescing-operator/{precedence-low => and-nullish}/options.json (100%) create mode 100644 test/fixtures/experimental/nullish-coalescing-operator/nullish-and/actual.js create mode 100644 test/fixtures/experimental/nullish-coalescing-operator/nullish-and/expected.json create mode 100644 test/fixtures/experimental/nullish-coalescing-operator/nullish-and/options.json create mode 100644 test/fixtures/experimental/nullish-coalescing-operator/nullish-or/actual.js create mode 100644 test/fixtures/experimental/nullish-coalescing-operator/nullish-or/expected.json create mode 100644 test/fixtures/experimental/nullish-coalescing-operator/nullish-or/options.json create mode 100644 test/fixtures/experimental/nullish-coalescing-operator/or-nullish/actual.js create mode 100644 test/fixtures/experimental/nullish-coalescing-operator/or-nullish/expected.json create mode 100644 test/fixtures/experimental/nullish-coalescing-operator/or-nullish/options.json rename test/fixtures/experimental/nullish-coalescing-operator/{precedence-high => with-pipeline}/actual.js (100%) rename test/fixtures/experimental/nullish-coalescing-operator/{precedence-high => with-pipeline}/expected.json (100%) rename test/fixtures/experimental/nullish-coalescing-operator/{precedence-high => with-pipeline}/options.json (100%) diff --git a/test/fixtures/experimental/nullish-coalescing-operator/precedence-low/actual.js b/test/fixtures/experimental/nullish-coalescing-operator/and-nullish/actual.js similarity index 100% rename from test/fixtures/experimental/nullish-coalescing-operator/precedence-low/actual.js rename to test/fixtures/experimental/nullish-coalescing-operator/and-nullish/actual.js diff --git a/test/fixtures/experimental/nullish-coalescing-operator/precedence-low/expected.json b/test/fixtures/experimental/nullish-coalescing-operator/and-nullish/expected.json similarity index 100% rename from test/fixtures/experimental/nullish-coalescing-operator/precedence-low/expected.json rename to test/fixtures/experimental/nullish-coalescing-operator/and-nullish/expected.json diff --git a/test/fixtures/experimental/nullish-coalescing-operator/precedence-low/options.json b/test/fixtures/experimental/nullish-coalescing-operator/and-nullish/options.json similarity index 100% rename from test/fixtures/experimental/nullish-coalescing-operator/precedence-low/options.json rename to test/fixtures/experimental/nullish-coalescing-operator/and-nullish/options.json diff --git a/test/fixtures/experimental/nullish-coalescing-operator/nullish-and/actual.js b/test/fixtures/experimental/nullish-coalescing-operator/nullish-and/actual.js new file mode 100644 index 0000000000..b8805af495 --- /dev/null +++ b/test/fixtures/experimental/nullish-coalescing-operator/nullish-and/actual.js @@ -0,0 +1 @@ +a ?? b && c; diff --git a/test/fixtures/experimental/nullish-coalescing-operator/nullish-and/expected.json b/test/fixtures/experimental/nullish-coalescing-operator/nullish-and/expected.json new file mode 100644 index 0000000000..44583bc17a --- /dev/null +++ b/test/fixtures/experimental/nullish-coalescing-operator/nullish-and/expected.json @@ -0,0 +1,132 @@ +{ + "type": "File", + "start": 0, + "end": 12, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 12 + } + }, + "program": { + "type": "Program", + "start": 0, + "end": 12, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 12 + } + }, + "sourceType": "script", + "body": [ + { + "type": "ExpressionStatement", + "start": 0, + "end": 12, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 12 + } + }, + "expression": { + "type": "LogicalExpression", + "start": 0, + "end": 11, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 11 + } + }, + "left": { + "type": "Identifier", + "start": 0, + "end": 1, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 1 + }, + "identifierName": "a" + }, + "name": "a" + }, + "operator": "??", + "right": { + "type": "LogicalExpression", + "start": 5, + "end": 11, + "loc": { + "start": { + "line": 1, + "column": 5 + }, + "end": { + "line": 1, + "column": 11 + } + }, + "left": { + "type": "Identifier", + "start": 5, + "end": 6, + "loc": { + "start": { + "line": 1, + "column": 5 + }, + "end": { + "line": 1, + "column": 6 + }, + "identifierName": "b" + }, + "name": "b" + }, + "operator": "&&", + "right": { + "type": "Identifier", + "start": 10, + "end": 11, + "loc": { + "start": { + "line": 1, + "column": 10 + }, + "end": { + "line": 1, + "column": 11 + }, + "identifierName": "c" + }, + "name": "c" + } + } + } + } + ], + "directives": [] + } +} \ No newline at end of file diff --git a/test/fixtures/experimental/nullish-coalescing-operator/nullish-and/options.json b/test/fixtures/experimental/nullish-coalescing-operator/nullish-and/options.json new file mode 100644 index 0000000000..e70662682b --- /dev/null +++ b/test/fixtures/experimental/nullish-coalescing-operator/nullish-and/options.json @@ -0,0 +1,4 @@ +{ + "plugins": ["nullishCoalescingOperator"] +} + \ No newline at end of file diff --git a/test/fixtures/experimental/nullish-coalescing-operator/nullish-or/actual.js b/test/fixtures/experimental/nullish-coalescing-operator/nullish-or/actual.js new file mode 100644 index 0000000000..40ec9c39d1 --- /dev/null +++ b/test/fixtures/experimental/nullish-coalescing-operator/nullish-or/actual.js @@ -0,0 +1 @@ +a ?? b || c; diff --git a/test/fixtures/experimental/nullish-coalescing-operator/nullish-or/expected.json b/test/fixtures/experimental/nullish-coalescing-operator/nullish-or/expected.json new file mode 100644 index 0000000000..c769e52a6a --- /dev/null +++ b/test/fixtures/experimental/nullish-coalescing-operator/nullish-or/expected.json @@ -0,0 +1,132 @@ +{ + "type": "File", + "start": 0, + "end": 12, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 12 + } + }, + "program": { + "type": "Program", + "start": 0, + "end": 12, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 12 + } + }, + "sourceType": "script", + "body": [ + { + "type": "ExpressionStatement", + "start": 0, + "end": 12, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 12 + } + }, + "expression": { + "type": "LogicalExpression", + "start": 0, + "end": 11, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 11 + } + }, + "left": { + "type": "LogicalExpression", + "start": 0, + "end": 6, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 6 + } + }, + "left": { + "type": "Identifier", + "start": 0, + "end": 1, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 1 + }, + "identifierName": "a" + }, + "name": "a" + }, + "operator": "??", + "right": { + "type": "Identifier", + "start": 5, + "end": 6, + "loc": { + "start": { + "line": 1, + "column": 5 + }, + "end": { + "line": 1, + "column": 6 + }, + "identifierName": "b" + }, + "name": "b" + } + }, + "operator": "||", + "right": { + "type": "Identifier", + "start": 10, + "end": 11, + "loc": { + "start": { + "line": 1, + "column": 10 + }, + "end": { + "line": 1, + "column": 11 + }, + "identifierName": "c" + }, + "name": "c" + } + } + } + ], + "directives": [] + } +} \ No newline at end of file diff --git a/test/fixtures/experimental/nullish-coalescing-operator/nullish-or/options.json b/test/fixtures/experimental/nullish-coalescing-operator/nullish-or/options.json new file mode 100644 index 0000000000..e70662682b --- /dev/null +++ b/test/fixtures/experimental/nullish-coalescing-operator/nullish-or/options.json @@ -0,0 +1,4 @@ +{ + "plugins": ["nullishCoalescingOperator"] +} + \ No newline at end of file diff --git a/test/fixtures/experimental/nullish-coalescing-operator/or-nullish/actual.js b/test/fixtures/experimental/nullish-coalescing-operator/or-nullish/actual.js new file mode 100644 index 0000000000..b74eae4c99 --- /dev/null +++ b/test/fixtures/experimental/nullish-coalescing-operator/or-nullish/actual.js @@ -0,0 +1 @@ +a || b ?? c; diff --git a/test/fixtures/experimental/nullish-coalescing-operator/or-nullish/expected.json b/test/fixtures/experimental/nullish-coalescing-operator/or-nullish/expected.json new file mode 100644 index 0000000000..96f679d412 --- /dev/null +++ b/test/fixtures/experimental/nullish-coalescing-operator/or-nullish/expected.json @@ -0,0 +1,132 @@ +{ + "type": "File", + "start": 0, + "end": 12, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 12 + } + }, + "program": { + "type": "Program", + "start": 0, + "end": 12, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 12 + } + }, + "sourceType": "script", + "body": [ + { + "type": "ExpressionStatement", + "start": 0, + "end": 12, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 12 + } + }, + "expression": { + "type": "LogicalExpression", + "start": 0, + "end": 11, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 11 + } + }, + "left": { + "type": "LogicalExpression", + "start": 0, + "end": 6, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 6 + } + }, + "left": { + "type": "Identifier", + "start": 0, + "end": 1, + "loc": { + "start": { + "line": 1, + "column": 0 + }, + "end": { + "line": 1, + "column": 1 + }, + "identifierName": "a" + }, + "name": "a" + }, + "operator": "||", + "right": { + "type": "Identifier", + "start": 5, + "end": 6, + "loc": { + "start": { + "line": 1, + "column": 5 + }, + "end": { + "line": 1, + "column": 6 + }, + "identifierName": "b" + }, + "name": "b" + } + }, + "operator": "??", + "right": { + "type": "Identifier", + "start": 10, + "end": 11, + "loc": { + "start": { + "line": 1, + "column": 10 + }, + "end": { + "line": 1, + "column": 11 + }, + "identifierName": "c" + }, + "name": "c" + } + } + } + ], + "directives": [] + } +} \ No newline at end of file diff --git a/test/fixtures/experimental/nullish-coalescing-operator/or-nullish/options.json b/test/fixtures/experimental/nullish-coalescing-operator/or-nullish/options.json new file mode 100644 index 0000000000..e70662682b --- /dev/null +++ b/test/fixtures/experimental/nullish-coalescing-operator/or-nullish/options.json @@ -0,0 +1,4 @@ +{ + "plugins": ["nullishCoalescingOperator"] +} + \ No newline at end of file diff --git a/test/fixtures/experimental/nullish-coalescing-operator/precedence-high/actual.js b/test/fixtures/experimental/nullish-coalescing-operator/with-pipeline/actual.js similarity index 100% rename from test/fixtures/experimental/nullish-coalescing-operator/precedence-high/actual.js rename to test/fixtures/experimental/nullish-coalescing-operator/with-pipeline/actual.js diff --git a/test/fixtures/experimental/nullish-coalescing-operator/precedence-high/expected.json b/test/fixtures/experimental/nullish-coalescing-operator/with-pipeline/expected.json similarity index 100% rename from test/fixtures/experimental/nullish-coalescing-operator/precedence-high/expected.json rename to test/fixtures/experimental/nullish-coalescing-operator/with-pipeline/expected.json diff --git a/test/fixtures/experimental/nullish-coalescing-operator/precedence-high/options.json b/test/fixtures/experimental/nullish-coalescing-operator/with-pipeline/options.json similarity index 100% rename from test/fixtures/experimental/nullish-coalescing-operator/precedence-high/options.json rename to test/fixtures/experimental/nullish-coalescing-operator/with-pipeline/options.json