diff options
Diffstat (limited to 'js/src/tests/non262/pipeline/reflect-parse.js')
-rw-r--r-- | js/src/tests/non262/pipeline/reflect-parse.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/js/src/tests/non262/pipeline/reflect-parse.js b/js/src/tests/non262/pipeline/reflect-parse.js new file mode 100644 index 0000000000..247f6657b7 --- /dev/null +++ b/js/src/tests/non262/pipeline/reflect-parse.js @@ -0,0 +1,28 @@ +const BUGNUMBER = 1405943; +const summary = "Implement pipeline operator (Reflect.parse)"; + +print(BUGNUMBER + ": " + summary); + +if (hasPipeline()) { + if (typeof Reflect !== "undefined" && Reflect.parse) { + const parseTree1 = Reflect.parse("a |> b"); + assertEq(parseTree1.body[0].type, "ExpressionStatement"); + assertEq(parseTree1.body[0].expression.type, "BinaryExpression"); + assertEq(parseTree1.body[0].expression.operator, "|>"); + assertEq(parseTree1.body[0].expression.left.name, "a"); + assertEq(parseTree1.body[0].expression.right.name, "b"); + + const parseTree2 = Reflect.parse("a |> b |> c"); + assertEq(parseTree2.body[0].type, "ExpressionStatement"); + assertEq(parseTree2.body[0].expression.type, "BinaryExpression"); + assertEq(parseTree2.body[0].expression.operator, "|>"); + assertEq(parseTree2.body[0].expression.left.type, "BinaryExpression"); + assertEq(parseTree2.body[0].expression.left.operator, "|>"); + assertEq(parseTree2.body[0].expression.left.left.name, "a"); + assertEq(parseTree2.body[0].expression.left.right.name, "b"); + assertEq(parseTree2.body[0].expression.right.name, "c"); + } +} + +if (typeof reportCompare === "function") + reportCompare(0, 0); |