|
1 /**************************************************************************** |
|
2 ** |
|
3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). |
|
4 ** All rights reserved. |
|
5 ** Contact: Nokia Corporation (qt-info@nokia.com) |
|
6 ** |
|
7 ** This file is part of the test suite of the Qt Toolkit. |
|
8 ** |
|
9 ** $QT_BEGIN_LICENSE:LGPL$ |
|
10 ** No Commercial Usage |
|
11 ** This file contains pre-release code and may not be distributed. |
|
12 ** You may use this file in accordance with the terms and conditions |
|
13 ** contained in the Technology Preview License Agreement accompanying |
|
14 ** this package. |
|
15 ** |
|
16 ** GNU Lesser General Public License Usage |
|
17 ** Alternatively, this file may be used under the terms of the GNU Lesser |
|
18 ** General Public License version 2.1 as published by the Free Software |
|
19 ** Foundation and appearing in the file LICENSE.LGPL included in the |
|
20 ** packaging of this file. Please review the following information to |
|
21 ** ensure the GNU Lesser General Public License version 2.1 requirements |
|
22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. |
|
23 ** |
|
24 ** In addition, as a special exception, Nokia gives you certain additional |
|
25 ** rights. These rights are described in the Nokia Qt LGPL Exception |
|
26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. |
|
27 ** |
|
28 ** If you have questions regarding the use of this file, please contact |
|
29 ** Nokia at qt-info@nokia.com. |
|
30 ** |
|
31 ** |
|
32 ** |
|
33 ** |
|
34 ** |
|
35 ** |
|
36 ** |
|
37 ** |
|
38 ** $QT_END_LICENSE$ |
|
39 ** |
|
40 ****************************************************************************/ |
|
41 |
|
42 /**************************************************************************** |
|
43 *************** This file has been generated. DO NOT MODIFY! **************** |
|
44 ****************************************************************************/ |
|
45 |
|
46 #include "tst_qscriptvalue.h" |
|
47 |
|
48 |
|
49 |
|
50 void tst_QScriptValue::qscriptvalue_castQString_initData() |
|
51 { |
|
52 QTest::addColumn<QString>("expected"); |
|
53 initScriptValues(); |
|
54 } |
|
55 |
|
56 static QString qscriptvalue_castQString_tagArray [] = { |
|
57 "QScriptValue()", |
|
58 "QScriptValue(QScriptValue::UndefinedValue)", |
|
59 "QScriptValue(QScriptValue::NullValue)", |
|
60 "QScriptValue(true)", |
|
61 "QScriptValue(false)", |
|
62 "QScriptValue(int(122))", |
|
63 "QScriptValue(uint(124))", |
|
64 "QScriptValue(0)", |
|
65 "QScriptValue(0.0)", |
|
66 "QScriptValue(123.0)", |
|
67 "QScriptValue(6.37e-8)", |
|
68 "QScriptValue(-6.37e-8)", |
|
69 "QScriptValue(0x43211234)", |
|
70 "QScriptValue(0x10000)", |
|
71 "QScriptValue(0x10001)", |
|
72 "QScriptValue(qSNaN())", |
|
73 "QScriptValue(qQNaN())", |
|
74 "QScriptValue(qInf())", |
|
75 "QScriptValue(-qInf())", |
|
76 "QScriptValue(\"NaN\")", |
|
77 "QScriptValue(\"Infinity\")", |
|
78 "QScriptValue(\"-Infinity\")", |
|
79 "QScriptValue(\"ciao\")", |
|
80 "QScriptValue(QString::fromLatin1(\"ciao\"))", |
|
81 "QScriptValue(QString(\"\"))", |
|
82 "QScriptValue(QString())", |
|
83 "QScriptValue(QString(\"0\"))", |
|
84 "QScriptValue(QString(\"123\"))", |
|
85 "QScriptValue(QString(\"12.4\"))", |
|
86 "QScriptValue(0, QScriptValue::UndefinedValue)", |
|
87 "QScriptValue(0, QScriptValue::NullValue)", |
|
88 "QScriptValue(0, true)", |
|
89 "QScriptValue(0, false)", |
|
90 "QScriptValue(0, int(122))", |
|
91 "QScriptValue(0, uint(124))", |
|
92 "QScriptValue(0, 0)", |
|
93 "QScriptValue(0, 0.0)", |
|
94 "QScriptValue(0, 123.0)", |
|
95 "QScriptValue(0, 6.37e-8)", |
|
96 "QScriptValue(0, -6.37e-8)", |
|
97 "QScriptValue(0, 0x43211234)", |
|
98 "QScriptValue(0, 0x10000)", |
|
99 "QScriptValue(0, 0x10001)", |
|
100 "QScriptValue(0, qSNaN())", |
|
101 "QScriptValue(0, qQNaN())", |
|
102 "QScriptValue(0, qInf())", |
|
103 "QScriptValue(0, -qInf())", |
|
104 "QScriptValue(0, \"NaN\")", |
|
105 "QScriptValue(0, \"Infinity\")", |
|
106 "QScriptValue(0, \"-Infinity\")", |
|
107 "QScriptValue(0, \"ciao\")", |
|
108 "QScriptValue(0, QString::fromLatin1(\"ciao\"))", |
|
109 "QScriptValue(0, QString(\"\"))", |
|
110 "QScriptValue(0, QString())", |
|
111 "QScriptValue(0, QString(\"0\"))", |
|
112 "QScriptValue(0, QString(\"123\"))", |
|
113 "QScriptValue(0, QString(\"12.3\"))", |
|
114 "QScriptValue(engine, QScriptValue::UndefinedValue)", |
|
115 "QScriptValue(engine, QScriptValue::NullValue)", |
|
116 "QScriptValue(engine, true)", |
|
117 "QScriptValue(engine, false)", |
|
118 "QScriptValue(engine, int(122))", |
|
119 "QScriptValue(engine, uint(124))", |
|
120 "QScriptValue(engine, 0)", |
|
121 "QScriptValue(engine, 0.0)", |
|
122 "QScriptValue(engine, 123.0)", |
|
123 "QScriptValue(engine, 6.37e-8)", |
|
124 "QScriptValue(engine, -6.37e-8)", |
|
125 "QScriptValue(engine, 0x43211234)", |
|
126 "QScriptValue(engine, 0x10000)", |
|
127 "QScriptValue(engine, 0x10001)", |
|
128 "QScriptValue(engine, qSNaN())", |
|
129 "QScriptValue(engine, qQNaN())", |
|
130 "QScriptValue(engine, qInf())", |
|
131 "QScriptValue(engine, -qInf())", |
|
132 "QScriptValue(engine, \"NaN\")", |
|
133 "QScriptValue(engine, \"Infinity\")", |
|
134 "QScriptValue(engine, \"-Infinity\")", |
|
135 "QScriptValue(engine, \"ciao\")", |
|
136 "QScriptValue(engine, QString::fromLatin1(\"ciao\"))", |
|
137 "QScriptValue(engine, QString(\"\"))", |
|
138 "QScriptValue(engine, QString())", |
|
139 "QScriptValue(engine, QString(\"0\"))", |
|
140 "QScriptValue(engine, QString(\"123\"))", |
|
141 "QScriptValue(engine, QString(\"1.23\"))", |
|
142 "engine->evaluate(\"[]\")", |
|
143 "engine->evaluate(\"{}\")", |
|
144 "engine->evaluate(\"Object.prototype\")", |
|
145 "engine->evaluate(\"Date.prototype\")", |
|
146 "engine->evaluate(\"Array.prototype\")", |
|
147 "engine->evaluate(\"Function.prototype\")", |
|
148 "engine->evaluate(\"Error.prototype\")", |
|
149 "engine->evaluate(\"Object\")", |
|
150 "engine->evaluate(\"Array\")", |
|
151 "engine->evaluate(\"Number\")", |
|
152 "engine->evaluate(\"Function\")", |
|
153 "engine->evaluate(\"(function() { return 1; })\")", |
|
154 "engine->evaluate(\"(function() { return 'ciao'; })\")", |
|
155 "engine->evaluate(\"(function() { throw new Error('foo'); })\")", |
|
156 "engine->evaluate(\"/foo/\")", |
|
157 "engine->evaluate(\"new Object()\")", |
|
158 "engine->evaluate(\"new Array()\")", |
|
159 "engine->evaluate(\"new Error()\")", |
|
160 "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", |
|
161 "engine->evaluate(\"Undefined\")", |
|
162 "engine->evaluate(\"Null\")", |
|
163 "engine->evaluate(\"True\")", |
|
164 "engine->evaluate(\"False\")", |
|
165 "engine->evaluate(\"undefined\")", |
|
166 "engine->evaluate(\"null\")", |
|
167 "engine->evaluate(\"true\")", |
|
168 "engine->evaluate(\"false\")", |
|
169 "engine->evaluate(\"122\")", |
|
170 "engine->evaluate(\"124\")", |
|
171 "engine->evaluate(\"0\")", |
|
172 "engine->evaluate(\"0.0\")", |
|
173 "engine->evaluate(\"123.0\")", |
|
174 "engine->evaluate(\"6.37e-8\")", |
|
175 "engine->evaluate(\"-6.37e-8\")", |
|
176 "engine->evaluate(\"0x43211234\")", |
|
177 "engine->evaluate(\"0x10000\")", |
|
178 "engine->evaluate(\"0x10001\")", |
|
179 "engine->evaluate(\"NaN\")", |
|
180 "engine->evaluate(\"Infinity\")", |
|
181 "engine->evaluate(\"-Infinity\")", |
|
182 "engine->evaluate(\"'ciao'\")", |
|
183 "engine->evaluate(\"''\")", |
|
184 "engine->evaluate(\"'0'\")", |
|
185 "engine->evaluate(\"'123'\")", |
|
186 "engine->evaluate(\"'12.4'\")", |
|
187 "engine->nullValue()", |
|
188 "engine->undefinedValue()", |
|
189 "engine->newObject()", |
|
190 "engine->newArray()", |
|
191 "engine->newArray(10)", |
|
192 "engine->newDate(QDateTime())", |
|
193 "engine->newQMetaObject(&QObject::staticMetaObject)", |
|
194 "engine->newVariant(QVariant())", |
|
195 "engine->newVariant(QVariant(123))", |
|
196 "engine->newVariant(QVariant(false))", |
|
197 "engine->newQObject(0)", |
|
198 "engine->newQObject(engine)",}; |
|
199 static QString qscriptvalue_castQString_valueArray [] = { |
|
200 "", "", |
|
201 "", "true", |
|
202 "false", "122", |
|
203 "124", "0", |
|
204 "0", "123", |
|
205 "6.37e-8", "-6.37e-8", |
|
206 "1126240820", "65536", |
|
207 "65537", "NaN", |
|
208 "NaN", "Infinity", |
|
209 "-Infinity", "NaN", |
|
210 "Infinity", "-Infinity", |
|
211 "ciao", "ciao", |
|
212 "", "", |
|
213 "0", "123", |
|
214 "12.4", "", |
|
215 "", "true", |
|
216 "false", "122", |
|
217 "124", "0", |
|
218 "0", "123", |
|
219 "6.37e-8", "-6.37e-8", |
|
220 "1126240820", "65536", |
|
221 "65537", "NaN", |
|
222 "NaN", "Infinity", |
|
223 "-Infinity", "NaN", |
|
224 "Infinity", "-Infinity", |
|
225 "ciao", "ciao", |
|
226 "", "", |
|
227 "0", "123", |
|
228 "12.3", "", |
|
229 "", "true", |
|
230 "false", "122", |
|
231 "124", "0", |
|
232 "0", "123", |
|
233 "6.37e-8", "-6.37e-8", |
|
234 "1126240820", "65536", |
|
235 "65537", "NaN", |
|
236 "NaN", "Infinity", |
|
237 "-Infinity", "NaN", |
|
238 "Infinity", "-Infinity", |
|
239 "ciao", "ciao", |
|
240 "", "", |
|
241 "0", "123", |
|
242 "1.23", "", |
|
243 "", "[object Object]", |
|
244 "Invalid Date", "", |
|
245 "function () {\n [native code]\n}", "Error: Unknown error", |
|
246 "function Object() {\n [native code]\n}", "function Array() {\n [native code]\n}", |
|
247 "function Number() {\n [native code]\n}", "function Function() {\n [native code]\n}", |
|
248 "function () { return 1; }", "function () { return 'ciao'; }", |
|
249 "function () { throw new Error('foo'); }", "/foo/", |
|
250 "[object Object]", "", |
|
251 "Error: Unknown error", "22", |
|
252 "ReferenceError: Can't find variable: Undefined", "ReferenceError: Can't find variable: Null", |
|
253 "ReferenceError: Can't find variable: True", "ReferenceError: Can't find variable: False", |
|
254 "", "", |
|
255 "true", "false", |
|
256 "122", "124", |
|
257 "0", "0", |
|
258 "123", "6.37e-8", |
|
259 "-6.37e-8", "1126240820", |
|
260 "65536", "65537", |
|
261 "NaN", "Infinity", |
|
262 "-Infinity", "ciao", |
|
263 "", "0", |
|
264 "123", "12.4", |
|
265 "", "", |
|
266 "[object Object]", "", |
|
267 ",,,,,,,,,", "Invalid Date", |
|
268 "[object QMetaObject]", "undefined", |
|
269 "123", "false", |
|
270 "", "QScriptEngine(name = \"\")", }; |
|
271 void tst_QScriptValue::qscriptvalue_castQString_makeData(const char* expr) |
|
272 { |
|
273 static QHash<QString, QString> value; |
|
274 if (value.isEmpty()) { |
|
275 value.reserve(142); |
|
276 for (unsigned i = 0; i < 142; ++i) |
|
277 value.insert(qscriptvalue_castQString_tagArray[i], qscriptvalue_castQString_valueArray[i]); |
|
278 } |
|
279 newRow(expr) << value.value(expr); |
|
280 } |
|
281 |
|
282 void tst_QScriptValue::qscriptvalue_castQString_test(const char*, const QScriptValue& value) |
|
283 { |
|
284 QFETCH(QString, expected); |
|
285 QCOMPARE(qscriptvalue_cast<QString>(value), expected); |
|
286 QCOMPARE(qscriptvalue_cast<QString>(value), expected); |
|
287 } |
|
288 |
|
289 DEFINE_TEST_FUNCTION(qscriptvalue_castQString) |
|
290 |
|
291 |
|
292 void tst_QScriptValue::qscriptvalue_castqsreal_initData() |
|
293 { |
|
294 QTest::addColumn<qsreal>("expected"); |
|
295 initScriptValues(); |
|
296 } |
|
297 |
|
298 static QString qscriptvalue_castqsreal_tagArray [] = { |
|
299 "QScriptValue()", |
|
300 "QScriptValue(QScriptValue::UndefinedValue)", |
|
301 "QScriptValue(QScriptValue::NullValue)", |
|
302 "QScriptValue(true)", |
|
303 "QScriptValue(false)", |
|
304 "QScriptValue(int(122))", |
|
305 "QScriptValue(uint(124))", |
|
306 "QScriptValue(0)", |
|
307 "QScriptValue(0.0)", |
|
308 "QScriptValue(123.0)", |
|
309 "QScriptValue(6.37e-8)", |
|
310 "QScriptValue(-6.37e-8)", |
|
311 "QScriptValue(0x43211234)", |
|
312 "QScriptValue(0x10000)", |
|
313 "QScriptValue(0x10001)", |
|
314 "QScriptValue(qSNaN())", |
|
315 "QScriptValue(qQNaN())", |
|
316 "QScriptValue(qInf())", |
|
317 "QScriptValue(-qInf())", |
|
318 "QScriptValue(\"NaN\")", |
|
319 "QScriptValue(\"Infinity\")", |
|
320 "QScriptValue(\"-Infinity\")", |
|
321 "QScriptValue(\"ciao\")", |
|
322 "QScriptValue(QString::fromLatin1(\"ciao\"))", |
|
323 "QScriptValue(QString(\"\"))", |
|
324 "QScriptValue(QString())", |
|
325 "QScriptValue(QString(\"0\"))", |
|
326 "QScriptValue(QString(\"123\"))", |
|
327 "QScriptValue(QString(\"12.4\"))", |
|
328 "QScriptValue(0, QScriptValue::UndefinedValue)", |
|
329 "QScriptValue(0, QScriptValue::NullValue)", |
|
330 "QScriptValue(0, true)", |
|
331 "QScriptValue(0, false)", |
|
332 "QScriptValue(0, int(122))", |
|
333 "QScriptValue(0, uint(124))", |
|
334 "QScriptValue(0, 0)", |
|
335 "QScriptValue(0, 0.0)", |
|
336 "QScriptValue(0, 123.0)", |
|
337 "QScriptValue(0, 6.37e-8)", |
|
338 "QScriptValue(0, -6.37e-8)", |
|
339 "QScriptValue(0, 0x43211234)", |
|
340 "QScriptValue(0, 0x10000)", |
|
341 "QScriptValue(0, 0x10001)", |
|
342 "QScriptValue(0, qSNaN())", |
|
343 "QScriptValue(0, qQNaN())", |
|
344 "QScriptValue(0, qInf())", |
|
345 "QScriptValue(0, -qInf())", |
|
346 "QScriptValue(0, \"NaN\")", |
|
347 "QScriptValue(0, \"Infinity\")", |
|
348 "QScriptValue(0, \"-Infinity\")", |
|
349 "QScriptValue(0, \"ciao\")", |
|
350 "QScriptValue(0, QString::fromLatin1(\"ciao\"))", |
|
351 "QScriptValue(0, QString(\"\"))", |
|
352 "QScriptValue(0, QString())", |
|
353 "QScriptValue(0, QString(\"0\"))", |
|
354 "QScriptValue(0, QString(\"123\"))", |
|
355 "QScriptValue(0, QString(\"12.3\"))", |
|
356 "QScriptValue(engine, QScriptValue::UndefinedValue)", |
|
357 "QScriptValue(engine, QScriptValue::NullValue)", |
|
358 "QScriptValue(engine, true)", |
|
359 "QScriptValue(engine, false)", |
|
360 "QScriptValue(engine, int(122))", |
|
361 "QScriptValue(engine, uint(124))", |
|
362 "QScriptValue(engine, 0)", |
|
363 "QScriptValue(engine, 0.0)", |
|
364 "QScriptValue(engine, 123.0)", |
|
365 "QScriptValue(engine, 6.37e-8)", |
|
366 "QScriptValue(engine, -6.37e-8)", |
|
367 "QScriptValue(engine, 0x43211234)", |
|
368 "QScriptValue(engine, 0x10000)", |
|
369 "QScriptValue(engine, 0x10001)", |
|
370 "QScriptValue(engine, qSNaN())", |
|
371 "QScriptValue(engine, qQNaN())", |
|
372 "QScriptValue(engine, qInf())", |
|
373 "QScriptValue(engine, -qInf())", |
|
374 "QScriptValue(engine, \"NaN\")", |
|
375 "QScriptValue(engine, \"Infinity\")", |
|
376 "QScriptValue(engine, \"-Infinity\")", |
|
377 "QScriptValue(engine, \"ciao\")", |
|
378 "QScriptValue(engine, QString::fromLatin1(\"ciao\"))", |
|
379 "QScriptValue(engine, QString(\"\"))", |
|
380 "QScriptValue(engine, QString())", |
|
381 "QScriptValue(engine, QString(\"0\"))", |
|
382 "QScriptValue(engine, QString(\"123\"))", |
|
383 "QScriptValue(engine, QString(\"1.23\"))", |
|
384 "engine->evaluate(\"[]\")", |
|
385 "engine->evaluate(\"{}\")", |
|
386 "engine->evaluate(\"Object.prototype\")", |
|
387 "engine->evaluate(\"Date.prototype\")", |
|
388 "engine->evaluate(\"Array.prototype\")", |
|
389 "engine->evaluate(\"Function.prototype\")", |
|
390 "engine->evaluate(\"Error.prototype\")", |
|
391 "engine->evaluate(\"Object\")", |
|
392 "engine->evaluate(\"Array\")", |
|
393 "engine->evaluate(\"Number\")", |
|
394 "engine->evaluate(\"Function\")", |
|
395 "engine->evaluate(\"(function() { return 1; })\")", |
|
396 "engine->evaluate(\"(function() { return 'ciao'; })\")", |
|
397 "engine->evaluate(\"(function() { throw new Error('foo'); })\")", |
|
398 "engine->evaluate(\"/foo/\")", |
|
399 "engine->evaluate(\"new Object()\")", |
|
400 "engine->evaluate(\"new Array()\")", |
|
401 "engine->evaluate(\"new Error()\")", |
|
402 "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", |
|
403 "engine->evaluate(\"Undefined\")", |
|
404 "engine->evaluate(\"Null\")", |
|
405 "engine->evaluate(\"True\")", |
|
406 "engine->evaluate(\"False\")", |
|
407 "engine->evaluate(\"undefined\")", |
|
408 "engine->evaluate(\"null\")", |
|
409 "engine->evaluate(\"true\")", |
|
410 "engine->evaluate(\"false\")", |
|
411 "engine->evaluate(\"122\")", |
|
412 "engine->evaluate(\"124\")", |
|
413 "engine->evaluate(\"0\")", |
|
414 "engine->evaluate(\"0.0\")", |
|
415 "engine->evaluate(\"123.0\")", |
|
416 "engine->evaluate(\"6.37e-8\")", |
|
417 "engine->evaluate(\"-6.37e-8\")", |
|
418 "engine->evaluate(\"0x43211234\")", |
|
419 "engine->evaluate(\"0x10000\")", |
|
420 "engine->evaluate(\"0x10001\")", |
|
421 "engine->evaluate(\"NaN\")", |
|
422 "engine->evaluate(\"Infinity\")", |
|
423 "engine->evaluate(\"-Infinity\")", |
|
424 "engine->evaluate(\"'ciao'\")", |
|
425 "engine->evaluate(\"''\")", |
|
426 "engine->evaluate(\"'0'\")", |
|
427 "engine->evaluate(\"'123'\")", |
|
428 "engine->evaluate(\"'12.4'\")", |
|
429 "engine->nullValue()", |
|
430 "engine->undefinedValue()", |
|
431 "engine->newObject()", |
|
432 "engine->newArray()", |
|
433 "engine->newArray(10)", |
|
434 "engine->newDate(QDateTime())", |
|
435 "engine->newQMetaObject(&QObject::staticMetaObject)", |
|
436 "engine->newVariant(QVariant())", |
|
437 "engine->newVariant(QVariant(123))", |
|
438 "engine->newVariant(QVariant(false))", |
|
439 "engine->newQObject(0)", |
|
440 "engine->newQObject(engine)",}; |
|
441 static qsreal qscriptvalue_castqsreal_valueArray [] = { |
|
442 0, qQNaN(), 0, 1, 0, 122, 124, 0, 0, 123, |
|
443 6.369999999999999e-08, -6.369999999999999e-08, 1126240820, 65536, 65537, qQNaN(), qQNaN(), qInf(), qInf(), qQNaN(), |
|
444 qInf(), qInf(), qQNaN(), qQNaN(), 0, 0, 0, 123, 12.4, qQNaN(), |
|
445 0, 1, 0, 122, 124, 0, 0, 123, 6.369999999999999e-08, -6.369999999999999e-08, |
|
446 1126240820, 65536, 65537, qQNaN(), qQNaN(), qInf(), qInf(), qQNaN(), qInf(), qInf(), |
|
447 qQNaN(), qQNaN(), 0, 0, 0, 123, 12.3, qQNaN(), 0, 1, |
|
448 0, 122, 124, 0, 0, 123, 6.369999999999999e-08, -6.369999999999999e-08, 1126240820, 65536, |
|
449 65537, qQNaN(), qQNaN(), qInf(), qInf(), qQNaN(), qInf(), qInf(), qQNaN(), qQNaN(), |
|
450 0, 0, 0, 123, 1.23, 0, qQNaN(), qQNaN(), qQNaN(), 0, |
|
451 qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), |
|
452 qQNaN(), 0, qQNaN(), 22, qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), 0, |
|
453 1, 0, 122, 124, 0, 0, 123, 6.369999999999999e-08, -6.369999999999999e-08, 1126240820, |
|
454 65536, 65537, qQNaN(), qInf(), qInf(), qQNaN(), 0, 0, 123, 12.4, |
|
455 0, qQNaN(), qQNaN(), 0, qQNaN(), qQNaN(), qQNaN(), qQNaN(), 123, 0, |
|
456 0, qQNaN(), }; |
|
457 void tst_QScriptValue::qscriptvalue_castqsreal_makeData(const char* expr) |
|
458 { |
|
459 static QHash<QString, qsreal> value; |
|
460 if (value.isEmpty()) { |
|
461 value.reserve(142); |
|
462 for (unsigned i = 0; i < 142; ++i) |
|
463 value.insert(qscriptvalue_castqsreal_tagArray[i], qscriptvalue_castqsreal_valueArray[i]); |
|
464 } |
|
465 newRow(expr) << value.value(expr); |
|
466 } |
|
467 |
|
468 void tst_QScriptValue::qscriptvalue_castqsreal_test(const char*, const QScriptValue& value) |
|
469 { |
|
470 QFETCH(qsreal, expected); |
|
471 if (qIsNaN(expected)) { |
|
472 QVERIFY(qIsNaN(qscriptvalue_cast<qsreal>(value))); |
|
473 QVERIFY(qIsNaN(qscriptvalue_cast<qsreal>(value))); |
|
474 return; |
|
475 } |
|
476 if (qIsInf(expected)) { |
|
477 QVERIFY(qIsInf(qscriptvalue_cast<qsreal>(value))); |
|
478 QVERIFY(qIsInf(qscriptvalue_cast<qsreal>(value))); |
|
479 return; |
|
480 } |
|
481 QCOMPARE(qscriptvalue_cast<qsreal>(value), expected); |
|
482 QCOMPARE(qscriptvalue_cast<qsreal>(value), expected); |
|
483 } |
|
484 |
|
485 DEFINE_TEST_FUNCTION(qscriptvalue_castqsreal) |
|
486 |
|
487 |
|
488 void tst_QScriptValue::qscriptvalue_castbool_initData() |
|
489 { |
|
490 QTest::addColumn<bool>("expected"); |
|
491 initScriptValues(); |
|
492 } |
|
493 |
|
494 static QString qscriptvalue_castbool_tagArray [] = { |
|
495 "QScriptValue()", |
|
496 "QScriptValue(QScriptValue::UndefinedValue)", |
|
497 "QScriptValue(QScriptValue::NullValue)", |
|
498 "QScriptValue(true)", |
|
499 "QScriptValue(false)", |
|
500 "QScriptValue(int(122))", |
|
501 "QScriptValue(uint(124))", |
|
502 "QScriptValue(0)", |
|
503 "QScriptValue(0.0)", |
|
504 "QScriptValue(123.0)", |
|
505 "QScriptValue(6.37e-8)", |
|
506 "QScriptValue(-6.37e-8)", |
|
507 "QScriptValue(0x43211234)", |
|
508 "QScriptValue(0x10000)", |
|
509 "QScriptValue(0x10001)", |
|
510 "QScriptValue(qSNaN())", |
|
511 "QScriptValue(qQNaN())", |
|
512 "QScriptValue(qInf())", |
|
513 "QScriptValue(-qInf())", |
|
514 "QScriptValue(\"NaN\")", |
|
515 "QScriptValue(\"Infinity\")", |
|
516 "QScriptValue(\"-Infinity\")", |
|
517 "QScriptValue(\"ciao\")", |
|
518 "QScriptValue(QString::fromLatin1(\"ciao\"))", |
|
519 "QScriptValue(QString(\"\"))", |
|
520 "QScriptValue(QString())", |
|
521 "QScriptValue(QString(\"0\"))", |
|
522 "QScriptValue(QString(\"123\"))", |
|
523 "QScriptValue(QString(\"12.4\"))", |
|
524 "QScriptValue(0, QScriptValue::UndefinedValue)", |
|
525 "QScriptValue(0, QScriptValue::NullValue)", |
|
526 "QScriptValue(0, true)", |
|
527 "QScriptValue(0, false)", |
|
528 "QScriptValue(0, int(122))", |
|
529 "QScriptValue(0, uint(124))", |
|
530 "QScriptValue(0, 0)", |
|
531 "QScriptValue(0, 0.0)", |
|
532 "QScriptValue(0, 123.0)", |
|
533 "QScriptValue(0, 6.37e-8)", |
|
534 "QScriptValue(0, -6.37e-8)", |
|
535 "QScriptValue(0, 0x43211234)", |
|
536 "QScriptValue(0, 0x10000)", |
|
537 "QScriptValue(0, 0x10001)", |
|
538 "QScriptValue(0, qSNaN())", |
|
539 "QScriptValue(0, qQNaN())", |
|
540 "QScriptValue(0, qInf())", |
|
541 "QScriptValue(0, -qInf())", |
|
542 "QScriptValue(0, \"NaN\")", |
|
543 "QScriptValue(0, \"Infinity\")", |
|
544 "QScriptValue(0, \"-Infinity\")", |
|
545 "QScriptValue(0, \"ciao\")", |
|
546 "QScriptValue(0, QString::fromLatin1(\"ciao\"))", |
|
547 "QScriptValue(0, QString(\"\"))", |
|
548 "QScriptValue(0, QString())", |
|
549 "QScriptValue(0, QString(\"0\"))", |
|
550 "QScriptValue(0, QString(\"123\"))", |
|
551 "QScriptValue(0, QString(\"12.3\"))", |
|
552 "QScriptValue(engine, QScriptValue::UndefinedValue)", |
|
553 "QScriptValue(engine, QScriptValue::NullValue)", |
|
554 "QScriptValue(engine, true)", |
|
555 "QScriptValue(engine, false)", |
|
556 "QScriptValue(engine, int(122))", |
|
557 "QScriptValue(engine, uint(124))", |
|
558 "QScriptValue(engine, 0)", |
|
559 "QScriptValue(engine, 0.0)", |
|
560 "QScriptValue(engine, 123.0)", |
|
561 "QScriptValue(engine, 6.37e-8)", |
|
562 "QScriptValue(engine, -6.37e-8)", |
|
563 "QScriptValue(engine, 0x43211234)", |
|
564 "QScriptValue(engine, 0x10000)", |
|
565 "QScriptValue(engine, 0x10001)", |
|
566 "QScriptValue(engine, qSNaN())", |
|
567 "QScriptValue(engine, qQNaN())", |
|
568 "QScriptValue(engine, qInf())", |
|
569 "QScriptValue(engine, -qInf())", |
|
570 "QScriptValue(engine, \"NaN\")", |
|
571 "QScriptValue(engine, \"Infinity\")", |
|
572 "QScriptValue(engine, \"-Infinity\")", |
|
573 "QScriptValue(engine, \"ciao\")", |
|
574 "QScriptValue(engine, QString::fromLatin1(\"ciao\"))", |
|
575 "QScriptValue(engine, QString(\"\"))", |
|
576 "QScriptValue(engine, QString())", |
|
577 "QScriptValue(engine, QString(\"0\"))", |
|
578 "QScriptValue(engine, QString(\"123\"))", |
|
579 "QScriptValue(engine, QString(\"1.23\"))", |
|
580 "engine->evaluate(\"[]\")", |
|
581 "engine->evaluate(\"{}\")", |
|
582 "engine->evaluate(\"Object.prototype\")", |
|
583 "engine->evaluate(\"Date.prototype\")", |
|
584 "engine->evaluate(\"Array.prototype\")", |
|
585 "engine->evaluate(\"Function.prototype\")", |
|
586 "engine->evaluate(\"Error.prototype\")", |
|
587 "engine->evaluate(\"Object\")", |
|
588 "engine->evaluate(\"Array\")", |
|
589 "engine->evaluate(\"Number\")", |
|
590 "engine->evaluate(\"Function\")", |
|
591 "engine->evaluate(\"(function() { return 1; })\")", |
|
592 "engine->evaluate(\"(function() { return 'ciao'; })\")", |
|
593 "engine->evaluate(\"(function() { throw new Error('foo'); })\")", |
|
594 "engine->evaluate(\"/foo/\")", |
|
595 "engine->evaluate(\"new Object()\")", |
|
596 "engine->evaluate(\"new Array()\")", |
|
597 "engine->evaluate(\"new Error()\")", |
|
598 "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", |
|
599 "engine->evaluate(\"Undefined\")", |
|
600 "engine->evaluate(\"Null\")", |
|
601 "engine->evaluate(\"True\")", |
|
602 "engine->evaluate(\"False\")", |
|
603 "engine->evaluate(\"undefined\")", |
|
604 "engine->evaluate(\"null\")", |
|
605 "engine->evaluate(\"true\")", |
|
606 "engine->evaluate(\"false\")", |
|
607 "engine->evaluate(\"122\")", |
|
608 "engine->evaluate(\"124\")", |
|
609 "engine->evaluate(\"0\")", |
|
610 "engine->evaluate(\"0.0\")", |
|
611 "engine->evaluate(\"123.0\")", |
|
612 "engine->evaluate(\"6.37e-8\")", |
|
613 "engine->evaluate(\"-6.37e-8\")", |
|
614 "engine->evaluate(\"0x43211234\")", |
|
615 "engine->evaluate(\"0x10000\")", |
|
616 "engine->evaluate(\"0x10001\")", |
|
617 "engine->evaluate(\"NaN\")", |
|
618 "engine->evaluate(\"Infinity\")", |
|
619 "engine->evaluate(\"-Infinity\")", |
|
620 "engine->evaluate(\"'ciao'\")", |
|
621 "engine->evaluate(\"''\")", |
|
622 "engine->evaluate(\"'0'\")", |
|
623 "engine->evaluate(\"'123'\")", |
|
624 "engine->evaluate(\"'12.4'\")", |
|
625 "engine->nullValue()", |
|
626 "engine->undefinedValue()", |
|
627 "engine->newObject()", |
|
628 "engine->newArray()", |
|
629 "engine->newArray(10)", |
|
630 "engine->newDate(QDateTime())", |
|
631 "engine->newQMetaObject(&QObject::staticMetaObject)", |
|
632 "engine->newVariant(QVariant())", |
|
633 "engine->newVariant(QVariant(123))", |
|
634 "engine->newVariant(QVariant(false))", |
|
635 "engine->newQObject(0)", |
|
636 "engine->newQObject(engine)",}; |
|
637 static bool qscriptvalue_castbool_valueArray [] = { |
|
638 false, false, |
|
639 false, true, |
|
640 false, true, |
|
641 true, false, |
|
642 false, true, |
|
643 true, true, |
|
644 true, true, |
|
645 true, false, |
|
646 false, true, |
|
647 true, true, |
|
648 true, true, |
|
649 true, true, |
|
650 false, false, |
|
651 true, true, |
|
652 true, false, |
|
653 false, true, |
|
654 false, true, |
|
655 true, false, |
|
656 false, true, |
|
657 true, true, |
|
658 true, true, |
|
659 true, false, |
|
660 false, true, |
|
661 true, true, |
|
662 true, true, |
|
663 true, true, |
|
664 false, false, |
|
665 true, true, |
|
666 true, false, |
|
667 false, true, |
|
668 false, true, |
|
669 true, false, |
|
670 false, true, |
|
671 true, true, |
|
672 true, true, |
|
673 true, false, |
|
674 false, true, |
|
675 true, true, |
|
676 true, true, |
|
677 true, true, |
|
678 false, false, |
|
679 true, true, |
|
680 true, true, |
|
681 false, true, |
|
682 true, true, |
|
683 true, true, |
|
684 true, true, |
|
685 true, true, |
|
686 true, true, |
|
687 true, true, |
|
688 true, true, |
|
689 true, true, |
|
690 true, true, |
|
691 true, true, |
|
692 false, false, |
|
693 true, false, |
|
694 true, true, |
|
695 false, false, |
|
696 true, true, |
|
697 true, true, |
|
698 true, true, |
|
699 false, true, |
|
700 true, true, |
|
701 false, true, |
|
702 true, true, |
|
703 false, false, |
|
704 true, true, |
|
705 true, true, |
|
706 true, true, |
|
707 true, true, |
|
708 false, true, }; |
|
709 void tst_QScriptValue::qscriptvalue_castbool_makeData(const char* expr) |
|
710 { |
|
711 static QHash<QString, bool> value; |
|
712 if (value.isEmpty()) { |
|
713 value.reserve(142); |
|
714 for (unsigned i = 0; i < 142; ++i) |
|
715 value.insert(qscriptvalue_castbool_tagArray[i], qscriptvalue_castbool_valueArray[i]); |
|
716 } |
|
717 newRow(expr) << value.value(expr); |
|
718 } |
|
719 |
|
720 void tst_QScriptValue::qscriptvalue_castbool_test(const char*, const QScriptValue& value) |
|
721 { |
|
722 QFETCH(bool, expected); |
|
723 QCOMPARE(qscriptvalue_cast<bool>(value), expected); |
|
724 QCOMPARE(qscriptvalue_cast<bool>(value), expected); |
|
725 } |
|
726 |
|
727 DEFINE_TEST_FUNCTION(qscriptvalue_castbool) |
|
728 |
|
729 |
|
730 void tst_QScriptValue::qscriptvalue_castqint32_initData() |
|
731 { |
|
732 QTest::addColumn<qint32>("expected"); |
|
733 initScriptValues(); |
|
734 } |
|
735 |
|
736 static QString qscriptvalue_castqint32_tagArray [] = { |
|
737 "QScriptValue()", |
|
738 "QScriptValue(QScriptValue::UndefinedValue)", |
|
739 "QScriptValue(QScriptValue::NullValue)", |
|
740 "QScriptValue(true)", |
|
741 "QScriptValue(false)", |
|
742 "QScriptValue(int(122))", |
|
743 "QScriptValue(uint(124))", |
|
744 "QScriptValue(0)", |
|
745 "QScriptValue(0.0)", |
|
746 "QScriptValue(123.0)", |
|
747 "QScriptValue(6.37e-8)", |
|
748 "QScriptValue(-6.37e-8)", |
|
749 "QScriptValue(0x43211234)", |
|
750 "QScriptValue(0x10000)", |
|
751 "QScriptValue(0x10001)", |
|
752 "QScriptValue(qSNaN())", |
|
753 "QScriptValue(qQNaN())", |
|
754 "QScriptValue(qInf())", |
|
755 "QScriptValue(-qInf())", |
|
756 "QScriptValue(\"NaN\")", |
|
757 "QScriptValue(\"Infinity\")", |
|
758 "QScriptValue(\"-Infinity\")", |
|
759 "QScriptValue(\"ciao\")", |
|
760 "QScriptValue(QString::fromLatin1(\"ciao\"))", |
|
761 "QScriptValue(QString(\"\"))", |
|
762 "QScriptValue(QString())", |
|
763 "QScriptValue(QString(\"0\"))", |
|
764 "QScriptValue(QString(\"123\"))", |
|
765 "QScriptValue(QString(\"12.4\"))", |
|
766 "QScriptValue(0, QScriptValue::UndefinedValue)", |
|
767 "QScriptValue(0, QScriptValue::NullValue)", |
|
768 "QScriptValue(0, true)", |
|
769 "QScriptValue(0, false)", |
|
770 "QScriptValue(0, int(122))", |
|
771 "QScriptValue(0, uint(124))", |
|
772 "QScriptValue(0, 0)", |
|
773 "QScriptValue(0, 0.0)", |
|
774 "QScriptValue(0, 123.0)", |
|
775 "QScriptValue(0, 6.37e-8)", |
|
776 "QScriptValue(0, -6.37e-8)", |
|
777 "QScriptValue(0, 0x43211234)", |
|
778 "QScriptValue(0, 0x10000)", |
|
779 "QScriptValue(0, 0x10001)", |
|
780 "QScriptValue(0, qSNaN())", |
|
781 "QScriptValue(0, qQNaN())", |
|
782 "QScriptValue(0, qInf())", |
|
783 "QScriptValue(0, -qInf())", |
|
784 "QScriptValue(0, \"NaN\")", |
|
785 "QScriptValue(0, \"Infinity\")", |
|
786 "QScriptValue(0, \"-Infinity\")", |
|
787 "QScriptValue(0, \"ciao\")", |
|
788 "QScriptValue(0, QString::fromLatin1(\"ciao\"))", |
|
789 "QScriptValue(0, QString(\"\"))", |
|
790 "QScriptValue(0, QString())", |
|
791 "QScriptValue(0, QString(\"0\"))", |
|
792 "QScriptValue(0, QString(\"123\"))", |
|
793 "QScriptValue(0, QString(\"12.3\"))", |
|
794 "QScriptValue(engine, QScriptValue::UndefinedValue)", |
|
795 "QScriptValue(engine, QScriptValue::NullValue)", |
|
796 "QScriptValue(engine, true)", |
|
797 "QScriptValue(engine, false)", |
|
798 "QScriptValue(engine, int(122))", |
|
799 "QScriptValue(engine, uint(124))", |
|
800 "QScriptValue(engine, 0)", |
|
801 "QScriptValue(engine, 0.0)", |
|
802 "QScriptValue(engine, 123.0)", |
|
803 "QScriptValue(engine, 6.37e-8)", |
|
804 "QScriptValue(engine, -6.37e-8)", |
|
805 "QScriptValue(engine, 0x43211234)", |
|
806 "QScriptValue(engine, 0x10000)", |
|
807 "QScriptValue(engine, 0x10001)", |
|
808 "QScriptValue(engine, qSNaN())", |
|
809 "QScriptValue(engine, qQNaN())", |
|
810 "QScriptValue(engine, qInf())", |
|
811 "QScriptValue(engine, -qInf())", |
|
812 "QScriptValue(engine, \"NaN\")", |
|
813 "QScriptValue(engine, \"Infinity\")", |
|
814 "QScriptValue(engine, \"-Infinity\")", |
|
815 "QScriptValue(engine, \"ciao\")", |
|
816 "QScriptValue(engine, QString::fromLatin1(\"ciao\"))", |
|
817 "QScriptValue(engine, QString(\"\"))", |
|
818 "QScriptValue(engine, QString())", |
|
819 "QScriptValue(engine, QString(\"0\"))", |
|
820 "QScriptValue(engine, QString(\"123\"))", |
|
821 "QScriptValue(engine, QString(\"1.23\"))", |
|
822 "engine->evaluate(\"[]\")", |
|
823 "engine->evaluate(\"{}\")", |
|
824 "engine->evaluate(\"Object.prototype\")", |
|
825 "engine->evaluate(\"Date.prototype\")", |
|
826 "engine->evaluate(\"Array.prototype\")", |
|
827 "engine->evaluate(\"Function.prototype\")", |
|
828 "engine->evaluate(\"Error.prototype\")", |
|
829 "engine->evaluate(\"Object\")", |
|
830 "engine->evaluate(\"Array\")", |
|
831 "engine->evaluate(\"Number\")", |
|
832 "engine->evaluate(\"Function\")", |
|
833 "engine->evaluate(\"(function() { return 1; })\")", |
|
834 "engine->evaluate(\"(function() { return 'ciao'; })\")", |
|
835 "engine->evaluate(\"(function() { throw new Error('foo'); })\")", |
|
836 "engine->evaluate(\"/foo/\")", |
|
837 "engine->evaluate(\"new Object()\")", |
|
838 "engine->evaluate(\"new Array()\")", |
|
839 "engine->evaluate(\"new Error()\")", |
|
840 "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", |
|
841 "engine->evaluate(\"Undefined\")", |
|
842 "engine->evaluate(\"Null\")", |
|
843 "engine->evaluate(\"True\")", |
|
844 "engine->evaluate(\"False\")", |
|
845 "engine->evaluate(\"undefined\")", |
|
846 "engine->evaluate(\"null\")", |
|
847 "engine->evaluate(\"true\")", |
|
848 "engine->evaluate(\"false\")", |
|
849 "engine->evaluate(\"122\")", |
|
850 "engine->evaluate(\"124\")", |
|
851 "engine->evaluate(\"0\")", |
|
852 "engine->evaluate(\"0.0\")", |
|
853 "engine->evaluate(\"123.0\")", |
|
854 "engine->evaluate(\"6.37e-8\")", |
|
855 "engine->evaluate(\"-6.37e-8\")", |
|
856 "engine->evaluate(\"0x43211234\")", |
|
857 "engine->evaluate(\"0x10000\")", |
|
858 "engine->evaluate(\"0x10001\")", |
|
859 "engine->evaluate(\"NaN\")", |
|
860 "engine->evaluate(\"Infinity\")", |
|
861 "engine->evaluate(\"-Infinity\")", |
|
862 "engine->evaluate(\"'ciao'\")", |
|
863 "engine->evaluate(\"''\")", |
|
864 "engine->evaluate(\"'0'\")", |
|
865 "engine->evaluate(\"'123'\")", |
|
866 "engine->evaluate(\"'12.4'\")", |
|
867 "engine->nullValue()", |
|
868 "engine->undefinedValue()", |
|
869 "engine->newObject()", |
|
870 "engine->newArray()", |
|
871 "engine->newArray(10)", |
|
872 "engine->newDate(QDateTime())", |
|
873 "engine->newQMetaObject(&QObject::staticMetaObject)", |
|
874 "engine->newVariant(QVariant())", |
|
875 "engine->newVariant(QVariant(123))", |
|
876 "engine->newVariant(QVariant(false))", |
|
877 "engine->newQObject(0)", |
|
878 "engine->newQObject(engine)",}; |
|
879 static qint32 qscriptvalue_castqint32_valueArray [] = { |
|
880 0, 0, |
|
881 0, 1, |
|
882 0, 122, |
|
883 124, 0, |
|
884 0, 123, |
|
885 0, 0, |
|
886 1126240820, 65536, |
|
887 65537, 0, |
|
888 0, 0, |
|
889 0, 0, |
|
890 0, 0, |
|
891 0, 0, |
|
892 0, 0, |
|
893 0, 123, |
|
894 12, 0, |
|
895 0, 1, |
|
896 0, 122, |
|
897 124, 0, |
|
898 0, 123, |
|
899 0, 0, |
|
900 1126240820, 65536, |
|
901 65537, 0, |
|
902 0, 0, |
|
903 0, 0, |
|
904 0, 0, |
|
905 0, 0, |
|
906 0, 0, |
|
907 0, 123, |
|
908 12, 0, |
|
909 0, 1, |
|
910 0, 122, |
|
911 124, 0, |
|
912 0, 123, |
|
913 0, 0, |
|
914 1126240820, 65536, |
|
915 65537, 0, |
|
916 0, 0, |
|
917 0, 0, |
|
918 0, 0, |
|
919 0, 0, |
|
920 0, 0, |
|
921 0, 123, |
|
922 1, 0, |
|
923 0, 0, |
|
924 0, 0, |
|
925 0, 0, |
|
926 0, 0, |
|
927 0, 0, |
|
928 0, 0, |
|
929 0, 0, |
|
930 0, 0, |
|
931 0, 22, |
|
932 0, 0, |
|
933 0, 0, |
|
934 0, 0, |
|
935 1, 0, |
|
936 122, 124, |
|
937 0, 0, |
|
938 123, 0, |
|
939 0, 1126240820, |
|
940 65536, 65537, |
|
941 0, 0, |
|
942 0, 0, |
|
943 0, 0, |
|
944 123, 12, |
|
945 0, 0, |
|
946 0, 0, |
|
947 0, 0, |
|
948 0, 0, |
|
949 123, 0, |
|
950 0, 0, }; |
|
951 void tst_QScriptValue::qscriptvalue_castqint32_makeData(const char* expr) |
|
952 { |
|
953 static QHash<QString, qint32> value; |
|
954 if (value.isEmpty()) { |
|
955 value.reserve(142); |
|
956 for (unsigned i = 0; i < 142; ++i) |
|
957 value.insert(qscriptvalue_castqint32_tagArray[i], qscriptvalue_castqint32_valueArray[i]); |
|
958 } |
|
959 newRow(expr) << value.value(expr); |
|
960 } |
|
961 |
|
962 void tst_QScriptValue::qscriptvalue_castqint32_test(const char*, const QScriptValue& value) |
|
963 { |
|
964 QFETCH(qint32, expected); |
|
965 QCOMPARE(qscriptvalue_cast<qint32>(value), expected); |
|
966 QCOMPARE(qscriptvalue_cast<qint32>(value), expected); |
|
967 } |
|
968 |
|
969 DEFINE_TEST_FUNCTION(qscriptvalue_castqint32) |
|
970 |
|
971 |
|
972 void tst_QScriptValue::qscriptvalue_castquint32_initData() |
|
973 { |
|
974 QTest::addColumn<quint32>("expected"); |
|
975 initScriptValues(); |
|
976 } |
|
977 |
|
978 static QString qscriptvalue_castquint32_tagArray [] = { |
|
979 "QScriptValue()", |
|
980 "QScriptValue(QScriptValue::UndefinedValue)", |
|
981 "QScriptValue(QScriptValue::NullValue)", |
|
982 "QScriptValue(true)", |
|
983 "QScriptValue(false)", |
|
984 "QScriptValue(int(122))", |
|
985 "QScriptValue(uint(124))", |
|
986 "QScriptValue(0)", |
|
987 "QScriptValue(0.0)", |
|
988 "QScriptValue(123.0)", |
|
989 "QScriptValue(6.37e-8)", |
|
990 "QScriptValue(-6.37e-8)", |
|
991 "QScriptValue(0x43211234)", |
|
992 "QScriptValue(0x10000)", |
|
993 "QScriptValue(0x10001)", |
|
994 "QScriptValue(qSNaN())", |
|
995 "QScriptValue(qQNaN())", |
|
996 "QScriptValue(qInf())", |
|
997 "QScriptValue(-qInf())", |
|
998 "QScriptValue(\"NaN\")", |
|
999 "QScriptValue(\"Infinity\")", |
|
1000 "QScriptValue(\"-Infinity\")", |
|
1001 "QScriptValue(\"ciao\")", |
|
1002 "QScriptValue(QString::fromLatin1(\"ciao\"))", |
|
1003 "QScriptValue(QString(\"\"))", |
|
1004 "QScriptValue(QString())", |
|
1005 "QScriptValue(QString(\"0\"))", |
|
1006 "QScriptValue(QString(\"123\"))", |
|
1007 "QScriptValue(QString(\"12.4\"))", |
|
1008 "QScriptValue(0, QScriptValue::UndefinedValue)", |
|
1009 "QScriptValue(0, QScriptValue::NullValue)", |
|
1010 "QScriptValue(0, true)", |
|
1011 "QScriptValue(0, false)", |
|
1012 "QScriptValue(0, int(122))", |
|
1013 "QScriptValue(0, uint(124))", |
|
1014 "QScriptValue(0, 0)", |
|
1015 "QScriptValue(0, 0.0)", |
|
1016 "QScriptValue(0, 123.0)", |
|
1017 "QScriptValue(0, 6.37e-8)", |
|
1018 "QScriptValue(0, -6.37e-8)", |
|
1019 "QScriptValue(0, 0x43211234)", |
|
1020 "QScriptValue(0, 0x10000)", |
|
1021 "QScriptValue(0, 0x10001)", |
|
1022 "QScriptValue(0, qSNaN())", |
|
1023 "QScriptValue(0, qQNaN())", |
|
1024 "QScriptValue(0, qInf())", |
|
1025 "QScriptValue(0, -qInf())", |
|
1026 "QScriptValue(0, \"NaN\")", |
|
1027 "QScriptValue(0, \"Infinity\")", |
|
1028 "QScriptValue(0, \"-Infinity\")", |
|
1029 "QScriptValue(0, \"ciao\")", |
|
1030 "QScriptValue(0, QString::fromLatin1(\"ciao\"))", |
|
1031 "QScriptValue(0, QString(\"\"))", |
|
1032 "QScriptValue(0, QString())", |
|
1033 "QScriptValue(0, QString(\"0\"))", |
|
1034 "QScriptValue(0, QString(\"123\"))", |
|
1035 "QScriptValue(0, QString(\"12.3\"))", |
|
1036 "QScriptValue(engine, QScriptValue::UndefinedValue)", |
|
1037 "QScriptValue(engine, QScriptValue::NullValue)", |
|
1038 "QScriptValue(engine, true)", |
|
1039 "QScriptValue(engine, false)", |
|
1040 "QScriptValue(engine, int(122))", |
|
1041 "QScriptValue(engine, uint(124))", |
|
1042 "QScriptValue(engine, 0)", |
|
1043 "QScriptValue(engine, 0.0)", |
|
1044 "QScriptValue(engine, 123.0)", |
|
1045 "QScriptValue(engine, 6.37e-8)", |
|
1046 "QScriptValue(engine, -6.37e-8)", |
|
1047 "QScriptValue(engine, 0x43211234)", |
|
1048 "QScriptValue(engine, 0x10000)", |
|
1049 "QScriptValue(engine, 0x10001)", |
|
1050 "QScriptValue(engine, qSNaN())", |
|
1051 "QScriptValue(engine, qQNaN())", |
|
1052 "QScriptValue(engine, qInf())", |
|
1053 "QScriptValue(engine, -qInf())", |
|
1054 "QScriptValue(engine, \"NaN\")", |
|
1055 "QScriptValue(engine, \"Infinity\")", |
|
1056 "QScriptValue(engine, \"-Infinity\")", |
|
1057 "QScriptValue(engine, \"ciao\")", |
|
1058 "QScriptValue(engine, QString::fromLatin1(\"ciao\"))", |
|
1059 "QScriptValue(engine, QString(\"\"))", |
|
1060 "QScriptValue(engine, QString())", |
|
1061 "QScriptValue(engine, QString(\"0\"))", |
|
1062 "QScriptValue(engine, QString(\"123\"))", |
|
1063 "QScriptValue(engine, QString(\"1.23\"))", |
|
1064 "engine->evaluate(\"[]\")", |
|
1065 "engine->evaluate(\"{}\")", |
|
1066 "engine->evaluate(\"Object.prototype\")", |
|
1067 "engine->evaluate(\"Date.prototype\")", |
|
1068 "engine->evaluate(\"Array.prototype\")", |
|
1069 "engine->evaluate(\"Function.prototype\")", |
|
1070 "engine->evaluate(\"Error.prototype\")", |
|
1071 "engine->evaluate(\"Object\")", |
|
1072 "engine->evaluate(\"Array\")", |
|
1073 "engine->evaluate(\"Number\")", |
|
1074 "engine->evaluate(\"Function\")", |
|
1075 "engine->evaluate(\"(function() { return 1; })\")", |
|
1076 "engine->evaluate(\"(function() { return 'ciao'; })\")", |
|
1077 "engine->evaluate(\"(function() { throw new Error('foo'); })\")", |
|
1078 "engine->evaluate(\"/foo/\")", |
|
1079 "engine->evaluate(\"new Object()\")", |
|
1080 "engine->evaluate(\"new Array()\")", |
|
1081 "engine->evaluate(\"new Error()\")", |
|
1082 "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", |
|
1083 "engine->evaluate(\"Undefined\")", |
|
1084 "engine->evaluate(\"Null\")", |
|
1085 "engine->evaluate(\"True\")", |
|
1086 "engine->evaluate(\"False\")", |
|
1087 "engine->evaluate(\"undefined\")", |
|
1088 "engine->evaluate(\"null\")", |
|
1089 "engine->evaluate(\"true\")", |
|
1090 "engine->evaluate(\"false\")", |
|
1091 "engine->evaluate(\"122\")", |
|
1092 "engine->evaluate(\"124\")", |
|
1093 "engine->evaluate(\"0\")", |
|
1094 "engine->evaluate(\"0.0\")", |
|
1095 "engine->evaluate(\"123.0\")", |
|
1096 "engine->evaluate(\"6.37e-8\")", |
|
1097 "engine->evaluate(\"-6.37e-8\")", |
|
1098 "engine->evaluate(\"0x43211234\")", |
|
1099 "engine->evaluate(\"0x10000\")", |
|
1100 "engine->evaluate(\"0x10001\")", |
|
1101 "engine->evaluate(\"NaN\")", |
|
1102 "engine->evaluate(\"Infinity\")", |
|
1103 "engine->evaluate(\"-Infinity\")", |
|
1104 "engine->evaluate(\"'ciao'\")", |
|
1105 "engine->evaluate(\"''\")", |
|
1106 "engine->evaluate(\"'0'\")", |
|
1107 "engine->evaluate(\"'123'\")", |
|
1108 "engine->evaluate(\"'12.4'\")", |
|
1109 "engine->nullValue()", |
|
1110 "engine->undefinedValue()", |
|
1111 "engine->newObject()", |
|
1112 "engine->newArray()", |
|
1113 "engine->newArray(10)", |
|
1114 "engine->newDate(QDateTime())", |
|
1115 "engine->newQMetaObject(&QObject::staticMetaObject)", |
|
1116 "engine->newVariant(QVariant())", |
|
1117 "engine->newVariant(QVariant(123))", |
|
1118 "engine->newVariant(QVariant(false))", |
|
1119 "engine->newQObject(0)", |
|
1120 "engine->newQObject(engine)",}; |
|
1121 static quint32 qscriptvalue_castquint32_valueArray [] = { |
|
1122 0, 0, |
|
1123 0, 1, |
|
1124 0, 122, |
|
1125 124, 0, |
|
1126 0, 123, |
|
1127 0, 0, |
|
1128 1126240820, 65536, |
|
1129 65537, 0, |
|
1130 0, 0, |
|
1131 0, 0, |
|
1132 0, 0, |
|
1133 0, 0, |
|
1134 0, 0, |
|
1135 0, 123, |
|
1136 12, 0, |
|
1137 0, 1, |
|
1138 0, 122, |
|
1139 124, 0, |
|
1140 0, 123, |
|
1141 0, 0, |
|
1142 1126240820, 65536, |
|
1143 65537, 0, |
|
1144 0, 0, |
|
1145 0, 0, |
|
1146 0, 0, |
|
1147 0, 0, |
|
1148 0, 0, |
|
1149 0, 123, |
|
1150 12, 0, |
|
1151 0, 1, |
|
1152 0, 122, |
|
1153 124, 0, |
|
1154 0, 123, |
|
1155 0, 0, |
|
1156 1126240820, 65536, |
|
1157 65537, 0, |
|
1158 0, 0, |
|
1159 0, 0, |
|
1160 0, 0, |
|
1161 0, 0, |
|
1162 0, 0, |
|
1163 0, 123, |
|
1164 1, 0, |
|
1165 0, 0, |
|
1166 0, 0, |
|
1167 0, 0, |
|
1168 0, 0, |
|
1169 0, 0, |
|
1170 0, 0, |
|
1171 0, 0, |
|
1172 0, 0, |
|
1173 0, 22, |
|
1174 0, 0, |
|
1175 0, 0, |
|
1176 0, 0, |
|
1177 1, 0, |
|
1178 122, 124, |
|
1179 0, 0, |
|
1180 123, 0, |
|
1181 0, 1126240820, |
|
1182 65536, 65537, |
|
1183 0, 0, |
|
1184 0, 0, |
|
1185 0, 0, |
|
1186 123, 12, |
|
1187 0, 0, |
|
1188 0, 0, |
|
1189 0, 0, |
|
1190 0, 0, |
|
1191 123, 0, |
|
1192 0, 0, }; |
|
1193 void tst_QScriptValue::qscriptvalue_castquint32_makeData(const char* expr) |
|
1194 { |
|
1195 static QHash<QString, quint32> value; |
|
1196 if (value.isEmpty()) { |
|
1197 value.reserve(142); |
|
1198 for (unsigned i = 0; i < 142; ++i) |
|
1199 value.insert(qscriptvalue_castquint32_tagArray[i], qscriptvalue_castquint32_valueArray[i]); |
|
1200 } |
|
1201 newRow(expr) << value.value(expr); |
|
1202 } |
|
1203 |
|
1204 void tst_QScriptValue::qscriptvalue_castquint32_test(const char*, const QScriptValue& value) |
|
1205 { |
|
1206 QFETCH(quint32, expected); |
|
1207 QCOMPARE(qscriptvalue_cast<quint32>(value), expected); |
|
1208 QCOMPARE(qscriptvalue_cast<quint32>(value), expected); |
|
1209 } |
|
1210 |
|
1211 DEFINE_TEST_FUNCTION(qscriptvalue_castquint32) |
|
1212 |
|
1213 |
|
1214 void tst_QScriptValue::qscriptvalue_castquint16_initData() |
|
1215 { |
|
1216 QTest::addColumn<quint16>("expected"); |
|
1217 initScriptValues(); |
|
1218 } |
|
1219 |
|
1220 static QString qscriptvalue_castquint16_tagArray [] = { |
|
1221 "QScriptValue()", |
|
1222 "QScriptValue(QScriptValue::UndefinedValue)", |
|
1223 "QScriptValue(QScriptValue::NullValue)", |
|
1224 "QScriptValue(true)", |
|
1225 "QScriptValue(false)", |
|
1226 "QScriptValue(int(122))", |
|
1227 "QScriptValue(uint(124))", |
|
1228 "QScriptValue(0)", |
|
1229 "QScriptValue(0.0)", |
|
1230 "QScriptValue(123.0)", |
|
1231 "QScriptValue(6.37e-8)", |
|
1232 "QScriptValue(-6.37e-8)", |
|
1233 "QScriptValue(0x43211234)", |
|
1234 "QScriptValue(0x10000)", |
|
1235 "QScriptValue(0x10001)", |
|
1236 "QScriptValue(qSNaN())", |
|
1237 "QScriptValue(qQNaN())", |
|
1238 "QScriptValue(qInf())", |
|
1239 "QScriptValue(-qInf())", |
|
1240 "QScriptValue(\"NaN\")", |
|
1241 "QScriptValue(\"Infinity\")", |
|
1242 "QScriptValue(\"-Infinity\")", |
|
1243 "QScriptValue(\"ciao\")", |
|
1244 "QScriptValue(QString::fromLatin1(\"ciao\"))", |
|
1245 "QScriptValue(QString(\"\"))", |
|
1246 "QScriptValue(QString())", |
|
1247 "QScriptValue(QString(\"0\"))", |
|
1248 "QScriptValue(QString(\"123\"))", |
|
1249 "QScriptValue(QString(\"12.4\"))", |
|
1250 "QScriptValue(0, QScriptValue::UndefinedValue)", |
|
1251 "QScriptValue(0, QScriptValue::NullValue)", |
|
1252 "QScriptValue(0, true)", |
|
1253 "QScriptValue(0, false)", |
|
1254 "QScriptValue(0, int(122))", |
|
1255 "QScriptValue(0, uint(124))", |
|
1256 "QScriptValue(0, 0)", |
|
1257 "QScriptValue(0, 0.0)", |
|
1258 "QScriptValue(0, 123.0)", |
|
1259 "QScriptValue(0, 6.37e-8)", |
|
1260 "QScriptValue(0, -6.37e-8)", |
|
1261 "QScriptValue(0, 0x43211234)", |
|
1262 "QScriptValue(0, 0x10000)", |
|
1263 "QScriptValue(0, 0x10001)", |
|
1264 "QScriptValue(0, qSNaN())", |
|
1265 "QScriptValue(0, qQNaN())", |
|
1266 "QScriptValue(0, qInf())", |
|
1267 "QScriptValue(0, -qInf())", |
|
1268 "QScriptValue(0, \"NaN\")", |
|
1269 "QScriptValue(0, \"Infinity\")", |
|
1270 "QScriptValue(0, \"-Infinity\")", |
|
1271 "QScriptValue(0, \"ciao\")", |
|
1272 "QScriptValue(0, QString::fromLatin1(\"ciao\"))", |
|
1273 "QScriptValue(0, QString(\"\"))", |
|
1274 "QScriptValue(0, QString())", |
|
1275 "QScriptValue(0, QString(\"0\"))", |
|
1276 "QScriptValue(0, QString(\"123\"))", |
|
1277 "QScriptValue(0, QString(\"12.3\"))", |
|
1278 "QScriptValue(engine, QScriptValue::UndefinedValue)", |
|
1279 "QScriptValue(engine, QScriptValue::NullValue)", |
|
1280 "QScriptValue(engine, true)", |
|
1281 "QScriptValue(engine, false)", |
|
1282 "QScriptValue(engine, int(122))", |
|
1283 "QScriptValue(engine, uint(124))", |
|
1284 "QScriptValue(engine, 0)", |
|
1285 "QScriptValue(engine, 0.0)", |
|
1286 "QScriptValue(engine, 123.0)", |
|
1287 "QScriptValue(engine, 6.37e-8)", |
|
1288 "QScriptValue(engine, -6.37e-8)", |
|
1289 "QScriptValue(engine, 0x43211234)", |
|
1290 "QScriptValue(engine, 0x10000)", |
|
1291 "QScriptValue(engine, 0x10001)", |
|
1292 "QScriptValue(engine, qSNaN())", |
|
1293 "QScriptValue(engine, qQNaN())", |
|
1294 "QScriptValue(engine, qInf())", |
|
1295 "QScriptValue(engine, -qInf())", |
|
1296 "QScriptValue(engine, \"NaN\")", |
|
1297 "QScriptValue(engine, \"Infinity\")", |
|
1298 "QScriptValue(engine, \"-Infinity\")", |
|
1299 "QScriptValue(engine, \"ciao\")", |
|
1300 "QScriptValue(engine, QString::fromLatin1(\"ciao\"))", |
|
1301 "QScriptValue(engine, QString(\"\"))", |
|
1302 "QScriptValue(engine, QString())", |
|
1303 "QScriptValue(engine, QString(\"0\"))", |
|
1304 "QScriptValue(engine, QString(\"123\"))", |
|
1305 "QScriptValue(engine, QString(\"1.23\"))", |
|
1306 "engine->evaluate(\"[]\")", |
|
1307 "engine->evaluate(\"{}\")", |
|
1308 "engine->evaluate(\"Object.prototype\")", |
|
1309 "engine->evaluate(\"Date.prototype\")", |
|
1310 "engine->evaluate(\"Array.prototype\")", |
|
1311 "engine->evaluate(\"Function.prototype\")", |
|
1312 "engine->evaluate(\"Error.prototype\")", |
|
1313 "engine->evaluate(\"Object\")", |
|
1314 "engine->evaluate(\"Array\")", |
|
1315 "engine->evaluate(\"Number\")", |
|
1316 "engine->evaluate(\"Function\")", |
|
1317 "engine->evaluate(\"(function() { return 1; })\")", |
|
1318 "engine->evaluate(\"(function() { return 'ciao'; })\")", |
|
1319 "engine->evaluate(\"(function() { throw new Error('foo'); })\")", |
|
1320 "engine->evaluate(\"/foo/\")", |
|
1321 "engine->evaluate(\"new Object()\")", |
|
1322 "engine->evaluate(\"new Array()\")", |
|
1323 "engine->evaluate(\"new Error()\")", |
|
1324 "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", |
|
1325 "engine->evaluate(\"Undefined\")", |
|
1326 "engine->evaluate(\"Null\")", |
|
1327 "engine->evaluate(\"True\")", |
|
1328 "engine->evaluate(\"False\")", |
|
1329 "engine->evaluate(\"undefined\")", |
|
1330 "engine->evaluate(\"null\")", |
|
1331 "engine->evaluate(\"true\")", |
|
1332 "engine->evaluate(\"false\")", |
|
1333 "engine->evaluate(\"122\")", |
|
1334 "engine->evaluate(\"124\")", |
|
1335 "engine->evaluate(\"0\")", |
|
1336 "engine->evaluate(\"0.0\")", |
|
1337 "engine->evaluate(\"123.0\")", |
|
1338 "engine->evaluate(\"6.37e-8\")", |
|
1339 "engine->evaluate(\"-6.37e-8\")", |
|
1340 "engine->evaluate(\"0x43211234\")", |
|
1341 "engine->evaluate(\"0x10000\")", |
|
1342 "engine->evaluate(\"0x10001\")", |
|
1343 "engine->evaluate(\"NaN\")", |
|
1344 "engine->evaluate(\"Infinity\")", |
|
1345 "engine->evaluate(\"-Infinity\")", |
|
1346 "engine->evaluate(\"'ciao'\")", |
|
1347 "engine->evaluate(\"''\")", |
|
1348 "engine->evaluate(\"'0'\")", |
|
1349 "engine->evaluate(\"'123'\")", |
|
1350 "engine->evaluate(\"'12.4'\")", |
|
1351 "engine->nullValue()", |
|
1352 "engine->undefinedValue()", |
|
1353 "engine->newObject()", |
|
1354 "engine->newArray()", |
|
1355 "engine->newArray(10)", |
|
1356 "engine->newDate(QDateTime())", |
|
1357 "engine->newQMetaObject(&QObject::staticMetaObject)", |
|
1358 "engine->newVariant(QVariant())", |
|
1359 "engine->newVariant(QVariant(123))", |
|
1360 "engine->newVariant(QVariant(false))", |
|
1361 "engine->newQObject(0)", |
|
1362 "engine->newQObject(engine)",}; |
|
1363 static quint16 qscriptvalue_castquint16_valueArray [] = { |
|
1364 0, 0, |
|
1365 0, 1, |
|
1366 0, 122, |
|
1367 124, 0, |
|
1368 0, 123, |
|
1369 0, 0, |
|
1370 4660, 0, |
|
1371 1, 0, |
|
1372 0, 0, |
|
1373 0, 0, |
|
1374 0, 0, |
|
1375 0, 0, |
|
1376 0, 0, |
|
1377 0, 123, |
|
1378 12, 0, |
|
1379 0, 1, |
|
1380 0, 122, |
|
1381 124, 0, |
|
1382 0, 123, |
|
1383 0, 0, |
|
1384 4660, 0, |
|
1385 1, 0, |
|
1386 0, 0, |
|
1387 0, 0, |
|
1388 0, 0, |
|
1389 0, 0, |
|
1390 0, 0, |
|
1391 0, 123, |
|
1392 12, 0, |
|
1393 0, 1, |
|
1394 0, 122, |
|
1395 124, 0, |
|
1396 0, 123, |
|
1397 0, 0, |
|
1398 4660, 0, |
|
1399 1, 0, |
|
1400 0, 0, |
|
1401 0, 0, |
|
1402 0, 0, |
|
1403 0, 0, |
|
1404 0, 0, |
|
1405 0, 123, |
|
1406 1, 0, |
|
1407 0, 0, |
|
1408 0, 0, |
|
1409 0, 0, |
|
1410 0, 0, |
|
1411 0, 0, |
|
1412 0, 0, |
|
1413 0, 0, |
|
1414 0, 0, |
|
1415 0, 22, |
|
1416 0, 0, |
|
1417 0, 0, |
|
1418 0, 0, |
|
1419 1, 0, |
|
1420 122, 124, |
|
1421 0, 0, |
|
1422 123, 0, |
|
1423 0, 4660, |
|
1424 0, 1, |
|
1425 0, 0, |
|
1426 0, 0, |
|
1427 0, 0, |
|
1428 123, 12, |
|
1429 0, 0, |
|
1430 0, 0, |
|
1431 0, 0, |
|
1432 0, 0, |
|
1433 123, 0, |
|
1434 0, 0, }; |
|
1435 void tst_QScriptValue::qscriptvalue_castquint16_makeData(const char* expr) |
|
1436 { |
|
1437 static QHash<QString, quint16> value; |
|
1438 if (value.isEmpty()) { |
|
1439 value.reserve(142); |
|
1440 for (unsigned i = 0; i < 142; ++i) |
|
1441 value.insert(qscriptvalue_castquint16_tagArray[i], qscriptvalue_castquint16_valueArray[i]); |
|
1442 } |
|
1443 newRow(expr) << value.value(expr); |
|
1444 } |
|
1445 |
|
1446 void tst_QScriptValue::qscriptvalue_castquint16_test(const char*, const QScriptValue& value) |
|
1447 { |
|
1448 QFETCH(quint16, expected); |
|
1449 QCOMPARE(qscriptvalue_cast<quint16>(value), expected); |
|
1450 QCOMPARE(qscriptvalue_cast<quint16>(value), expected); |
|
1451 } |
|
1452 |
|
1453 DEFINE_TEST_FUNCTION(qscriptvalue_castquint16) |