summaryrefslogtreecommitdiffstats
path: root/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.h
diff options
context:
space:
mode:
Diffstat (limited to 'JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.h')
-rw-r--r--JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.h133
1 files changed, 133 insertions, 0 deletions
diff --git a/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.h b/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.h
new file mode 100644
index 0000000..ae81c49
--- /dev/null
+++ b/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.h
@@ -0,0 +1,133 @@
+/*
+ Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef tst_qscriptvalue_h
+#define tst_qscriptvalue_h
+
+#include "qscriptengine.h"
+#include "qscriptvalue.h"
+#include <QtCore/qnumeric.h>
+#include <QtTest/qtest.h>
+
+Q_DECLARE_METATYPE(QScriptValue*);
+Q_DECLARE_METATYPE(QScriptValue);
+
+class tst_QScriptValue : public QObject {
+ Q_OBJECT
+
+public:
+ tst_QScriptValue();
+ virtual ~tst_QScriptValue();
+
+private slots:
+ void toString_data();
+ void toString();
+ void copyConstructor_data();
+ void copyConstructor();
+ void assignOperator_data();
+ void assignOperator();
+ void dataSharing();
+ void constructors_data();
+ void constructors();
+ void call();
+ void ctor();
+
+ // Generated test functions.
+ void isBool_data();
+ void isBool();
+
+ void isBoolean_data();
+ void isBoolean();
+
+ void isFunction_data();
+ void isFunction();
+
+ void isNull_data();
+ void isNull();
+
+ void isObject_data();
+ void isObject();
+
+ void isString_data();
+ void isString();
+
+ void isUndefined_data();
+ void isUndefined();
+
+ void isValid_data();
+ void isValid();
+
+private:
+ typedef void (tst_QScriptValue::*InitDataFunction)();
+ typedef void (tst_QScriptValue::*DefineDataFunction)(const char*);
+ void dataHelper(InitDataFunction init, DefineDataFunction define);
+ QTestData& newRow(const char* tag);
+
+ typedef void (tst_QScriptValue::*TestFunction)(const char*, const QScriptValue&);
+ void testHelper(TestFunction fun);
+
+ // Generated functions
+
+ void initScriptValues();
+
+ void isBool_initData();
+ void isBool_makeData(const char* expr);
+ void isBool_test(const char* expr, const QScriptValue& value);
+
+ void isBoolean_initData();
+ void isBoolean_makeData(const char* expr);
+ void isBoolean_test(const char* expr, const QScriptValue& value);
+
+ void isFunction_initData();
+ void isFunction_makeData(const char* expr);
+ void isFunction_test(const char* expr, const QScriptValue& value);
+
+ void isNull_initData();
+ void isNull_makeData(const char* expr);
+ void isNull_test(const char* expr, const QScriptValue& value);
+
+ void isObject_initData();
+ void isObject_makeData(const char* expr);
+ void isObject_test(const char* expr, const QScriptValue& value);
+
+ void isString_initData();
+ void isString_makeData(const char* expr);
+ void isString_test(const char* expr, const QScriptValue& value);
+
+ void isUndefined_initData();
+ void isUndefined_makeData(const char* expr);
+ void isUndefined_test(const char* expr, const QScriptValue& value);
+
+ void isValid_initData();
+ void isValid_makeData(const char* expr);
+ void isValid_test(const char* expr, const QScriptValue& value);
+
+private:
+ QScriptEngine* engine;
+ QHash<QString, QScriptValue> m_values;
+ QString m_currentExpression;
+};
+
+#define DEFINE_TEST_FUNCTION(name) \
+void tst_QScriptValue::name##_data() { dataHelper(&tst_QScriptValue::name##_initData, &tst_QScriptValue::name##_makeData); } \
+void tst_QScriptValue::name() { testHelper(&tst_QScriptValue::name##_test); }
+
+
+
+#endif // tst_qscriptvalue_h