/* Any copyright is dedicated to the Public Domain. http://creativecommons.org/publicdomain/zero/1.0/ */ /** * Test that acorn's lenient parser gives something usable. */ const acorn_loose = require("acorn/acorn_loose"); function run_test() { let actualAST = acorn_loose.parse_dammit("let x = 10", {}); do_print("Actual AST:"); do_print(JSON.stringify(actualAST, null, 2)); do_print("Expected AST:"); do_print(JSON.stringify(expectedAST, null, 2)); checkEquivalentASTs(expectedAST, actualAST); } const expectedAST = { "type": "Program", "start": 0, "end": 10, "body": [ { "type": "ExpressionStatement", "start": 0, "end": 3, "expression": { "type": "Identifier", "start": 0, "end": 3, "name": "let" } }, { "type": "ExpressionStatement", "start": 4, "end": 10, "expression": { "type": "AssignmentExpression", "start": 4, "end": 10, "operator": "=", "left": { "type": "Identifier", "start": 4, "end": 5, "name": "x" }, "right": { "type": "Literal", "start": 8, "end": 10, "value": 10, "raw": "10" } } } ] };