Преглед изворни кода

Integrate Unit test of QtTesting base class, and fix combabilities

Unit test added:
pqTestUtilityTest
pqEventPlayerTest
pqEventTranslatorTest

Feature QtTesting:
Change the player dialog stop button.
Added feedbacks during the record.
Allow to record severals property for a same QObject.

See #145, #174, #176(stop icon)
Benjamin Long пре 13 година
родитељ
комит
72b8f2faf3

+ 1 - 1
CMakeExternals/QtTesting.cmake

@@ -23,7 +23,7 @@ if(CTK_USE_QTTESTING)
 
     if(NOT DEFINED QtTesting_DIR)
 
-      set(revision_tag 75c24a70e9ca2acdb86fd204285747a756c0a7ce)
+      set(revision_tag 4ee7471a78beb634605df41961f8fa071562f213)
       if(${proj}_REVISION_TAG)
         set(revision_tag ${${proj}_REVISION_TAG})
       endif()

+ 11 - 8
Libs/QtTesting/ctkXMLEventObserver.cpp

@@ -77,16 +77,19 @@ void ctkXMLEventObserver::recordApplicationSettings()
       }
 
     // Save extra properties from the application
-    QMap<QObject*, QString> states = this->TestUtility->objectStateProperty();
-    QMap<QObject*, QString>::iterator iter;
+    QMap<QObject*, QStringList> states = this->TestUtility->objectStateProperty();
+    QMap<QObject*, QStringList>::iterator iter;
     for(iter = states.begin() ; iter!=states.end() ; ++iter)
       {
-      this->recordApplicationSetting(
-          QString("appsetting"),
-          iter.key()->metaObject()->className(),
-          iter.value(),
-          iter.key()->property(iter.value().toLatin1()).toString()
-          );
+      foreach(QString property, iter.value())
+        {
+        this->recordApplicationSetting(
+            QString("appsetting"),
+            iter.key()->metaObject()->className(),
+            property,
+            iter.key()->property(property.toLatin1()).toString()
+            );
+        }
       }
 
     this->XMLStream->writeEndElement();

+ 17 - 10
Libs/QtTesting/ctkXMLEventSource.cpp

@@ -156,16 +156,19 @@ bool ctkXMLEventSource::settingsUpToData()
   QMainWindow* window = this->mainWindow();
 
   bool result = true;
-  QMap<QObject*, QString> states = this->TestUtility->objectStateProperty();
+  QMap<QObject*, QStringList> states = this->TestUtility->objectStateProperty();
 
   result &= (this->OldSettings.value("geometry") == QString(window->saveGeometry().toHex()));
   result &= (this->OldSettings.value("state") == QString(window->saveState().toHex()));
 
-  QMap<QObject*, QString>::iterator iter;
+  QMap<QObject*, QStringList>::iterator iter;
   for(iter = states.begin() ; iter!=states.end() ; ++iter)
     {
-    result &= (this->OldSettings.value(iter.value()) ==
-              iter.key()->property(iter.value().toLatin1()).toString());
+    foreach(QString property, iter.value())
+      {
+      result &= (this->OldSettings.value(QString("appsetting_%1").arg(property)) ==
+                iter.key()->property(property.toLatin1()).toString());
+      }
     }
 
   return result;
@@ -177,7 +180,8 @@ bool ctkXMLEventSource::restoreApplicationSettings()
   QMainWindow* window = this->mainWindow();
 
   bool result = false;
-  QMap<QObject*, QString> states = this->TestUtility->objectStateProperty();
+  QMap<QObject*, QStringList> states = this->TestUtility->objectStateProperty();
+  qDebug() << "restoreApplicationSetting" << states;
 
   if (!this->Automatic)
     {
@@ -196,12 +200,15 @@ bool ctkXMLEventSource::restoreApplicationSettings()
   result = window->restoreGeometry(
               QByteArray::fromHex(QByteArray(this->OldSettings.value("geometry").toLocal8Bit().constData())));
 
-  QMap<QObject*, QString>::iterator iter;
+  QMap<QObject*, QStringList>::iterator iter;
   for(iter = states.begin() ; iter!=states.end() ; ++iter)
     {
-    iter.key()->setProperty(iter.value().toLatin1(),
-                            QVariant(this->OldSettings.value(
-                              QString("appsetting_%1").arg(iter.value()))));
+    foreach(QString property, iter.value())
+      {
+      iter.key()->setProperty(property.toLatin1(),
+                              QVariant(this->OldSettings.value(
+                              QString("appsetting_%1").arg(property))));
+      }
     }
 
 
@@ -226,7 +233,7 @@ QMap<QString, QString> ctkXMLEventSource::recoverSettingsFromXML()
         {
         key += "_" + this->XMLStream->attributes().value("command").toString();
         }
-      settings.insert(key,
+      settings[key].append(
                       this->XMLStream->attributes().value("arguments").toString());
       }
     }