Title: [225258] trunk/LayoutTests
Revision
225258
Author
[email protected]
Date
2017-11-28 22:10:50 -0800 (Tue, 28 Nov 2017)

Log Message

Web Inspector: Write script syntax tree tests for template literals and default parameter values
https://bugs.webkit.org/show_bug.cgi?id=149450
<rdar://problem/22796879>

Patch by Joseph Pecoraro <[email protected]> on 2017-11-28
Reviewed by Devin Rousso.

* inspector/model/parse-script-syntax-tree-expected.txt:
* inspector/model/parse-script-syntax-tree.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (225257 => 225258)


--- trunk/LayoutTests/ChangeLog	2017-11-29 05:08:21 UTC (rev 225257)
+++ trunk/LayoutTests/ChangeLog	2017-11-29 06:10:50 UTC (rev 225258)
@@ -1,3 +1,14 @@
+2017-11-28  Joseph Pecoraro  <[email protected]>
+
+        Web Inspector: Write script syntax tree tests for template literals and default parameter values
+        https://bugs.webkit.org/show_bug.cgi?id=149450
+        <rdar://problem/22796879>
+
+        Reviewed by Devin Rousso.
+
+        * inspector/model/parse-script-syntax-tree-expected.txt:
+        * inspector/model/parse-script-syntax-tree.html:
+
 2017-11-28  Zalan Bujtas  <[email protected]>
 
         Clean up spanners before creating nested column context

Modified: trunk/LayoutTests/inspector/model/parse-script-syntax-tree-expected.txt (225257 => 225258)


--- trunk/LayoutTests/inspector/model/parse-script-syntax-tree-expected.txt	2017-11-29 05:08:21 UTC (rev 225257)
+++ trunk/LayoutTests/inspector/model/parse-script-syntax-tree-expected.txt	2017-11-29 06:10:50 UTC (rev 225258)
@@ -20,6 +20,8 @@
 passed Identifier
 passed IfStatement
 passed Literal
+passed TemplateLiteral, TemplateElement
+passed TaggedTemplateExpression
 passed LabeledStatement
 passed LogicalExpression
 passed MemberExpression

Modified: trunk/LayoutTests/inspector/model/parse-script-syntax-tree.html (225257 => 225258)


--- trunk/LayoutTests/inspector/model/parse-script-syntax-tree.html	2017-11-29 05:08:21 UTC (rev 225257)
+++ trunk/LayoutTests/inspector/model/parse-script-syntax-tree.html	2017-11-29 06:10:50 UTC (rev 225258)
@@ -271,8 +271,39 @@
     node = makeNode("\"a\"", true);
     InspectorTest.assert(node.value === "a");
     InspectorTest.assert(node.raw === "\"a\"");
+    node = makeNode("'abc'", true);
+    InspectorTest.assert(node.value === "abc");
+    InspectorTest.assert(node.raw === "'abc'");
     InspectorTest.log("passed Literal");
 
+    node = makeNode("`abc`", true);
+    InspectorTest.assert(node.type === WI.ScriptSyntaxTree.NodeType.TemplateLiteral);
+    InspectorTest.assert(node.quasis.length === 1);
+    InspectorTest.assert(node.expressions.length === 0);
+    InspectorTest.assert(node.quasis[0].type === WI.ScriptSyntaxTree.NodeType.TemplateElement);
+    InspectorTest.assert(node.quasis[0].value.raw === "abc");
+    node = makeNode("`abc${1}def`", true);
+    InspectorTest.assert(node.type === WI.ScriptSyntaxTree.NodeType.TemplateLiteral);
+    InspectorTest.assert(node.quasis.length === 2);
+    InspectorTest.assert(node.expressions.length === 1);
+    InspectorTest.assert(node.quasis[0].type === WI.ScriptSyntaxTree.NodeType.TemplateElement);
+    InspectorTest.assert(node.quasis[0].value.raw === "abc");
+    InspectorTest.assert(node.quasis[1].type === WI.ScriptSyntaxTree.NodeType.TemplateElement);
+    InspectorTest.assert(node.quasis[1].value.raw === "def");
+    InspectorTest.assert(node.expressions[0].type === WI.ScriptSyntaxTree.NodeType.Literal);
+    InspectorTest.assert(node.expressions[0].value === 1);
+    InspectorTest.log("passed TemplateLiteral, TemplateElement");
+
+    node = makeNode("tag`abcd`", true);
+    InspectorTest.assert(node.type === WI.ScriptSyntaxTree.NodeType.TaggedTemplateExpression);
+    InspectorTest.assert(node.tag.name === "tag");
+    InspectorTest.assert(node.quasi.type === WI.ScriptSyntaxTree.NodeType.TemplateLiteral);
+    InspectorTest.assert(node.quasi.quasis.length === 1);
+    InspectorTest.assert(node.quasi.expressions.length === 0);
+    InspectorTest.assert(node.quasi.quasis[0].type === WI.ScriptSyntaxTree.NodeType.TemplateElement);
+    InspectorTest.assert(node.quasi.quasis[0].value.raw === "abcd");
+    InspectorTest.log("passed TaggedTemplateExpression");
+
     node = makeNode("label:while(true)20;", false);
     InspectorTest.assert(node.type === WI.ScriptSyntaxTree.NodeType.LabeledStatement);
     InspectorTest.assert(node.label);
@@ -539,6 +570,15 @@
     InspectorTest.assert(node.declarations[0].id.elements[0].left.name === "x");
     InspectorTest.assert(node.declarations[0].id.elements[0].right.type === WI.ScriptSyntaxTree.NodeType.Literal);
     InspectorTest.assert(node.declarations[0].id.elements[0].right.value === 20);
+    node = makeNode("function foo(a, b=1) { return a + b; }", false);
+    InspectorTest.assert(node.params.length === 2);
+    InspectorTest.assert(node.params[0].type === WI.ScriptSyntaxTree.NodeType.Identifier);
+    InspectorTest.assert(node.params[0].name === "a");
+    InspectorTest.assert(node.params[1].type === WI.ScriptSyntaxTree.NodeType.AssignmentPattern);
+    InspectorTest.assert(node.params[1].left.type === WI.ScriptSyntaxTree.NodeType.Identifier);
+    InspectorTest.assert(node.params[1].left.name === "b");
+    InspectorTest.assert(node.params[1].right.type === WI.ScriptSyntaxTree.NodeType.Literal);
+    InspectorTest.assert(node.params[1].right.value === 1);
     InspectorTest.log("passed AssignmentPattern");
 
     node = makeNode("(x) => x;", true);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to