tests/auto/qdatastream/tst_qdatastream.cpp
changeset 30 5dc02b23752f
parent 18 2f34d5167611
child 37 758a864f9613
--- a/tests/auto/qdatastream/tst_qdatastream.cpp	Wed Jun 23 19:07:03 2010 +0300
+++ b/tests/auto/qdatastream/tst_qdatastream.cpp	Tue Jul 06 15:10:48 2010 +0300
@@ -162,6 +162,9 @@
     void stream_QIcon_data();
     void stream_QIcon();
 
+    void stream_QEasingCurve_data();
+    void stream_QEasingCurve();
+
     void stream_atEnd_data();
     void stream_atEnd();
 
@@ -243,6 +246,7 @@
     void writeqint64(QDataStream *s);
     void writeQWMatrix(QDataStream *s);
     void writeQIcon(QDataStream *s);
+    void writeQEasingCurve(QDataStream *s);
 
     void readbool(QDataStream *s);
     void readQBool(QDataStream *s);
@@ -272,6 +276,7 @@
     void readqint64(QDataStream *s);
     void readQWMatrix(QDataStream *s);
     void readQIcon(QDataStream *s);
+    void readQEasingCurve(QDataStream *s);
 
 private:
     QString svgFile;
@@ -687,6 +692,70 @@
 
 // ************************************
 
+static QEasingCurve QEasingCurveData(int index)
+{
+    QEasingCurve easing;
+
+    switch (index) {
+    case 0:
+        default:
+            break;
+    case 1:
+            easing.setType(QEasingCurve::Linear);
+            break;
+    case 2:
+            easing.setType(QEasingCurve::OutCubic);
+            break;
+    case 3:
+            easing.setType(QEasingCurve::InOutSine);
+            break;
+    case 4:
+            easing.setType(QEasingCurve::InOutElastic);
+            easing.setPeriod(1.5);
+            easing.setAmplitude(2.0);
+            break;
+    case 5:
+            easing.setType(QEasingCurve::OutInBack);
+            break;
+    case 6:
+            easing.setType(QEasingCurve::OutCurve);
+            break;
+    case 7:
+            easing.setType(QEasingCurve::InOutBack);
+            easing.setOvershoot(0.5);
+            break;
+    }
+    return easing;
+}
+#define MAX_EASING_DATA 8
+
+void tst_QDataStream::stream_QEasingCurve_data()
+{
+    stream_data(MAX_EASING_DATA);
+}
+
+void tst_QDataStream::stream_QEasingCurve()
+{
+    STREAM_IMPL(QEasingCurve);
+}
+
+void tst_QDataStream::writeQEasingCurve(QDataStream* s)
+{
+    QEasingCurve test(QEasingCurveData(dataIndex(QTest::currentDataTag())));
+    *s << test;
+}
+
+void tst_QDataStream::readQEasingCurve(QDataStream *s)
+{
+    QEasingCurve S;
+    QEasingCurve expected(QEasingCurveData(dataIndex(QTest::currentDataTag())));
+
+    *s >> S;
+    QCOMPARE(S, expected);
+}
+
+// ************************************
+
 // contains some quint64 testing as well
 
 #define MAX_qint64_DATA 4