diff options
| author | deva <deva> | 2009-08-31 15:01:56 +0000 | 
|---|---|---|
| committer | deva <deva> | 2009-08-31 15:01:56 +0000 | 
| commit | eedcfd2f8b9e17f0903b7ff85421636830d2291d (patch) | |
| tree | a41322beccee45924f53b420d5ac1933a6fa21c5 /client/test | |
| parent | ac9b15c17e81fd8cf828ca8eb9770a7ec5a6de20 (diff) | |
Some more tests.
Diffstat (limited to 'client/test')
| -rw-r--r-- | client/test/testcomboboxedit.cc | 72 | ||||
| -rw-r--r-- | client/test/testcomboboxsearch.cc | 121 | ||||
| -rw-r--r-- | client/test/testcomboboxselect.cc | 72 | ||||
| -rw-r--r-- | client/test/testlineedit.cc | 57 | 
4 files changed, 284 insertions, 38 deletions
| diff --git a/client/test/testcomboboxedit.cc b/client/test/testcomboboxedit.cc new file mode 100644 index 0000000..5294886 --- /dev/null +++ b/client/test/testcomboboxedit.cc @@ -0,0 +1,72 @@ +#include <QtTest/QtTest> +#include "util.h" +#include "combobox.h" +#include <QAbstractItemView> + +static QString xml_search =  +	"<combobox name=\"mycombobox\" type=\"search\">\n" +	"  <item value=\"item1\" caption=\"Item 1\"/>\n" +	"  <item value=\"item3\" caption=\"Item 3\"/>\n" +	"  <item value=\"item2\" caption=\"Item 2\"/>\n" +	"</combobox>\n"; + +static QString xml_edit =  +	"<combobox name=\"mycombobox\" type=\"edit\">\n" +	"  <item value=\"item1\" caption=\"Item 1\"/>\n" +	"  <item value=\"item3\" caption=\"Item 3\"/>\n" +	"  <item value=\"item2\" caption=\"Item 2\"/>\n" +	"</combobox>\n"; + +static QString xml_select =  +	"<combobox name=\"mycombobox\" type=\"select\">\n" +	"  <item value=\"item1\" caption=\"Item 1\"/>\n" +	"  <item value=\"item3\" caption=\"Item 3\"/>\n" +	"  <item value=\"item2\" caption=\"Item 2\"/>\n" +	"</combobox>\n"; + +class TestComboBox: public QObject +{ +Q_OBJECT +private slots: +  void creation() { TEST_CREATION(ComboBox); } +  void disable() { TEST_DISABLE(ComboBox); } + +  void editSelect() +	{ +		QDomDocument doc;	doc.setContent(xml_search); +    QDomElement e = doc.documentElement(); +    ComboBox cmb(e, NULL); + +    QTest::keyClicks(&cmb, "Item 2"); +    QCOMPARE(cmb.getValue(), QString("Item 2")); +  } + +  void arrowSelect() +	{ +		QDomDocument doc;	doc.setContent(xml_select); +    QDomElement e = doc.documentElement(); + +    ComboBox cmb(e, NULL); + +		cmb.setFocus(); +    QTest::keyPress(&cmb, Qt::Key_Down); +    QTest::keyPress(&cmb, Qt::Key_Down); +    QTest::keyPress(&cmb, Qt::Key_Enter); +    QCOMPARE(cmb.getValue(), QString("item3")); +  } + +	void changeEmits() +	{ +		QDomDocument doc;	doc.setContent(xml_search); +    QDomElement e = doc.documentElement(); +    ComboBox cmb(e, NULL); +		QSignalSpy spy(&cmb, SIGNAL(wasChanged())); +    QTest::keyClicks(&cmb, "I"); +		QCOMPARE(spy.count(), 1); +	} +}; + +QTEST_MAIN(TestComboBox) +#include "testcombobox.moc" + + diff --git a/client/test/testcomboboxsearch.cc b/client/test/testcomboboxsearch.cc new file mode 100644 index 0000000..84f03c4 --- /dev/null +++ b/client/test/testcomboboxsearch.cc @@ -0,0 +1,121 @@ +#include <QtTest/QtTest> +#include "util.h" +#include "combobox.h" +#include <QAbstractItemView> +#include <QCompleter> + +static QString xml =  +	"<combobox name=\"mycombobox\" type=\"search\">\n" +	"  <item value=\"item1\" caption=\"Item 1\"/>\n" +	"  <item value=\"item3\" caption=\"Item 3\"/>\n" +	"  <item value=\"item2\" caption=\"Item 2\"/>\n" +	"  <item value=\"thingy\" caption=\"Thingy\"/>\n" +	"  <item value=\"bob\" caption=\"Bob\"/>\n" +	"</combobox>\n"; + +static QString xml_default =  +	"<combobox name=\"mycombobox\" type=\"search\" value=\"item2\">\n" +	"  <item value=\"item1\" caption=\"Item 1\"/>\n" +	"  <item value=\"item3\" caption=\"Item 3\"/>\n" +	"  <item value=\"item2\" caption=\"Item 2\"/>\n" +	"  <item value=\"thingy\" caption=\"Thingy\"/>\n" +	"  <item value=\"bob\" caption=\"Bob\"/>\n" +	"</combobox>\n"; + +class TestComboBoxSearch: public QObject +{ +Q_OBJECT +private slots: +  void creation() { TEST_CREATION(ComboBox); } +  void disable() { TEST_DISABLE(ComboBox); } + +  void searchFullItem() +	{ +		QDomDocument doc;	doc.setContent(xml); +    QDomElement e = doc.documentElement(); +    ComboBox cmb(e, NULL); + +		// Full item search +    QTest::keyClicks(&cmb, "Item 2"); +    QCOMPARE(cmb.getValue(), QString("Item 2")); +  } + +  void searchPrefix() +	{ +		QDomDocument doc;	doc.setContent(xml); +    QDomElement e = doc.documentElement(); +    ComboBox cmb(e, NULL); + +		// Item prefix search +    QTest::keyClicks(&cmb, "T"); +		QCOMPARE(cmb.completer()->currentCompletion(), QString("Thingy")); + +    QTest::keyClicks(&cmb, cmb.completer()->currentCompletion()); +    QCOMPARE(cmb.getValue(), QString("Thingy")); +  } + +  void searchNegative() +	{ +		QDomDocument doc;	doc.setContent(xml); +    QDomElement e = doc.documentElement(); +    ComboBox cmb(e, NULL); + +		// Negative search +    QTest::keyClicks(&cmb, "A"); +    QCOMPARE(cmb.getValue(), QString("")); +  } + +  void arrowSelect() +	{ +		QDomDocument doc;	doc.setContent(xml); +    QDomElement e = doc.documentElement(); +    ComboBox cmb(e, NULL); +    QTest::keyPress(&cmb, Qt::Key_Down); +    QTest::keyPress(&cmb, Qt::Key_Down); +    QTest::keyPress(&cmb, Qt::Key_Enter); +    QCOMPARE(cmb.getValue(), QString("item3")); +  } +	/* // It is set in MacroWindow generation .. not directly in the Widget. +  void defaultValue() +	{ +		QDomDocument doc;	doc.setContent(xml_default); +    QDomElement e = doc.documentElement(); +    ComboBox cmb(e, NULL); +    QCOMPARE(cmb.getValue(), QString("item2")); +  } +	*/ +	void changeEmitUser() +	{ +		QDomDocument doc;	doc.setContent(xml); +    QDomElement e = doc.documentElement(); +    ComboBox cmb(e, NULL); +		QSignalSpy spy(&cmb, SIGNAL(wasChanged())); +    QTest::keyClicks(&cmb, "I"); +		QCOMPARE(spy.count(), 1); +	} + +	void changeEmitSystem() +	{ +		QDomDocument doc;	doc.setContent(xml); +    QDomElement e = doc.documentElement(); +    ComboBox cmb(e, NULL); +		QSignalSpy spy(&cmb, SIGNAL(wasChanged())); +		cmb.setValue("some value", "pentominos"); +		QCOMPARE(spy.count(), 1); +	} + +	void changeNoEmitSystem() +	{ +		QDomDocument doc;	doc.setContent(xml); +    QDomElement e = doc.documentElement(); +    ComboBox cmb(e, NULL); +		QSignalSpy spy(&cmb, SIGNAL(wasChanged())); +		cmb.setValue("some value", "pracro"); +		QCOMPARE(spy.count(), 0); +	} +}; + +QTEST_MAIN(TestComboBoxSearch) +#include "testcomboboxsearch.moc" + + diff --git a/client/test/testcomboboxselect.cc b/client/test/testcomboboxselect.cc new file mode 100644 index 0000000..5294886 --- /dev/null +++ b/client/test/testcomboboxselect.cc @@ -0,0 +1,72 @@ +#include <QtTest/QtTest> +#include "util.h" +#include "combobox.h" +#include <QAbstractItemView> + +static QString xml_search =  +	"<combobox name=\"mycombobox\" type=\"search\">\n" +	"  <item value=\"item1\" caption=\"Item 1\"/>\n" +	"  <item value=\"item3\" caption=\"Item 3\"/>\n" +	"  <item value=\"item2\" caption=\"Item 2\"/>\n" +	"</combobox>\n"; + +static QString xml_edit =  +	"<combobox name=\"mycombobox\" type=\"edit\">\n" +	"  <item value=\"item1\" caption=\"Item 1\"/>\n" +	"  <item value=\"item3\" caption=\"Item 3\"/>\n" +	"  <item value=\"item2\" caption=\"Item 2\"/>\n" +	"</combobox>\n"; + +static QString xml_select =  +	"<combobox name=\"mycombobox\" type=\"select\">\n" +	"  <item value=\"item1\" caption=\"Item 1\"/>\n" +	"  <item value=\"item3\" caption=\"Item 3\"/>\n" +	"  <item value=\"item2\" caption=\"Item 2\"/>\n" +	"</combobox>\n"; + +class TestComboBox: public QObject +{ +Q_OBJECT +private slots: +  void creation() { TEST_CREATION(ComboBox); } +  void disable() { TEST_DISABLE(ComboBox); } + +  void editSelect() +	{ +		QDomDocument doc;	doc.setContent(xml_search); +    QDomElement e = doc.documentElement(); +    ComboBox cmb(e, NULL); + +    QTest::keyClicks(&cmb, "Item 2"); +    QCOMPARE(cmb.getValue(), QString("Item 2")); +  } + +  void arrowSelect() +	{ +		QDomDocument doc;	doc.setContent(xml_select); +    QDomElement e = doc.documentElement(); + +    ComboBox cmb(e, NULL); + +		cmb.setFocus(); +    QTest::keyPress(&cmb, Qt::Key_Down); +    QTest::keyPress(&cmb, Qt::Key_Down); +    QTest::keyPress(&cmb, Qt::Key_Enter); +    QCOMPARE(cmb.getValue(), QString("item3")); +  } + +	void changeEmits() +	{ +		QDomDocument doc;	doc.setContent(xml_search); +    QDomElement e = doc.documentElement(); +    ComboBox cmb(e, NULL); +		QSignalSpy spy(&cmb, SIGNAL(wasChanged())); +    QTest::keyClicks(&cmb, "I"); +		QCOMPARE(spy.count(), 1); +	} +}; + +QTEST_MAIN(TestComboBox) +#include "testcombobox.moc" + + diff --git a/client/test/testlineedit.cc b/client/test/testlineedit.cc index 4eb886b..c5ab8b3 100644 --- a/client/test/testlineedit.cc +++ b/client/test/testlineedit.cc @@ -2,6 +2,8 @@  #include "util.h"  #include "lineedit.h" +static QString xml = "<lineedit name=\"mylineedit\"/>\n"; +  class TestLineEdit: public QObject  {  Q_OBJECT @@ -10,46 +12,25 @@ private slots:    void disable() { TEST_DISABLE(LineEdit); }    void value() { TEST_VALUE(LineEdit); }    void edit() -  { -    QDomElement e = getWidgetElement("LineEdit", "mywidget"); -    MacroWindow *wnd = createMacroWindow(); -    LineEdit le(e, wnd); -    QTest::keyClicks(&le, "hello"); -    QCOMPARE(le.getValue(), QString("hello")); +	{ +		QDomDocument doc;	doc.setContent(xml); +    QDomElement e = doc.documentElement(); +    LineEdit le(e, NULL); +		QString teststring("hello"); +    QTest::keyClicks(&le, teststring); +    QCOMPARE(le.getValue(), teststring);    } + +	void changeEmits() +	{ +		QDomDocument doc;	doc.setContent(xml); +    QDomElement e = doc.documentElement(); +    LineEdit le(e, NULL); +		QSignalSpy spy(&le, SIGNAL(wasChanged())); +    QTest::keyClicks(&le, "h"); +		QCOMPARE(spy.count(), 1); +	}  };  QTEST_MAIN(TestLineEdit)  #include "testlineedit.moc" - -/** -class LineEdit : public QLineEdit, public Widget -{ -Q_OBJECT -public: -  LineEdit(QDomNode &node, MacroWindow *macrowindow); - -  QString getValue(); -  void setValue(QString value, QString source = ""); - -  void enable(); -  void disable(); -  bool isDisabled(); - -  void connectFrom(const char *signal, -                   const QObject *receiver, const char *method); - -  void connectTo(const QObject *sender, const char *signal, -                 const char *method); - -  bool setKeyboardFocus(); -  void setVisibility(bool visible); - -public slots: -  void changed(); -  void user_changed(); - -signals: -  void wasChanged(); -}; - **/ | 
