blob: 9de410e1d86e0a7ff2dd1613c973d90411acdbc7 [file] [log] [blame]
<html>
<head>
<script src="../../http/tests/inspector/inspector-test.js"></script>
<script src="editor-test.js"></script>
<script>
function test()
{
var text = [
"function foo(a, b) {",
" var f = /*.[a]/.test(a);",
" return f;"
];
var textEditor = InspectorTest.createTestEditor();
textEditor.setText(text.join("\n"));
InspectorTest.runTestSuite([
function testCoordinatesToCursorPositionOuter(next)
{
InspectorTest.addResult("Request char at (-1000, -1000)");
InspectorTest.addResult("Result:" + JSON.stringify(textEditor.coordinatesToCursorPosition(-1000, -1000)));
next();
},
function testTextToCoordinatesCornerCases(next)
{
InspectorTest.addResult("Request (-1, 0):" + JSON.stringify(textEditor.cursorPositionToCoordinates(-1, 0)));
InspectorTest.addResult("Request (100, 0):" + JSON.stringify(textEditor.cursorPositionToCoordinates(100, 0)));
InspectorTest.addResult("Request (0, -1):" + JSON.stringify(textEditor.cursorPositionToCoordinates(0, -1)));
InspectorTest.addResult("Request (0, 100):" + JSON.stringify(textEditor.cursorPositionToCoordinates(0, 100)));
InspectorTest.addResult("Request (-100, -1100):" + JSON.stringify(textEditor.cursorPositionToCoordinates(0, 100)));
next();
},
function testInverseRelationTextToCoordinates(next)
{
for(var i = 0; i < textEditor.linesCount; ++i) {
var line = textEditor.line(i);
InspectorTest.addResult("Testing line '" + line + "'");
for(var j = 0; j < textEditor.length; ++j) {
var xy = textEditor.cursorPositionToCoordinates(i, j);
if (!xy) {
InspectorTest.addResult("Failed inversion for line=" + i + " column=" + j);
continue;
}
var range = textEditor.coordinatesToCursorPosition(xy.x, xy.y);
if (range.startLine !== i || range.startColumn !== j)
InspectorTest.addResult("Failed inversion for line=" + i + " column=" + j);
}
}
next();
},
]);
}
</script>
</head>
<body onload="runTest()">
<p>
Test editor cursorPositionToCoordinates and coordinatesToCursorPosition API
</p>
</body>
</html>