michael@0: /* Any copyright is dedicated to the Public Domain. michael@0: http://creativecommons.org/publicdomain/zero/1.0/ */ michael@0: michael@0: /** michael@0: * Check that nodes with locaiton information attached can be properly michael@0: * verified for containing lines and columns. michael@0: */ michael@0: michael@0: function test() { michael@0: let { ParserHelpers } = Cu.import("resource:///modules/devtools/Parser.jsm", {}); michael@0: michael@0: let node1 = { loc: { michael@0: start: { line: 1, column: 10 }, michael@0: end: { line: 10, column: 1 } michael@0: }}; michael@0: let node2 = { loc: { michael@0: start: { line: 1, column: 10 }, michael@0: end: { line: 1, column: 20 } michael@0: }}; michael@0: michael@0: ok(ParserHelpers.nodeContainsLine(node1, 1), "1st check."); michael@0: ok(ParserHelpers.nodeContainsLine(node1, 5), "2nd check."); michael@0: ok(ParserHelpers.nodeContainsLine(node1, 10), "3rd check."); michael@0: michael@0: ok(!ParserHelpers.nodeContainsLine(node1, 0), "4th check."); michael@0: ok(!ParserHelpers.nodeContainsLine(node1, 11), "5th check."); michael@0: michael@0: ok(ParserHelpers.nodeContainsLine(node2, 1), "6th check."); michael@0: ok(!ParserHelpers.nodeContainsLine(node2, 0), "7th check."); michael@0: ok(!ParserHelpers.nodeContainsLine(node2, 2), "8th check."); michael@0: michael@0: ok(!ParserHelpers.nodeContainsPoint(node1, 1, 10), "9th check."); michael@0: ok(!ParserHelpers.nodeContainsPoint(node1, 10, 1), "10th check."); michael@0: michael@0: ok(!ParserHelpers.nodeContainsPoint(node1, 0, 10), "11th check."); michael@0: ok(!ParserHelpers.nodeContainsPoint(node1, 11, 1), "12th check."); michael@0: michael@0: ok(!ParserHelpers.nodeContainsPoint(node1, 1, 9), "13th check."); michael@0: ok(!ParserHelpers.nodeContainsPoint(node1, 10, 2), "14th check."); michael@0: michael@0: ok(ParserHelpers.nodeContainsPoint(node2, 1, 10), "15th check."); michael@0: ok(ParserHelpers.nodeContainsPoint(node2, 1, 15), "16th check."); michael@0: ok(ParserHelpers.nodeContainsPoint(node2, 1, 20), "17th check."); michael@0: michael@0: ok(!ParserHelpers.nodeContainsPoint(node2, 0, 10), "18th check."); michael@0: ok(!ParserHelpers.nodeContainsPoint(node2, 2, 20), "19th check."); michael@0: michael@0: ok(!ParserHelpers.nodeContainsPoint(node2, 0, 9), "20th check."); michael@0: ok(!ParserHelpers.nodeContainsPoint(node2, 2, 21), "21th check."); michael@0: michael@0: ok(!ParserHelpers.nodeContainsPoint(node2, 1, 9), "22th check."); michael@0: ok(!ParserHelpers.nodeContainsPoint(node2, 1, 21), "23th check."); michael@0: michael@0: finish(); michael@0: }