diff options
author | Mitch Curtis <mitch.curtis@digia.com> | 2014-03-20 10:54:21 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-03-20 15:42:21 +0100 |
commit | 6ac69be3148822a0dafce227eab19b97722b6cc2 (patch) | |
tree | 0fdd20877a2dc51e3f16441595a1aee8cc37c406 /tests/auto/declarative | |
parent | 9aac83d22ddbebc22fb1360d710263d349c2fdda (diff) |
Correct QDeclarativeTextEdit::positionToRectangle().v5.3.0-beta1
d->yoff is the content offset when the content is not top aligned.
This means that positionToRectangle() returned incorrect values when
the content was bottom or vertical center aligned. In other words,
it didn't apply the offset but gave coordinates from the beginning of
the content instead of from the beginning of the item.
Change-Id: I044b79434b9a67b0539050e39953d5889a3ed1db
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Diffstat (limited to 'tests/auto/declarative')
-rw-r--r-- | tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp b/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp index ccf7d66f..a348545a 100644 --- a/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp +++ b/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp @@ -639,6 +639,30 @@ void tst_qdeclarativetextedit::vAlign() } } + QDeclarativeComponent texteditComponent(&engine); + texteditComponent.setData("import QtQuick 1.0\n TextEdit { width: 200; height: 200; text: \"Hello World\" }", QUrl()); + QDeclarativeTextEdit *textEditObject = qobject_cast<QDeclarativeTextEdit*>(texteditComponent.create()); + + QVERIFY(textEditObject != 0); + + QCOMPARE(textEditObject->vAlign(), QDeclarativeTextEdit::AlignTop); + QVERIFY(textEditObject->cursorRectangle().bottom() < 50); + QVERIFY(textEditObject->positionToRectangle(0).bottom() < 50); + + // bottom aligned + textEditObject->setVAlign(QDeclarativeTextEdit::AlignBottom); + + QCOMPARE(textEditObject->vAlign(), QDeclarativeTextEdit::AlignBottom); + QVERIFY(textEditObject->cursorRectangle().top() > 100); + QVERIFY(textEditObject->positionToRectangle(0).top() > 100); + + // explicitly center aligned + textEditObject->setVAlign(QDeclarativeTextEdit::AlignVCenter); + QCOMPARE(textEditObject->vAlign(), QDeclarativeTextEdit::AlignVCenter); + QVERIFY(textEditObject->cursorRectangle().top() < 100); + QVERIFY(textEditObject->cursorRectangle().bottom() > 100); + QVERIFY(textEditObject->positionToRectangle(0).top() < 100); + QVERIFY(textEditObject->positionToRectangle(0).bottom() > 100); } void tst_qdeclarativetextedit::font() |