| Summary: | Web Inspector: Write tests for ScriptSyntaxTree and fix bugs in the data structure | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Saam Barati <saam> | ||||||
| Component: | Web Inspector | Assignee: | Saam Barati <saam> | ||||||
| Status: | RESOLVED FIXED | ||||||||
| Severity: | Normal | CC: | commit-queue, graouts, joepeck, timothy, webkit-bug-importer | ||||||
| Priority: | P2 | Keywords: | InRadar | ||||||
| Version: | 528+ (Nightly build) | ||||||||
| Hardware: | All | ||||||||
| OS: | All | ||||||||
| Attachments: |
|
||||||||
|
Description
Saam Barati
2014-08-26 18:00:17 PDT
Created attachment 237279 [details]
patch
Tests!
Comment on attachment 237279 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=237279&action=review Nice! Some suggestions for a few more tests. > LayoutTests/inspector/model/parse-script-syntax-tree.html:203 > + node = makeNode("true;", true); > + InspectorTest.assert(node.type === WebInspector.ScriptSyntaxTree.NodeType.Literal); > + InspectorTest.assert(node.value === true); > + InspectorTest.assert(node.raw === "true"); We might want to also test a few other literals? "null" "/regex/ig" "0x10" "0777" "\"a\"" > LayoutTests/inspector/model/parse-script-syntax-tree.html:276 > + node = makeNode("x = {foo:20};", true); > + InspectorTest.assert(node.right.properties[0].type === WebInspector.ScriptSyntaxTree.NodeType.Property); > + InspectorTest.assert(node.right.properties[0].key); > + InspectorTest.assert(node.right.properties[0].key.type === WebInspector.ScriptSyntaxTree.NodeType.Identifier); > + InspectorTest.assert(node.right.properties[0].value); > + InspectorTest.assert(node.right.properties[0].value.type === WebInspector.ScriptSyntaxTree.NodeType.Literal); > + node = makeNode("x = {'foo':20};", true); > + InspectorTest.assert(node.right.properties[0].key); > + InspectorTest.assert(node.right.properties[0].key.type === WebInspector.ScriptSyntaxTree.NodeType.Literal); > + InspectorTest.log("passed Property"); I'd suggest testing isGetterOrSetter is false here, and testing cases where it is true. "x = {get foo() {return 20}}" "x = {set foo(x) {}}" > LayoutTests/inspector/model/parse-script-syntax-tree.html:327 > + node = makeNode("foo++;", true); > + InspectorTest.assert(node.type === WebInspector.ScriptSyntaxTree.NodeType.UpdateExpression); > + InspectorTest.log("passed UpdateExpression"); Include a test for prefix === false here and a pre-increment/decrement with prefix === true. Created attachment 237334 [details]
patch
Made additions Joe suggested
Comment on attachment 237334 [details]
patch
r=me
Comment on attachment 237334 [details] patch Clearing flags on attachment: 237334 Committed r173103: <http://trac.webkit.org/changeset/173103> All reviewed patches have been landed. Closing bug. |