--- /dev/null
+import QtQuick 2.0
+
+Rectangle {
+ property variant inputField: textedit
+ height: 200
+ width: 200
+
+ Rectangle {
+ height: parent.height /2
+ width: parent.width
+ color: "transparent"
+ border.color: "black"
+ border.width: 4
+ Text {
+ anchors.centerIn: parent
+ height: parent.height * .95
+ width: parent.width * .95
+ text: textedit.text
+ }
+ }
+
+ Rectangle {
+ height: parent.height /2
+ width: parent.width
+ color: "transparent"
+ border.color: "black"
+ border.width: 4
+ anchors.bottom: parent.bottom
+ TextEdit {
+ id: textedit
+ anchors.centerIn: parent
+ height: parent.height * .95
+ width: parent.width * .95
+ focus: true
+ wrapMode: TextEdit.WordWrap
+ text: ""
+ }
+ }
+}
void inputMethodComposing();
void cursorRectangleSize();
+ void emptytags_QTBUG_22058();
+
private:
void simulateKey(QSGView *, int key, Qt::KeyboardModifiers modifiers = 0);
delete canvas;
}
+void tst_qsgtextedit::emptytags_QTBUG_22058()
+{
+ QSGView canvas(QUrl::fromLocalFile(TESTDATA("qtbug-22058.qml")));
+ QVERIFY(canvas.rootObject() != 0);
+
+ canvas.show();
+ canvas.requestActivateWindow();
+ QTest::qWaitForWindowShown(&canvas);
+ QSGTextEdit *input = qobject_cast<QSGTextEdit *>(qvariant_cast<QObject *>(canvas.rootObject()->property("inputField")));
+ QVERIFY(input->hasActiveFocus());
+
+ QInputMethodEvent event("", QList<QInputMethodEvent::Attribute>());
+ event.setCommitString("<b>Bold<");
+ QGuiApplication::sendEvent(input, &event);
+ QCOMPARE(input->text(), QString("<b>Bold<"));
+ event.setCommitString(">");
+ QEXPECT_FAIL("", "Entering empty tags into a TextEdit asserts - QTBUG-22058", Abort);
+ QVERIFY(false);
+ QGuiApplication::sendEvent(input, &event);
+ QCOMPARE(input->text(), QString("<b>Bold<>"));
+}
+
QTEST_MAIN(tst_qsgtextedit)
#include "tst_qsgtextedit.moc"