|
1 /* Any copyright is dedicated to the Public Domain. |
|
2 http://creativecommons.org/publicdomain/zero/1.0/ */ |
|
3 |
|
4 /** |
|
5 * Check that nodes with locaiton information attached can be properly |
|
6 * verified for containing lines and columns. |
|
7 */ |
|
8 |
|
9 function test() { |
|
10 let { ParserHelpers } = Cu.import("resource:///modules/devtools/Parser.jsm", {}); |
|
11 |
|
12 let node1 = { loc: { |
|
13 start: { line: 1, column: 10 }, |
|
14 end: { line: 10, column: 1 } |
|
15 }}; |
|
16 let node2 = { loc: { |
|
17 start: { line: 1, column: 10 }, |
|
18 end: { line: 1, column: 20 } |
|
19 }}; |
|
20 |
|
21 ok(ParserHelpers.nodeContainsLine(node1, 1), "1st check."); |
|
22 ok(ParserHelpers.nodeContainsLine(node1, 5), "2nd check."); |
|
23 ok(ParserHelpers.nodeContainsLine(node1, 10), "3rd check."); |
|
24 |
|
25 ok(!ParserHelpers.nodeContainsLine(node1, 0), "4th check."); |
|
26 ok(!ParserHelpers.nodeContainsLine(node1, 11), "5th check."); |
|
27 |
|
28 ok(ParserHelpers.nodeContainsLine(node2, 1), "6th check."); |
|
29 ok(!ParserHelpers.nodeContainsLine(node2, 0), "7th check."); |
|
30 ok(!ParserHelpers.nodeContainsLine(node2, 2), "8th check."); |
|
31 |
|
32 ok(!ParserHelpers.nodeContainsPoint(node1, 1, 10), "9th check."); |
|
33 ok(!ParserHelpers.nodeContainsPoint(node1, 10, 1), "10th check."); |
|
34 |
|
35 ok(!ParserHelpers.nodeContainsPoint(node1, 0, 10), "11th check."); |
|
36 ok(!ParserHelpers.nodeContainsPoint(node1, 11, 1), "12th check."); |
|
37 |
|
38 ok(!ParserHelpers.nodeContainsPoint(node1, 1, 9), "13th check."); |
|
39 ok(!ParserHelpers.nodeContainsPoint(node1, 10, 2), "14th check."); |
|
40 |
|
41 ok(ParserHelpers.nodeContainsPoint(node2, 1, 10), "15th check."); |
|
42 ok(ParserHelpers.nodeContainsPoint(node2, 1, 15), "16th check."); |
|
43 ok(ParserHelpers.nodeContainsPoint(node2, 1, 20), "17th check."); |
|
44 |
|
45 ok(!ParserHelpers.nodeContainsPoint(node2, 0, 10), "18th check."); |
|
46 ok(!ParserHelpers.nodeContainsPoint(node2, 2, 20), "19th check."); |
|
47 |
|
48 ok(!ParserHelpers.nodeContainsPoint(node2, 0, 9), "20th check."); |
|
49 ok(!ParserHelpers.nodeContainsPoint(node2, 2, 21), "21th check."); |
|
50 |
|
51 ok(!ParserHelpers.nodeContainsPoint(node2, 1, 9), "22th check."); |
|
52 ok(!ParserHelpers.nodeContainsPoint(node2, 1, 21), "23th check."); |
|
53 |
|
54 finish(); |
|
55 } |