void RangeTest::testCursorStringConversion() { using KTextEditor::Cursor; KTextEditor::Cursor c; QCOMPARE(c.line(), 0); QCOMPARE(c.column(), 0); QCOMPARE(c.toString(), QStringLiteral("(0, 0)")); c = Cursor::fromString(QStringLiteral("(0, 0)")); QCOMPARE(c.toString(), QStringLiteral("(0, 0)")); c = Cursor::fromString(QStringLiteral("(0,0)")); QCOMPARE(c.toString(), QStringLiteral("(0, 0)")); c.setPosition(-1, -1); QCOMPARE(c.toString(), QStringLiteral("(-1, -1)")); c = Cursor::fromString(QStringLiteral("(-1, -1)")); QCOMPARE(c.toString(), QStringLiteral("(-1, -1)")); c = Cursor::fromString(QStringLiteral("(-1,-1)")); QCOMPARE(c.toString(), QStringLiteral("(-1, -1)")); c.setPosition(12, 42); QCOMPARE(c.toString(), QStringLiteral("(12, 42)")); c = Cursor::fromString(QStringLiteral("(12, 42)")); QCOMPARE(c.toString(), QStringLiteral("(12, 42)")); c = Cursor::fromString(QStringLiteral("( 12,42)")); QCOMPARE(c.toString(), QStringLiteral("(12, 42)")); c.setPosition(12, 42); QCOMPARE(c.toString(), QStringLiteral("(12, 42)")); c = Cursor::fromString(QStringLiteral("(12, 42)")); QCOMPARE(c.toString(), QStringLiteral("(12, 42)")); c.setPosition(-12, 42); QCOMPARE(c.toString(), QStringLiteral("(-12, 42)")); c = Cursor::fromString(QStringLiteral("(-12, 42)")); QCOMPARE(c.toString(), QStringLiteral("(-12, 42)")); c = Cursor::fromString(QStringLiteral("(-12, +42)")); QCOMPARE(c.toString(), QStringLiteral("(-12, 42)")); c = Cursor::fromString(QStringLiteral("( -12 , +42)")); QCOMPARE(c.toString(), QStringLiteral("(-12, 42)")); c = Cursor::fromString(QStringLiteral("(-12 , 42 )")); QCOMPARE(c.toString(), QStringLiteral("(-12, 42)")); // test invalid input c = Cursor::fromString(QStringLiteral("( - 12 , + 42)")); QCOMPARE(c.toString(), QStringLiteral("(-1, -1)")); c = Cursor::fromString(QStringLiteral("(, 42)")); QCOMPARE(c.toString(), QStringLiteral("(-1, -1)")); c = Cursor::fromString(QStringLiteral("(-, -)")); QCOMPARE(c.toString(), QStringLiteral("(-1, -1)")); c = Cursor::fromString(QStringLiteral("(-, -)")); QCOMPARE(c.toString(), QStringLiteral("(-1, -1)")); c = Cursor::fromString(QStringLiteral("(-x,y)")); QCOMPARE(c.toString(), QStringLiteral("(-1, -1)")); c = Cursor::fromString(QStringLiteral("(-3,-2y)")); QCOMPARE(c.toString(), QStringLiteral("(-1, -1)")); }
/** Conversion function from QtScript cursor to KTextEditor::Cursor */ static void cursorFromScriptValue(const QScriptValue &obj, KTextEditor::Cursor &cursor) { cursor.setPosition(obj.property("line").toInt32(), obj.property("column").toInt32()); }