From 399906b24e7a98f627418a87b39fa0c959352798 Mon Sep 17 00:00:00 2001
From: deva <deva>
Date: Tue, 17 Aug 2010 08:34:16 +0000
Subject: Make enter/return skip to next (tab) widget.

---
 client/test/testlineedit.cc | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

(limited to 'client/test')

diff --git a/client/test/testlineedit.cc b/client/test/testlineedit.cc
index 577e0da..e8c9e40 100644
--- a/client/test/testlineedit.cc
+++ b/client/test/testlineedit.cc
@@ -2,6 +2,9 @@
 #include <QtTest/QtTest>
 #include "util.h"
 #include "lineedit.h"
+#include <QApplication>
+#include <QWidget>
+#include <QLineEdit>
 
 static QString xml = "<lineedit name=\"mylineedit\"/>\n";
 
@@ -40,6 +43,40 @@ private slots:
     QTest::keyClicks(le.qwidget(), "h");
 		QCOMPARE(spy.count(), 1);
 	}
+
+  void tabOut()
+  {
+		QDomDocument doc;	doc.setContent(xml);
+    QDomElement e = doc.documentElement();
+    QWidget main;
+    LineEdit le(e, createMacroWindow());
+    le.qwidget()->setParent(&main);
+    QLineEdit qle(&main);
+    main.show();
+
+    QApplication::processEvents();
+ 
+    QTest::mouseClick(le.qwidget(), Qt::LeftButton);
+    QApplication::processEvents();
+    QCOMPARE(QApplication::focusWidget(), le.qwidget());
+    QTest::keyClick(le.qwidget(), Qt::Key_Enter);
+    QApplication::processEvents();
+    QVERIFY(QApplication::focusWidget() != le.qwidget());
+
+    QTest::mouseClick(le.qwidget(), Qt::LeftButton);
+    QApplication::processEvents();
+    QCOMPARE(QApplication::focusWidget(), le.qwidget());
+    QTest::keyClick(le.qwidget(), Qt::Key_Return);
+    QApplication::processEvents();
+    QVERIFY(QApplication::focusWidget() != le.qwidget());
+ 
+    QTest::mouseClick(le.qwidget(), Qt::LeftButton);
+    QApplication::processEvents();
+    QCOMPARE(QApplication::focusWidget(), le.qwidget());
+    QTest::keyClick(le.qwidget(), Qt::Key_Tab);
+    QApplication::processEvents();
+    QVERIFY(QApplication::focusWidget() != le.qwidget());
+  }
 };
 
 QTEST_MAIN(TestLineEdit)
-- 
cgit v1.2.3