Changeset 225258 in webkit


Ignore:
Timestamp:
Nov 28, 2017 10:10:50 PM (6 years ago)
Author:
commit-queue@webkit.org
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 <Joseph Pecoraro> on 2017-11-28
Reviewed by Devin Rousso.

  • inspector/model/parse-script-syntax-tree-expected.txt:
  • inspector/model/parse-script-syntax-tree.html:
Location:
trunk/LayoutTests
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r225255 r225258  
     12017-11-28  Joseph Pecoraro  <pecoraro@apple.com>
     2
     3        Web Inspector: Write script syntax tree tests for template literals and default parameter values
     4        https://bugs.webkit.org/show_bug.cgi?id=149450
     5        <rdar://problem/22796879>
     6
     7        Reviewed by Devin Rousso.
     8
     9        * inspector/model/parse-script-syntax-tree-expected.txt:
     10        * inspector/model/parse-script-syntax-tree.html:
     11
    1122017-11-28  Zalan Bujtas  <zalan@apple.com>
    213
  • trunk/LayoutTests/inspector/model/parse-script-syntax-tree-expected.txt

    r211554 r225258  
    2121passed IfStatement
    2222passed Literal
     23passed TemplateLiteral, TemplateElement
     24passed TaggedTemplateExpression
    2325passed LabeledStatement
    2426passed LogicalExpression
  • trunk/LayoutTests/inspector/model/parse-script-syntax-tree.html

    r220119 r225258  
    272272    InspectorTest.assert(node.value === "a");
    273273    InspectorTest.assert(node.raw === "\"a\"");
     274    node = makeNode("'abc'", true);
     275    InspectorTest.assert(node.value === "abc");
     276    InspectorTest.assert(node.raw === "'abc'");
    274277    InspectorTest.log("passed Literal");
     278
     279    node = makeNode("`abc`", true);
     280    InspectorTest.assert(node.type === WI.ScriptSyntaxTree.NodeType.TemplateLiteral);
     281    InspectorTest.assert(node.quasis.length === 1);
     282    InspectorTest.assert(node.expressions.length === 0);
     283    InspectorTest.assert(node.quasis[0].type === WI.ScriptSyntaxTree.NodeType.TemplateElement);
     284    InspectorTest.assert(node.quasis[0].value.raw === "abc");
     285    node = makeNode("`abc${1}def`", true);
     286    InspectorTest.assert(node.type === WI.ScriptSyntaxTree.NodeType.TemplateLiteral);
     287    InspectorTest.assert(node.quasis.length === 2);
     288    InspectorTest.assert(node.expressions.length === 1);
     289    InspectorTest.assert(node.quasis[0].type === WI.ScriptSyntaxTree.NodeType.TemplateElement);
     290    InspectorTest.assert(node.quasis[0].value.raw === "abc");
     291    InspectorTest.assert(node.quasis[1].type === WI.ScriptSyntaxTree.NodeType.TemplateElement);
     292    InspectorTest.assert(node.quasis[1].value.raw === "def");
     293    InspectorTest.assert(node.expressions[0].type === WI.ScriptSyntaxTree.NodeType.Literal);
     294    InspectorTest.assert(node.expressions[0].value === 1);
     295    InspectorTest.log("passed TemplateLiteral, TemplateElement");
     296
     297    node = makeNode("tag`abcd`", true);
     298    InspectorTest.assert(node.type === WI.ScriptSyntaxTree.NodeType.TaggedTemplateExpression);
     299    InspectorTest.assert(node.tag.name === "tag");
     300    InspectorTest.assert(node.quasi.type === WI.ScriptSyntaxTree.NodeType.TemplateLiteral);
     301    InspectorTest.assert(node.quasi.quasis.length === 1);
     302    InspectorTest.assert(node.quasi.expressions.length === 0);
     303    InspectorTest.assert(node.quasi.quasis[0].type === WI.ScriptSyntaxTree.NodeType.TemplateElement);
     304    InspectorTest.assert(node.quasi.quasis[0].value.raw === "abcd");
     305    InspectorTest.log("passed TaggedTemplateExpression");
    275306
    276307    node = makeNode("label:while(true)20;", false);
     
    540571    InspectorTest.assert(node.declarations[0].id.elements[0].right.type === WI.ScriptSyntaxTree.NodeType.Literal);
    541572    InspectorTest.assert(node.declarations[0].id.elements[0].right.value === 20);
     573    node = makeNode("function foo(a, b=1) { return a + b; }", false);
     574    InspectorTest.assert(node.params.length === 2);
     575    InspectorTest.assert(node.params[0].type === WI.ScriptSyntaxTree.NodeType.Identifier);
     576    InspectorTest.assert(node.params[0].name === "a");
     577    InspectorTest.assert(node.params[1].type === WI.ScriptSyntaxTree.NodeType.AssignmentPattern);
     578    InspectorTest.assert(node.params[1].left.type === WI.ScriptSyntaxTree.NodeType.Identifier);
     579    InspectorTest.assert(node.params[1].left.name === "b");
     580    InspectorTest.assert(node.params[1].right.type === WI.ScriptSyntaxTree.NodeType.Literal);
     581    InspectorTest.assert(node.params[1].right.value === 1);
    542582    InspectorTest.log("passed AssignmentPattern");
    543583
Note: See TracChangeset for help on using the changeset viewer.