void TestKoTextEditor::testPaste() { TestDocument *source = new TestDocument(); TestDocument *destination = new TestDocument(); Q_ASSERT(source->textEditor() != destination->textEditor()); KoShapeController shapeController(0, destination); source->textEditor()->insertText("bla"); destination->textEditor()->paste(source->textEditor(), &shapeController); Q_ASSERT(destination->m_document->toPlainText() == "bla"); }
void TestKoTextEditor::testRemoveSelectedText() { TestDocument doc; KoTextEditor *editor = doc.textEditor(); KoTextRangeManager *rangeManager = &doc.m_rangeManager; // enter some lorem ipsum editor->insertText(lorem); QTextCursor cur(doc.m_document); cur.setPosition(editor->position()); KoBookmark *bookmark = new KoBookmark(cur); bookmark->setName("start!"); bookmark->setPositionOnlyMode(false); // we want it to be several chars long rangeManager->insert(bookmark); editor->insertText(lorem); bookmark->setRangeEnd(editor->position()); QCOMPARE(bookmark->rangeStart(), lorem.length()); QCOMPARE(bookmark->rangeEnd(), lorem.length() * 2); Q_ASSERT(rangeManager->textRanges().length() == 1); // select all text editor->setPosition(0, QTextCursor::MoveAnchor); editor->movePosition(QTextCursor::End, QTextCursor::KeepAnchor); Q_ASSERT(editor->hasSelection()); // remove the text + the bookmark from the document editor->deleteChar(); // check whether the bookmark has gone. Q_ASSERT(rangeManager->textRanges().length() == 0); }