Index: third_party/WebKit/LayoutTests/inspector/sources/debugger/extract-javascript-identifiers.html |
diff --git a/third_party/WebKit/LayoutTests/inspector/sources/debugger/extract-javascript-identifiers.html b/third_party/WebKit/LayoutTests/inspector/sources/debugger/extract-javascript-identifiers.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..57fde3e0e2816a87c6bbe4ef8e829a6da7872580 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/inspector/sources/debugger/extract-javascript-identifiers.html |
@@ -0,0 +1,82 @@ |
+<html> |
+<head> |
+<script src="../../../http/tests/inspector/inspector-test.js"></script> |
+<script> |
+ |
+function test() |
+{ |
+ var worker = WebInspector.SourceMapNamesResolverWorker._instance(); |
+ |
+ InspectorTest.runTestSuite([ |
+ function testFunctionArguments(next) |
+ { |
+ extract("function foo(a, b) { }", next); |
+ }, |
+ |
+ function testSimpleVariable(next) |
+ { |
+ extract("function foo() { var a = 1; }", next); |
+ }, |
+ |
+ function testMemberExpression(next) |
+ { |
+ extract("function foo() { var a = b.c.d.e; }", next); |
+ }, |
+ |
+ function testFunctionCall(next) |
+ { |
+ extract("function foo() { var a = doSomething(b, true, 10); }", next); |
+ }, |
+ |
+ function testPropertyLiteral(next) |
+ { |
+ extract("function foo() { var a = b['test'];}", next); |
+ }, |
+ |
+ function testComputedProperty(next) |
+ { |
+ extract("function foo() { var a = b[variableName];}", next); |
+ }, |
+ |
+ function testNestedFunction1(next) |
+ { |
+ extract("function foo() { var a = 1; function bar() { var b = 1; } var c = 3;}", next); |
+ }, |
+ |
+ function testNestedFunction2(next) |
+ { |
+ extract("function foo() { var a = 1; var bar = function (){ var b = 1; }; var c = 3;}", next); |
+ }, |
+ |
+ function testNestedFunction3(next) |
+ { |
+ extract("function foo() { var a = x => x * 2 }", next); |
+ }, |
+ ]); |
+ |
+ function extract(text, next) |
+ { |
+ InspectorTest.addResult("Text:"); |
+ InspectorTest.addResult(" " + text + "\n"); |
+ worker.javaScriptIdentifiers(text) |
+ .then(onIdentifiers) |
+ .then(next); |
+ } |
+ |
+ function onIdentifiers(ids) |
+ { |
+ InspectorTest.addResult("Identifiers:"); |
+ for (var id of ids) |
+ InspectorTest.addResult(` id: ${id.name} offset: ${id.offset}`); |
+ } |
+} |
+ |
+</script> |
+ |
+</head> |
+ |
+<body onload="runTest()"> |
+<p>Tests the extraction of javascript identifier names from function text.</p> |
+ |
+</body> |
+</html> |