diff --git a/tests/auto/qtextboundaryfinder/tst_qtextboundaryfinder.cpp b/tests/auto/qtextboundaryfinder/tst_qtextboundaryfinder.cpp index ebd2f5a..ddd8870 100644 --- a/tests/auto/qtextboundaryfinder/tst_qtextboundaryfinder.cpp +++ b/tests/auto/qtextboundaryfinder/tst_qtextboundaryfinder.cpp @@ -71,6 +71,7 @@ private slots: void isAtWordStart(); void fastConstructor(); void isAtBoundaryLine(); + void wordBoundariesWithSpace(); }; tst_QTextBoundaryFinder::tst_QTextBoundaryFinder() @@ -312,5 +313,30 @@ void tst_QTextBoundaryFinder::isAtBoundaryLine() QVERIFY(finder.isAtBoundary()); } +void tst_QTextBoundaryFinder::wordBoundariesWithSpace() +{ + // text with trailing space + QString text("Please test me. Finish "); + QTextBoundaryFinder finder(QTextBoundaryFinder::Word, text); + finder.setPosition(0); + QVERIFY(finder.isAtBoundary()); + QCOMPARE(finder.toNextBoundary(), 6); + QVERIFY(finder.boundaryReasons() & QTextBoundaryFinder::EndWord); + QCOMPARE(finder.toNextBoundary(), 7); + QVERIFY(finder.boundaryReasons() & QTextBoundaryFinder::StartWord); + QCOMPARE(finder.toNextBoundary(), 11); + QVERIFY(finder.boundaryReasons() & QTextBoundaryFinder::EndWord); + QCOMPARE(finder.toNextBoundary(), 12); + QVERIFY(finder.boundaryReasons() & QTextBoundaryFinder::StartWord); + QCOMPARE(finder.toNextBoundary(), 14); + QVERIFY(finder.boundaryReasons() & QTextBoundaryFinder::EndWord); + QCOMPARE(finder.toNextBoundary(), 15); + QVERIFY(finder.boundaryReasons() & QTextBoundaryFinder::EndWord); + QCOMPARE(finder.toNextBoundary(), 16); + QVERIFY(finder.boundaryReasons() & QTextBoundaryFinder::StartWord); + QCOMPARE(finder.toNextBoundary(), 22); + QVERIFY(finder.boundaryReasons() & QTextBoundaryFinder::EndWord); +} + QTEST_MAIN(tst_QTextBoundaryFinder) #include "tst_qtextboundaryfinder.moc"