summaryrefslogtreecommitdiffstats
path: root/tests/auto/declarative/qdeclarativetextinput
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/declarative/qdeclarativetextinput')
-rw-r--r--tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp b/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp
index 8b513e8..e623df6 100644
--- a/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp
+++ b/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp
@@ -72,6 +72,7 @@ private slots:
void readOnly();
void sendRequestSoftwareInputPanelEvent();
+ void setHAlignClearCache();
private:
void simulateKey(QDeclarativeView *, int key);
@@ -651,6 +652,38 @@ void tst_qdeclarativetextinput::sendRequestSoftwareInputPanelEvent()
QCOMPARE(ic.softwareInputPanelEventReceived, true);
}
+class MyTextInput : public QDeclarativeTextInput
+{
+public:
+ MyTextInput(QDeclarativeItem *parent = 0) : QDeclarativeTextInput(parent)
+ {
+ nbPaint = 0;
+ }
+ void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
+ {
+ nbPaint++;
+ QDeclarativeTextInput::paint(painter, option, widget);
+ }
+ int nbPaint;
+};
+
+void tst_qdeclarativetextinput::setHAlignClearCache()
+{
+ QGraphicsScene scene;
+ QGraphicsView view(&scene);
+ MyTextInput input;
+ input.setText("Hello world");
+ scene.addItem(&input);
+ view.show();
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+ QCOMPARE(input.nbPaint, 1);
+ input.setHAlign(QDeclarativeTextInput::AlignRight);
+ QApplication::processEvents();
+ //Changing the alignment should trigger a repaint
+ QCOMPARE(input.nbPaint, 2);
+}
+
QTEST_MAIN(tst_qdeclarativetextinput)
#include "tst_qdeclarativetextinput.moc"