diff options
author | Andrew den Exter <andrew.den-exter@nokia.com> | 2012-02-03 13:34:57 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-06 08:28:23 +0100 |
commit | 5260a562a96ddab77ec22693997e2c784e3b6613 (patch) | |
tree | 2fa1ec31715d20dc04b9a9d52c3120a6b227493f /tests/auto/qtquick2 | |
parent | 5b9e19ff591f9460adc7a85fa9fe822c05ab3b41 (diff) |
Fix TextEdit vertical alignment.
Don't ignore the position of a QTextDocument when contructing a text
node, and translate the rectangle returned by positionToRectangle by
the y offset.
Task-number: QTBUG-23935
Change-Id: I55a2b69a32a8b623be7e36de54ad083c2f8591e5
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'tests/auto/qtquick2')
-rw-r--r-- | tests/auto/qtquick2/qquicktextedit/tst_qquicktextedit.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/auto/qtquick2/qquicktextedit/tst_qquicktextedit.cpp b/tests/auto/qtquick2/qquicktextedit/tst_qquicktextedit.cpp index 8bea1170ad..05ebfb80e6 100644 --- a/tests/auto/qtquick2/qquicktextedit/tst_qquicktextedit.cpp +++ b/tests/auto/qtquick2/qquicktextedit/tst_qquicktextedit.cpp @@ -800,6 +800,31 @@ void tst_qquicktextedit::vAlign() } } + QDeclarativeComponent texteditComponent(&engine); + texteditComponent.setData( + "import QtQuick 2.0\n" + "TextEdit { width: 100; height: 100; text: \"Hello World\" }", QUrl()); + QQuickTextEdit *textEditObject = qobject_cast<QQuickTextEdit*>(texteditComponent.create()); + + QVERIFY(textEditObject != 0); + + QCOMPARE(textEditObject->vAlign(), QQuickTextEdit::AlignTop); + QVERIFY(textEditObject->cursorRectangle().bottom() < 50); + QVERIFY(textEditObject->positionToRectangle(0).bottom() < 50); + + // bottom aligned + textEditObject->setVAlign(QQuickTextEdit::AlignBottom); + QCOMPARE(textEditObject->vAlign(), QQuickTextEdit::AlignBottom); + QVERIFY(textEditObject->cursorRectangle().top() > 50); + QVERIFY(textEditObject->positionToRectangle(0).top() > 50); + + // explicitly center aligned + textEditObject->setVAlign(QQuickTextEdit::AlignVCenter); + QCOMPARE(textEditObject->vAlign(), QQuickTextEdit::AlignVCenter); + QVERIFY(textEditObject->cursorRectangle().top() < 50); + QVERIFY(textEditObject->cursorRectangle().bottom() > 50); + QVERIFY(textEditObject->positionToRectangle(0).top() < 50); + QVERIFY(textEditObject->positionToRectangle(0).bottom() > 50); } void tst_qquicktextedit::font() |