aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/quick/qquicktextedit
diff options
context:
space:
mode:
authorSergio Ahumada <sergio.ahumada@digia.com>2013-08-05 10:42:21 +0200
committerSergio Ahumada <sergio.ahumada@digia.com>2013-08-05 10:42:21 +0200
commit1d3b9db5b54d8ae99c6b149c8d3d91eda19b5838 (patch)
tree9ffbf9d6d2ed6b0aef6155215767c56655ff405b /tests/auto/quick/qquicktextedit
parent45792359f25813af18b7416e4c18737ed4b20bff (diff)
parent0316506d9ddbc3ca9f26f880b9e7fb5d5b0fec36 (diff)
Merge branch 'stable' into dev
Conflicts: .qmake.conf Change-Id: I06f79bcbde13c7b12905492a17dbcbb4a594e557
Diffstat (limited to 'tests/auto/quick/qquicktextedit')
-rw-r--r--tests/auto/quick/qquicktextedit/data/hAlignVisual.qml3
-rw-r--r--tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp82
2 files changed, 53 insertions, 32 deletions
diff --git a/tests/auto/quick/qquicktextedit/data/hAlignVisual.qml b/tests/auto/quick/qquicktextedit/data/hAlignVisual.qml
index 136e5d21a2..017bab97a7 100644
--- a/tests/auto/quick/qquicktextedit/data/hAlignVisual.qml
+++ b/tests/auto/quick/qquicktextedit/data/hAlignVisual.qml
@@ -6,8 +6,9 @@ Rectangle {
Text {
objectName: "textItem"
- text: "AA\nBBBBB\nCCCCCCCCCCCCCCCC"
+ text: "AA\nBBBBBBB\nCCCCCCCCCCCCCCCC"
anchors.centerIn: parent
horizontalAlignment: Text.AlignLeft
+ font.pointSize: 12
}
}
diff --git a/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp b/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp
index c14f191cb1..ac8fca1f9d 100644
--- a/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp
+++ b/tests/auto/quick/qquicktextedit/tst_qquicktextedit.cpp
@@ -656,7 +656,7 @@ void tst_qquicktextedit::hAlign_RightToLeft()
QQuickView window(testFileUrl("horizontalAlignment_RightToLeft.qml"));
QQuickTextEdit *textEdit = window.rootObject()->findChild<QQuickTextEdit*>("text");
QVERIFY(textEdit != 0);
- window.show();
+ window.showNormal();
const QString rtlText = textEdit->text();
@@ -820,42 +820,66 @@ static int numberOfNonWhitePixels(int fromX, int toX, const QImage &image)
return pixels;
}
+static inline QByteArray msgNotGreaterThan(int n1, int n2)
+{
+ return QByteArray::number(n1) + QByteArrayLiteral(" is not greater than ") + QByteArray::number(n2);
+}
+
+static inline QByteArray msgNotLessThan(int n1, int n2)
+{
+ return QByteArray::number(n1) + QByteArrayLiteral(" is not less than ") + QByteArray::number(n2);
+}
+
void tst_qquicktextedit::hAlignVisual()
{
QQuickView view(testFileUrl("hAlignVisual.qml"));
- view.show();
+ view.setFlags(view.flags() | Qt::WindowStaysOnTopHint); // Prevent being obscured by other windows.
+ view.showNormal();
QVERIFY(QTest::qWaitForWindowExposed(&view));
QQuickText *text = view.rootObject()->findChild<QQuickText*>("textItem");
QVERIFY(text != 0);
+
+ // Try to check whether alignment works by checking the number of black
+ // pixels in the thirds of the grabbed image.
+ const int windowWidth = 200;
+ const int textWidth = qCeil(text->implicitWidth());
+ QVERIFY2(textWidth < windowWidth, "System font too large.");
+ const int sectionWidth = textWidth / 3;
+ const int centeredSection1 = (windowWidth - textWidth) / 2;
+ const int centeredSection2 = centeredSection1 + sectionWidth;
+ const int centeredSection3 = centeredSection2 + sectionWidth;
+ const int centeredSection3End = centeredSection3 + sectionWidth;
+
{
// Left Align
QImage image = view.grabWindow();
- int left = numberOfNonWhitePixels(0, image.width() / 3, image);
- int mid = numberOfNonWhitePixels(image.width() / 3, 2 * image.width() / 3, image);
- int right = numberOfNonWhitePixels( 2 * image.width() / 3, image.width(), image);
- QVERIFY(left > mid);
- QVERIFY(mid > right);
+ const int left = numberOfNonWhitePixels(centeredSection1, centeredSection2, image);
+ const int mid = numberOfNonWhitePixels(centeredSection2, centeredSection3, image);
+ const int right = numberOfNonWhitePixels(centeredSection3, centeredSection3End, image);
+ QVERIFY2(left > mid, msgNotGreaterThan(left, mid).constData());
+ QVERIFY2(mid > right, msgNotGreaterThan(mid, right).constData());
}
{
// HCenter Align
text->setHAlign(QQuickText::AlignHCenter);
QImage image = view.grabWindow();
- int left = numberOfNonWhitePixels(0, image.width() / 3, image);
- int mid = numberOfNonWhitePixels(image.width() / 3, 2 * image.width() / 3, image);
- int right = numberOfNonWhitePixels( 2 * image.width() / 3, image.width(), image);
- QVERIFY(left < mid);
- QVERIFY(mid > right);
+ const int left = numberOfNonWhitePixels(centeredSection1, centeredSection2, image);
+ const int mid = numberOfNonWhitePixels(centeredSection2, centeredSection3, image);
+ const int right = numberOfNonWhitePixels(centeredSection3, centeredSection3End, image);
+ QVERIFY2(left < mid, msgNotLessThan(left, mid).constData());
+ QVERIFY2(mid > right, msgNotGreaterThan(mid, right).constData());
}
{
// Right Align
text->setHAlign(QQuickText::AlignRight);
QImage image = view.grabWindow();
- int left = numberOfNonWhitePixels(0, image.width() / 3, image);
- int mid = numberOfNonWhitePixels(image.width() / 3, 2 * image.width() / 3, image);
- int right = numberOfNonWhitePixels( 2 * image.width() / 3, image.width(), image);
- QVERIFY(left < mid);
- QVERIFY(mid < right);
+ const int left = numberOfNonWhitePixels(centeredSection1, centeredSection2, image);
+ const int mid = numberOfNonWhitePixels(centeredSection2, centeredSection3, image);
+ const int right = numberOfNonWhitePixels(centeredSection3, centeredSection3End, image);
+ image.save("test3.png");
+ QVERIFY2(left < mid, msgNotLessThan(left, mid).constData());
+ QVERIFY2(mid < right, msgNotLessThan(mid, right).constData());
}
text->setWidth(200);
@@ -866,8 +890,8 @@ void tst_qquicktextedit::hAlignVisual()
int x = qCeil(text->implicitWidth());
int left = numberOfNonWhitePixels(0, x, image);
int right = numberOfNonWhitePixels(x, image.width() - x, image);
- QVERIFY(left > 0);
- QVERIFY(right == 0);
+ QVERIFY2(left > 0, msgNotGreaterThan(left, 0).constData());
+ QCOMPARE(right, 0);
}
{
// HCenter Align
@@ -878,9 +902,9 @@ void tst_qquicktextedit::hAlignVisual()
int left = numberOfNonWhitePixels(0, x1, image);
int mid = numberOfNonWhitePixels(x1, x2 - x1, image);
int right = numberOfNonWhitePixels(x2, image.width() - x2, image);
- QVERIFY(left == 0);
- QVERIFY(mid > 0);
- QVERIFY(right == 0);
+ QCOMPARE(left, 0);
+ QVERIFY2(mid > 0, msgNotGreaterThan(left, 0).constData());
+ QCOMPARE(right, 0);
}
{
// Right Align
@@ -889,8 +913,8 @@ void tst_qquicktextedit::hAlignVisual()
int x = image.width() - qCeil(text->implicitWidth());
int left = numberOfNonWhitePixels(0, x, image);
int right = numberOfNonWhitePixels(x, image.width() - x, image);
- QVERIFY(left == 0);
- QVERIFY(right > 0);
+ QCOMPARE(left, 0);
+ QVERIFY2(right > 0, msgNotGreaterThan(left, 0).constData());
}
}
@@ -1240,7 +1264,7 @@ void tst_qquicktextedit::focusOnPress()
QQuickWindow window;
window.resize(100, 50);
textEditObject->setParentItem(window.contentItem());
- window.show();
+ window.showNormal();
window.requestActivate();
QTest::qWaitForWindowActive(&window);
@@ -2519,7 +2543,7 @@ void tst_qquicktextedit::remoteCursorDelegate()
view.rootContext()->setContextProperty("contextDelegate", &component);
view.setSource(testFileUrl("cursorTestRemote.qml"));
- view.show();
+ view.showNormal();
view.requestActivate();
QTest::qWaitForWindowActive(&view);
QQuickTextEdit *textEditObject = view.rootObject()->findChild<QQuickTextEdit*>("textEditObject");
@@ -2533,10 +2557,6 @@ void tst_qquicktextedit::remoteCursorDelegate()
textEditObject->setFocus(true);
QVERIFY(textEditObject->isCursorVisible());
- QCOMPARE(component.status(), QQmlComponent::Loading);
- QVERIFY(!textEditObject->findChild<QQuickItem*>("cursorInstance"));
- server.sendDelayedItem();
-
// Wait for component to load.
QTRY_COMPARE(component.status(), QQmlComponent::Ready);
QVERIFY(textEditObject->findChild<QQuickItem*>("cursorInstance"));
@@ -3046,7 +3066,7 @@ void tst_qquicktextedit::openInputPanel()
inputMethodPrivate->testContext = &platformInputContext;
QQuickView view(testFileUrl("openInputPanel.qml"));
- view.show();
+ view.showNormal();
view.requestActivate();
QTest::qWaitForWindowActive(&view);