• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2     Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
3 
4     This library is free software; you can redistribute it and/or
5     modify it under the terms of the GNU Library General Public
6     License as published by the Free Software Foundation; either
7     version 2 of the License, or (at your option) any later version.
8 
9     This library is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12     Library General Public License for more details.
13 
14     You should have received a copy of the GNU Library General Public License
15     along with this library; see the file COPYING.LIB.  If not, write to
16     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17     Boston, MA 02110-1301, USA.
18 */
19 
20 #ifndef tst_qscriptvalue_h
21 #define tst_qscriptvalue_h
22 
23 #include "qscriptengine.h"
24 #include "qscriptvalue.h"
25 #include <QtCore/qnumeric.h>
26 #include <QtTest/qtest.h>
27 
28 #define DEFINE_TEST_VALUE(expr) m_values.insert(QString::fromLatin1(#expr), expr)
29 
30 Q_DECLARE_METATYPE(QScriptValue*);
31 Q_DECLARE_METATYPE(QScriptValue);
32 typedef QPair<QString, QScriptValue> QPairQStringAndQScriptValue;
33 Q_DECLARE_METATYPE(QPairQStringAndQScriptValue);
34 
35 class tst_QScriptValue : public QObject {
36     Q_OBJECT
37 
38 public:
39     tst_QScriptValue();
40     virtual ~tst_QScriptValue();
41 
42 private slots:
43     void toStringSimple_data();
44     void toStringSimple();
45     void copyConstructor_data();
46     void copyConstructor();
47     void assignOperator_data();
48     void assignOperator();
49     void dataSharing();
50     void constructors_data();
51     void constructors();
52     void getSetPrototype();
53     void call();
54     void ctor();
55     void toObjectSimple();
56     void getPropertySimple_data();
57     void getPropertySimple();
58     void setPropertySimple();
59     void setProperty_data();
60     void setProperty();
61     void getSetProperty();
62     void getPropertyResolveFlag();
63     void propertyFlag_data();
64     void propertyFlag();
65     void globalObjectChanges();
66     void assignAndCopyConstruct_data();
67     void assignAndCopyConstruct();
68 
69     // Generated test functions.
70     void isArray_data();
71     void isArray();
72 
73     void isBool_data();
74     void isBool();
75 
76     void isBoolean_data();
77     void isBoolean();
78 
79     void isError_data();
80     void isError();
81 
82     void isNumber_data();
83     void isNumber();
84 
85     void isFunction_data();
86     void isFunction();
87 
88     void isNull_data();
89     void isNull();
90 
91     void isObject_data();
92     void isObject();
93 
94     void isString_data();
95     void isString();
96 
97     void isUndefined_data();
98     void isUndefined();
99 
100     void isValid_data();
101     void isValid();
102 
103     void toString_data();
104     void toString();
105 
106     void toNumber_data();
107     void toNumber();
108 
109     void toBool_data();
110     void toBool();
111 
112     void toBoolean_data();
113     void toBoolean();
114 
115     void toInteger_data();
116     void toInteger();
117 
118     void toInt32_data();
119     void toInt32();
120 
121     void toUInt32_data();
122     void toUInt32();
123 
124     void toUInt16_data();
125     void toUInt16();
126 
127     void equals_data();
128     void equals();
129 
130     void strictlyEquals_data();
131     void strictlyEquals();
132 
133     void instanceOf_data();
134     void instanceOf();
135 
136 private:
137     // Generated function
138     QPair<QString, QScriptValue> initScriptValues(uint idx);
139 
140     QScriptEngine* m_engine;
141 };
142 
143 #endif // tst_qscriptvalue_h
144