Web Inspector: highlight matching braces in DTE.
[WebKit-https.git] / LayoutTests / inspector / editor / brace-matcher.html
1 <html>
2 <head>
3 <script src="../../http/tests/inspector/inspector-test.js"></script>
4 <script src="editor-test.js"></script>
5 <script>
6
7 function test()
8 {
9 function bar() {
10     // comment here
11     var a, b, c, d;
12     var a = ((1 + 2) * (3 + 4));
13     for(var i = 0; i < 100; ++i) {
14         if (a < b && c > d) {
15         }
16     }
17 }
18
19
20     var textEditor = InspectorTest.createTestEditor();
21     textEditor.overrideViewportForTest(0, undefined, 3);
22     textEditor.mimeType = "text/javascript";
23     textEditor.setReadOnly(false);
24     textEditor.setText(bar.toString());
25     InspectorTest.addResult(textEditor.text());
26
27     var braceHighlighter = new WebInspector.TextEditorModel.BraceMatcher(textEditor._textModel);
28     function testAndDump(lineNumber, column)
29     {
30         var line = textEditor._textModel.line(lineNumber);
31         var text = "Cursor at line #" + (lineNumber) + " >>>" + line + "<<< column " + column + " (char is \"" + line.charAt(column) + "\")";
32         text += "\nenclosing braces: " + JSON.stringify(braceHighlighter.enclosingBraces(lineNumber, column));
33         text += "\n";
34         InspectorTest.addResult(text);
35     }
36
37     testAndDump(0, 0);
38     testAndDump(0, 12);
39     testAndDump(0, 13);
40     testAndDump(0, 14);
41     testAndDump(0, 15);
42     testAndDump(2, 5);
43     testAndDump(3, 12);
44     testAndDump(3, 13);
45     testAndDump(3, 14);
46     testAndDump(3, 15);
47     testAndDump(3, 22);
48     testAndDump(3, 24);
49     testAndDump(3, 29);
50     testAndDump(3, 30);
51     testAndDump(3, 31);
52     testAndDump(4, 19);
53     testAndDump(4, 32);
54     testAndDump(4, 33);
55     testAndDump(5, 20);
56     testAndDump(5, 28);
57     testAndDump(6, 8);
58     testAndDump(7, 4);
59     testAndDump(8, 0);
60
61     InspectorTest.completeTest();
62 }
63
64 </script>
65 </head>
66
67 <body onload="runTest()">
68 <p>
69 This test checks highlighter correctness.
70 </p>
71
72 </body>
73 </html>