Merge branch 'do-optional-semicolon' of https://github.com/sebmck/acorn

This commit is contained in:
Sebastian McKenzie 2014-12-10 15:24:44 +11:00
commit 03891a7f8c
2 changed files with 44 additions and 1 deletions

View File

@ -2027,7 +2027,7 @@
labels.pop();
expect(_while);
node.test = parseParenExpression();
semicolon();
eat(_semi);
return finishNode(node, "DoWhileStatement");
}

View File

@ -17911,6 +17911,49 @@ test("do keep(); while (true);", {
}
});
test("do {} while (false) foo();", {
type: "Program",
start: 0,
end: 26,
body: [
{
type: "DoWhileStatement",
start: 0,
end: 19,
body: {
type: "BlockStatement",
start: 3,
end: 5,
body: []
},
test: {
type: "Literal",
start: 13,
end: 18,
value: false,
raw: "false"
}
},
{
type: "ExpressionStatement",
start: 20,
end: 26,
expression: {
type: "CallExpression",
start: 20,
end: 25,
callee: {
type: "Identifier",
start: 20,
end: 23,
name: "foo"
},
arguments: []
}
}
]
});
test("do { x++; y--; } while (x < 10)", {
type: "Program",
body: [