1470 lines
46 KiB
C++
1470 lines
46 KiB
C++
/****************************************************************************
|
|
**
|
|
** Copyright (C) 2018 The Qt Company Ltd.
|
|
** Contact: https://www.qt.io/licensing/
|
|
**
|
|
** This file is part of the test suite of the Qt Toolkit.
|
|
**
|
|
** $QT_BEGIN_LICENSE:GPL-EXCEPT$
|
|
** Commercial License Usage
|
|
** Licensees holding valid commercial Qt licenses may use this file in
|
|
** accordance with the commercial license agreement provided with the
|
|
** Software or, alternatively, in accordance with the terms contained in
|
|
** a written agreement between you and The Qt Company. For licensing terms
|
|
** and conditions see https://www.qt.io/terms-conditions. For further
|
|
** information use the contact form at https://www.qt.io/contact-us.
|
|
**
|
|
** GNU General Public License Usage
|
|
** Alternatively, this file may be used under the terms of the GNU
|
|
** General Public License version 3 as published by the Free Software
|
|
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
|
** included in the packaging of this file. Please review the following
|
|
** information to ensure the GNU General Public License requirements will
|
|
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
|
**
|
|
** $QT_END_LICENSE$
|
|
**
|
|
****************************************************************************/
|
|
|
|
#include "tst_qscriptvalue.h"
|
|
|
|
|
|
|
|
void tst_QScriptValueGenerated::qscriptvalue_castQString_initData()
|
|
{
|
|
QTest::addColumn<QString>("expected");
|
|
initScriptValues();
|
|
}
|
|
|
|
static const char *qscriptvalue_castQString_tagArray[] = {
|
|
"QScriptValue()",
|
|
"QScriptValue(QScriptValue::UndefinedValue)",
|
|
"QScriptValue(QScriptValue::NullValue)",
|
|
"QScriptValue(true)",
|
|
"QScriptValue(false)",
|
|
"QScriptValue(int(122))",
|
|
"QScriptValue(uint(124))",
|
|
"QScriptValue(0)",
|
|
"QScriptValue(0.0)",
|
|
"QScriptValue(123.0)",
|
|
"QScriptValue(6.37e-8)",
|
|
"QScriptValue(-6.37e-8)",
|
|
"QScriptValue(0x43211234)",
|
|
"QScriptValue(0x10000)",
|
|
"QScriptValue(0x10001)",
|
|
"QScriptValue(qSNaN())",
|
|
"QScriptValue(qQNaN())",
|
|
"QScriptValue(qInf())",
|
|
"QScriptValue(-qInf())",
|
|
"QScriptValue(\"NaN\")",
|
|
"QScriptValue(\"Infinity\")",
|
|
"QScriptValue(\"-Infinity\")",
|
|
"QScriptValue(\"ciao\")",
|
|
"QScriptValue(QString::fromLatin1(\"ciao\"))",
|
|
"QScriptValue(QString(\"\"))",
|
|
"QScriptValue(QString())",
|
|
"QScriptValue(QString(\"0\"))",
|
|
"QScriptValue(QString(\"123\"))",
|
|
"QScriptValue(QString(\"12.4\"))",
|
|
"QScriptValue(0, QScriptValue::UndefinedValue)",
|
|
"QScriptValue(0, QScriptValue::NullValue)",
|
|
"QScriptValue(0, true)",
|
|
"QScriptValue(0, false)",
|
|
"QScriptValue(0, int(122))",
|
|
"QScriptValue(0, uint(124))",
|
|
"QScriptValue(0, 0)",
|
|
"QScriptValue(0, 0.0)",
|
|
"QScriptValue(0, 123.0)",
|
|
"QScriptValue(0, 6.37e-8)",
|
|
"QScriptValue(0, -6.37e-8)",
|
|
"QScriptValue(0, 0x43211234)",
|
|
"QScriptValue(0, 0x10000)",
|
|
"QScriptValue(0, 0x10001)",
|
|
"QScriptValue(0, qSNaN())",
|
|
"QScriptValue(0, qQNaN())",
|
|
"QScriptValue(0, qInf())",
|
|
"QScriptValue(0, -qInf())",
|
|
"QScriptValue(0, \"NaN\")",
|
|
"QScriptValue(0, \"Infinity\")",
|
|
"QScriptValue(0, \"-Infinity\")",
|
|
"QScriptValue(0, \"ciao\")",
|
|
"QScriptValue(0, QString::fromLatin1(\"ciao\"))",
|
|
"QScriptValue(0, QString(\"\"))",
|
|
"QScriptValue(0, QString())",
|
|
"QScriptValue(0, QString(\"0\"))",
|
|
"QScriptValue(0, QString(\"123\"))",
|
|
"QScriptValue(0, QString(\"12.3\"))",
|
|
"QScriptValue(engine, QScriptValue::UndefinedValue)",
|
|
"QScriptValue(engine, QScriptValue::NullValue)",
|
|
"QScriptValue(engine, true)",
|
|
"QScriptValue(engine, false)",
|
|
"QScriptValue(engine, int(122))",
|
|
"QScriptValue(engine, uint(124))",
|
|
"QScriptValue(engine, 0)",
|
|
"QScriptValue(engine, 0.0)",
|
|
"QScriptValue(engine, 123.0)",
|
|
"QScriptValue(engine, 6.37e-8)",
|
|
"QScriptValue(engine, -6.37e-8)",
|
|
"QScriptValue(engine, 0x43211234)",
|
|
"QScriptValue(engine, 0x10000)",
|
|
"QScriptValue(engine, 0x10001)",
|
|
"QScriptValue(engine, qSNaN())",
|
|
"QScriptValue(engine, qQNaN())",
|
|
"QScriptValue(engine, qInf())",
|
|
"QScriptValue(engine, -qInf())",
|
|
"QScriptValue(engine, \"NaN\")",
|
|
"QScriptValue(engine, \"Infinity\")",
|
|
"QScriptValue(engine, \"-Infinity\")",
|
|
"QScriptValue(engine, \"ciao\")",
|
|
"QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
|
|
"QScriptValue(engine, QString(\"\"))",
|
|
"QScriptValue(engine, QString())",
|
|
"QScriptValue(engine, QString(\"0\"))",
|
|
"QScriptValue(engine, QString(\"123\"))",
|
|
"QScriptValue(engine, QString(\"1.23\"))",
|
|
"engine->evaluate(\"[]\")",
|
|
"engine->evaluate(\"{}\")",
|
|
"engine->evaluate(\"Object.prototype\")",
|
|
"engine->evaluate(\"Date.prototype\")",
|
|
"engine->evaluate(\"Array.prototype\")",
|
|
"engine->evaluate(\"Function.prototype\")",
|
|
"engine->evaluate(\"Error.prototype\")",
|
|
"engine->evaluate(\"Object\")",
|
|
"engine->evaluate(\"Array\")",
|
|
"engine->evaluate(\"Number\")",
|
|
"engine->evaluate(\"Function\")",
|
|
"engine->evaluate(\"(function() { return 1; })\")",
|
|
"engine->evaluate(\"(function() { return 'ciao'; })\")",
|
|
"engine->evaluate(\"(function() { throw new Error('foo'); })\")",
|
|
"engine->evaluate(\"/foo/\")",
|
|
"engine->evaluate(\"new Object()\")",
|
|
"engine->evaluate(\"new Array()\")",
|
|
"engine->evaluate(\"new Error()\")",
|
|
"engine->evaluate(\"new Boolean(true)\")",
|
|
"engine->evaluate(\"new Boolean(false)\")",
|
|
"engine->evaluate(\"new Number(123)\")",
|
|
"engine->evaluate(\"new RegExp('foo', 'gim')\")",
|
|
"engine->evaluate(\"new String('ciao')\")",
|
|
"engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
|
|
"engine->evaluate(\"Undefined\")",
|
|
"engine->evaluate(\"Null\")",
|
|
"engine->evaluate(\"True\")",
|
|
"engine->evaluate(\"False\")",
|
|
"engine->evaluate(\"undefined\")",
|
|
"engine->evaluate(\"null\")",
|
|
"engine->evaluate(\"true\")",
|
|
"engine->evaluate(\"false\")",
|
|
"engine->evaluate(\"122\")",
|
|
"engine->evaluate(\"124\")",
|
|
"engine->evaluate(\"0\")",
|
|
"engine->evaluate(\"0.0\")",
|
|
"engine->evaluate(\"123.0\")",
|
|
"engine->evaluate(\"6.37e-8\")",
|
|
"engine->evaluate(\"-6.37e-8\")",
|
|
"engine->evaluate(\"0x43211234\")",
|
|
"engine->evaluate(\"0x10000\")",
|
|
"engine->evaluate(\"0x10001\")",
|
|
"engine->evaluate(\"NaN\")",
|
|
"engine->evaluate(\"Infinity\")",
|
|
"engine->evaluate(\"-Infinity\")",
|
|
"engine->evaluate(\"'ciao'\")",
|
|
"engine->evaluate(\"''\")",
|
|
"engine->evaluate(\"'0'\")",
|
|
"engine->evaluate(\"'123'\")",
|
|
"engine->evaluate(\"'12.4'\")",
|
|
"engine->nullValue()",
|
|
"engine->undefinedValue()",
|
|
"engine->newObject()",
|
|
"engine->newArray()",
|
|
"engine->newArray(10)",
|
|
"engine->newDate(QDateTime())",
|
|
"engine->newQMetaObject(&QObject::staticMetaObject)",
|
|
"engine->newRegExp(\"foo\", \"gim\")",
|
|
"engine->newVariant(QVariant())",
|
|
"engine->newVariant(QVariant(123))",
|
|
"engine->newVariant(QVariant(false))",
|
|
"engine->newQObject(0)",
|
|
"engine->newQObject(engine)"};
|
|
static const char *qscriptvalue_castQString_valueArray[] = {
|
|
"", "",
|
|
"", "true",
|
|
"false", "122",
|
|
"124", "0",
|
|
"0", "123",
|
|
"6.37e-8", "-6.37e-8",
|
|
"1126240820", "65536",
|
|
"65537", "NaN",
|
|
"NaN", "Infinity",
|
|
"-Infinity", "NaN",
|
|
"Infinity", "-Infinity",
|
|
"ciao", "ciao",
|
|
"", "",
|
|
"0", "123",
|
|
"12.4", "",
|
|
"", "true",
|
|
"false", "122",
|
|
"124", "0",
|
|
"0", "123",
|
|
"6.37e-8", "-6.37e-8",
|
|
"1126240820", "65536",
|
|
"65537", "NaN",
|
|
"NaN", "Infinity",
|
|
"-Infinity", "NaN",
|
|
"Infinity", "-Infinity",
|
|
"ciao", "ciao",
|
|
"", "",
|
|
"0", "123",
|
|
"12.3", "",
|
|
"", "true",
|
|
"false", "122",
|
|
"124", "0",
|
|
"0", "123",
|
|
"6.37e-8", "-6.37e-8",
|
|
"1126240820", "65536",
|
|
"65537", "NaN",
|
|
"NaN", "Infinity",
|
|
"-Infinity", "NaN",
|
|
"Infinity", "-Infinity",
|
|
"ciao", "ciao",
|
|
"", "",
|
|
"0", "123",
|
|
"1.23", "",
|
|
"", "[object Object]",
|
|
"Invalid Date", "",
|
|
"function () {\n [native code]\n}", "Error: Unknown error",
|
|
"function Object() {\n [native code]\n}", "function Array() {\n [native code]\n}",
|
|
"function Number() {\n [native code]\n}", "function Function() {\n [native code]\n}",
|
|
"function () { return 1; }", "function () { return 'ciao'; }",
|
|
"function () { throw new Error('foo'); }", "/foo/",
|
|
"[object Object]", "",
|
|
"Error: Unknown error", "true",
|
|
"false", "123",
|
|
"/foo/gim", "ciao",
|
|
"22", "ReferenceError: Can't find variable: Undefined",
|
|
"ReferenceError: Can't find variable: Null", "ReferenceError: Can't find variable: True",
|
|
"ReferenceError: Can't find variable: False", "",
|
|
"", "true",
|
|
"false", "122",
|
|
"124", "0",
|
|
"0", "123",
|
|
"6.37e-8", "-6.37e-8",
|
|
"1126240820", "65536",
|
|
"65537", "NaN",
|
|
"Infinity", "-Infinity",
|
|
"ciao", "",
|
|
"0", "123",
|
|
"12.4", "",
|
|
"", "[object Object]",
|
|
"", ",,,,,,,,,",
|
|
"Invalid Date", "[object QMetaObject]",
|
|
"/foo/gim", "undefined",
|
|
"123", "false",
|
|
"", "QScriptEngine(name = \"\")"};
|
|
void tst_QScriptValueGenerated::qscriptvalue_castQString_makeData(const char* expr)
|
|
{
|
|
static const QHash<QString, QString> valueMap =
|
|
charArraysToStringHash(qscriptvalue_castQString_tagArray, qscriptvalue_castQString_valueArray,
|
|
int(sizeof(qscriptvalue_castQString_tagArray) / sizeof(const char *)));
|
|
newRow(expr) << valueMap.value(expr);
|
|
}
|
|
|
|
void tst_QScriptValueGenerated::qscriptvalue_castQString_test(const char*, const QScriptValue& value)
|
|
{
|
|
QFETCH(QString, expected);
|
|
QCOMPARE(qscriptvalue_cast<QString>(value), expected);
|
|
QCOMPARE(qscriptvalue_cast<QString>(value), expected);
|
|
}
|
|
|
|
DEFINE_TEST_FUNCTION(qscriptvalue_castQString)
|
|
|
|
|
|
void tst_QScriptValueGenerated::qscriptvalue_castqsreal_initData()
|
|
{
|
|
QTest::addColumn<qsreal>("expected");
|
|
initScriptValues();
|
|
}
|
|
|
|
static const char *qscriptvalue_castqsreal_tagArray[] = {
|
|
"QScriptValue()",
|
|
"QScriptValue(QScriptValue::UndefinedValue)",
|
|
"QScriptValue(QScriptValue::NullValue)",
|
|
"QScriptValue(true)",
|
|
"QScriptValue(false)",
|
|
"QScriptValue(int(122))",
|
|
"QScriptValue(uint(124))",
|
|
"QScriptValue(0)",
|
|
"QScriptValue(0.0)",
|
|
"QScriptValue(123.0)",
|
|
"QScriptValue(6.37e-8)",
|
|
"QScriptValue(-6.37e-8)",
|
|
"QScriptValue(0x43211234)",
|
|
"QScriptValue(0x10000)",
|
|
"QScriptValue(0x10001)",
|
|
"QScriptValue(qSNaN())",
|
|
"QScriptValue(qQNaN())",
|
|
"QScriptValue(qInf())",
|
|
"QScriptValue(-qInf())",
|
|
"QScriptValue(\"NaN\")",
|
|
"QScriptValue(\"Infinity\")",
|
|
"QScriptValue(\"-Infinity\")",
|
|
"QScriptValue(\"ciao\")",
|
|
"QScriptValue(QString::fromLatin1(\"ciao\"))",
|
|
"QScriptValue(QString(\"\"))",
|
|
"QScriptValue(QString())",
|
|
"QScriptValue(QString(\"0\"))",
|
|
"QScriptValue(QString(\"123\"))",
|
|
"QScriptValue(QString(\"12.4\"))",
|
|
"QScriptValue(0, QScriptValue::UndefinedValue)",
|
|
"QScriptValue(0, QScriptValue::NullValue)",
|
|
"QScriptValue(0, true)",
|
|
"QScriptValue(0, false)",
|
|
"QScriptValue(0, int(122))",
|
|
"QScriptValue(0, uint(124))",
|
|
"QScriptValue(0, 0)",
|
|
"QScriptValue(0, 0.0)",
|
|
"QScriptValue(0, 123.0)",
|
|
"QScriptValue(0, 6.37e-8)",
|
|
"QScriptValue(0, -6.37e-8)",
|
|
"QScriptValue(0, 0x43211234)",
|
|
"QScriptValue(0, 0x10000)",
|
|
"QScriptValue(0, 0x10001)",
|
|
"QScriptValue(0, qSNaN())",
|
|
"QScriptValue(0, qQNaN())",
|
|
"QScriptValue(0, qInf())",
|
|
"QScriptValue(0, -qInf())",
|
|
"QScriptValue(0, \"NaN\")",
|
|
"QScriptValue(0, \"Infinity\")",
|
|
"QScriptValue(0, \"-Infinity\")",
|
|
"QScriptValue(0, \"ciao\")",
|
|
"QScriptValue(0, QString::fromLatin1(\"ciao\"))",
|
|
"QScriptValue(0, QString(\"\"))",
|
|
"QScriptValue(0, QString())",
|
|
"QScriptValue(0, QString(\"0\"))",
|
|
"QScriptValue(0, QString(\"123\"))",
|
|
"QScriptValue(0, QString(\"12.3\"))",
|
|
"QScriptValue(engine, QScriptValue::UndefinedValue)",
|
|
"QScriptValue(engine, QScriptValue::NullValue)",
|
|
"QScriptValue(engine, true)",
|
|
"QScriptValue(engine, false)",
|
|
"QScriptValue(engine, int(122))",
|
|
"QScriptValue(engine, uint(124))",
|
|
"QScriptValue(engine, 0)",
|
|
"QScriptValue(engine, 0.0)",
|
|
"QScriptValue(engine, 123.0)",
|
|
"QScriptValue(engine, 6.37e-8)",
|
|
"QScriptValue(engine, -6.37e-8)",
|
|
"QScriptValue(engine, 0x43211234)",
|
|
"QScriptValue(engine, 0x10000)",
|
|
"QScriptValue(engine, 0x10001)",
|
|
"QScriptValue(engine, qSNaN())",
|
|
"QScriptValue(engine, qQNaN())",
|
|
"QScriptValue(engine, qInf())",
|
|
"QScriptValue(engine, -qInf())",
|
|
"QScriptValue(engine, \"NaN\")",
|
|
"QScriptValue(engine, \"Infinity\")",
|
|
"QScriptValue(engine, \"-Infinity\")",
|
|
"QScriptValue(engine, \"ciao\")",
|
|
"QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
|
|
"QScriptValue(engine, QString(\"\"))",
|
|
"QScriptValue(engine, QString())",
|
|
"QScriptValue(engine, QString(\"0\"))",
|
|
"QScriptValue(engine, QString(\"123\"))",
|
|
"QScriptValue(engine, QString(\"1.23\"))",
|
|
"engine->evaluate(\"[]\")",
|
|
"engine->evaluate(\"{}\")",
|
|
"engine->evaluate(\"Object.prototype\")",
|
|
"engine->evaluate(\"Date.prototype\")",
|
|
"engine->evaluate(\"Array.prototype\")",
|
|
"engine->evaluate(\"Function.prototype\")",
|
|
"engine->evaluate(\"Error.prototype\")",
|
|
"engine->evaluate(\"Object\")",
|
|
"engine->evaluate(\"Array\")",
|
|
"engine->evaluate(\"Number\")",
|
|
"engine->evaluate(\"Function\")",
|
|
"engine->evaluate(\"(function() { return 1; })\")",
|
|
"engine->evaluate(\"(function() { return 'ciao'; })\")",
|
|
"engine->evaluate(\"(function() { throw new Error('foo'); })\")",
|
|
"engine->evaluate(\"/foo/\")",
|
|
"engine->evaluate(\"new Object()\")",
|
|
"engine->evaluate(\"new Array()\")",
|
|
"engine->evaluate(\"new Error()\")",
|
|
"engine->evaluate(\"new Boolean(true)\")",
|
|
"engine->evaluate(\"new Boolean(false)\")",
|
|
"engine->evaluate(\"new Number(123)\")",
|
|
"engine->evaluate(\"new RegExp('foo', 'gim')\")",
|
|
"engine->evaluate(\"new String('ciao')\")",
|
|
"engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
|
|
"engine->evaluate(\"Undefined\")",
|
|
"engine->evaluate(\"Null\")",
|
|
"engine->evaluate(\"True\")",
|
|
"engine->evaluate(\"False\")",
|
|
"engine->evaluate(\"undefined\")",
|
|
"engine->evaluate(\"null\")",
|
|
"engine->evaluate(\"true\")",
|
|
"engine->evaluate(\"false\")",
|
|
"engine->evaluate(\"122\")",
|
|
"engine->evaluate(\"124\")",
|
|
"engine->evaluate(\"0\")",
|
|
"engine->evaluate(\"0.0\")",
|
|
"engine->evaluate(\"123.0\")",
|
|
"engine->evaluate(\"6.37e-8\")",
|
|
"engine->evaluate(\"-6.37e-8\")",
|
|
"engine->evaluate(\"0x43211234\")",
|
|
"engine->evaluate(\"0x10000\")",
|
|
"engine->evaluate(\"0x10001\")",
|
|
"engine->evaluate(\"NaN\")",
|
|
"engine->evaluate(\"Infinity\")",
|
|
"engine->evaluate(\"-Infinity\")",
|
|
"engine->evaluate(\"'ciao'\")",
|
|
"engine->evaluate(\"''\")",
|
|
"engine->evaluate(\"'0'\")",
|
|
"engine->evaluate(\"'123'\")",
|
|
"engine->evaluate(\"'12.4'\")",
|
|
"engine->nullValue()",
|
|
"engine->undefinedValue()",
|
|
"engine->newObject()",
|
|
"engine->newArray()",
|
|
"engine->newArray(10)",
|
|
"engine->newDate(QDateTime())",
|
|
"engine->newQMetaObject(&QObject::staticMetaObject)",
|
|
"engine->newRegExp(\"foo\", \"gim\")",
|
|
"engine->newVariant(QVariant())",
|
|
"engine->newVariant(QVariant(123))",
|
|
"engine->newVariant(QVariant(false))",
|
|
"engine->newQObject(0)",
|
|
"engine->newQObject(engine)"};
|
|
static qsreal qscriptvalue_castqsreal_valueArray[] = {
|
|
0, qQNaN(), 0, 1, 0, 122, 124, 0, 0, 123,
|
|
6.369999999999999e-08, -6.369999999999999e-08, 1126240820, 65536, 65537, qQNaN(), qQNaN(), qInf(), qInf(), qQNaN(),
|
|
qInf(), qInf(), qQNaN(), qQNaN(), 0, 0, 0, 123, 12.4, qQNaN(),
|
|
0, 1, 0, 122, 124, 0, 0, 123, 6.369999999999999e-08, -6.369999999999999e-08,
|
|
1126240820, 65536, 65537, qQNaN(), qQNaN(), qInf(), qInf(), qQNaN(), qInf(), qInf(),
|
|
qQNaN(), qQNaN(), 0, 0, 0, 123, 12.3, qQNaN(), 0, 1,
|
|
0, 122, 124, 0, 0, 123, 6.369999999999999e-08, -6.369999999999999e-08, 1126240820, 65536,
|
|
65537, qQNaN(), qQNaN(), qInf(), qInf(), qQNaN(), qInf(), qInf(), qQNaN(), qQNaN(),
|
|
0, 0, 0, 123, 1.23, 0, qQNaN(), qQNaN(), qQNaN(), 0,
|
|
qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(),
|
|
qQNaN(), 0, qQNaN(), 1, 0, 123, qQNaN(), qQNaN(), 22, qQNaN(),
|
|
qQNaN(), qQNaN(), qQNaN(), qQNaN(), 0, 1, 0, 122, 124, 0,
|
|
0, 123, 6.369999999999999e-08, -6.369999999999999e-08, 1126240820, 65536, 65537, qQNaN(), qInf(), qInf(),
|
|
qQNaN(), 0, 0, 123, 12.4, 0, qQNaN(), qQNaN(), 0, qQNaN(),
|
|
qQNaN(), qQNaN(), qQNaN(), qQNaN(), 123, 0, 0, qQNaN()};
|
|
void tst_QScriptValueGenerated::qscriptvalue_castqsreal_makeData(const char* expr)
|
|
{
|
|
static const QHash<QString, qsreal> value =
|
|
charValueArraysToHash(qscriptvalue_castqsreal_tagArray, qscriptvalue_castqsreal_valueArray,
|
|
int(sizeof(qscriptvalue_castqsreal_tagArray) / sizeof(const char *)));
|
|
newRow(expr) << value.value(expr);
|
|
}
|
|
|
|
void tst_QScriptValueGenerated::qscriptvalue_castqsreal_test(const char*, const QScriptValue& value)
|
|
{
|
|
QFETCH(qsreal, expected);
|
|
if (qIsNaN(expected)) {
|
|
QVERIFY(qIsNaN(qscriptvalue_cast<qsreal>(value)));
|
|
QVERIFY(qIsNaN(qscriptvalue_cast<qsreal>(value)));
|
|
return;
|
|
}
|
|
if (qIsInf(expected)) {
|
|
QVERIFY(qIsInf(qscriptvalue_cast<qsreal>(value)));
|
|
QVERIFY(qIsInf(qscriptvalue_cast<qsreal>(value)));
|
|
return;
|
|
}
|
|
QCOMPARE(qscriptvalue_cast<qsreal>(value), expected);
|
|
QCOMPARE(qscriptvalue_cast<qsreal>(value), expected);
|
|
}
|
|
|
|
DEFINE_TEST_FUNCTION(qscriptvalue_castqsreal)
|
|
|
|
|
|
void tst_QScriptValueGenerated::qscriptvalue_castbool_initData()
|
|
{
|
|
QTest::addColumn<bool>("expected");
|
|
initScriptValues();
|
|
}
|
|
|
|
static const char *qscriptvalue_castbool_tagArray[] = {
|
|
"QScriptValue()",
|
|
"QScriptValue(QScriptValue::UndefinedValue)",
|
|
"QScriptValue(QScriptValue::NullValue)",
|
|
"QScriptValue(true)",
|
|
"QScriptValue(false)",
|
|
"QScriptValue(int(122))",
|
|
"QScriptValue(uint(124))",
|
|
"QScriptValue(0)",
|
|
"QScriptValue(0.0)",
|
|
"QScriptValue(123.0)",
|
|
"QScriptValue(6.37e-8)",
|
|
"QScriptValue(-6.37e-8)",
|
|
"QScriptValue(0x43211234)",
|
|
"QScriptValue(0x10000)",
|
|
"QScriptValue(0x10001)",
|
|
"QScriptValue(qSNaN())",
|
|
"QScriptValue(qQNaN())",
|
|
"QScriptValue(qInf())",
|
|
"QScriptValue(-qInf())",
|
|
"QScriptValue(\"NaN\")",
|
|
"QScriptValue(\"Infinity\")",
|
|
"QScriptValue(\"-Infinity\")",
|
|
"QScriptValue(\"ciao\")",
|
|
"QScriptValue(QString::fromLatin1(\"ciao\"))",
|
|
"QScriptValue(QString(\"\"))",
|
|
"QScriptValue(QString())",
|
|
"QScriptValue(QString(\"0\"))",
|
|
"QScriptValue(QString(\"123\"))",
|
|
"QScriptValue(QString(\"12.4\"))",
|
|
"QScriptValue(0, QScriptValue::UndefinedValue)",
|
|
"QScriptValue(0, QScriptValue::NullValue)",
|
|
"QScriptValue(0, true)",
|
|
"QScriptValue(0, false)",
|
|
"QScriptValue(0, int(122))",
|
|
"QScriptValue(0, uint(124))",
|
|
"QScriptValue(0, 0)",
|
|
"QScriptValue(0, 0.0)",
|
|
"QScriptValue(0, 123.0)",
|
|
"QScriptValue(0, 6.37e-8)",
|
|
"QScriptValue(0, -6.37e-8)",
|
|
"QScriptValue(0, 0x43211234)",
|
|
"QScriptValue(0, 0x10000)",
|
|
"QScriptValue(0, 0x10001)",
|
|
"QScriptValue(0, qSNaN())",
|
|
"QScriptValue(0, qQNaN())",
|
|
"QScriptValue(0, qInf())",
|
|
"QScriptValue(0, -qInf())",
|
|
"QScriptValue(0, \"NaN\")",
|
|
"QScriptValue(0, \"Infinity\")",
|
|
"QScriptValue(0, \"-Infinity\")",
|
|
"QScriptValue(0, \"ciao\")",
|
|
"QScriptValue(0, QString::fromLatin1(\"ciao\"))",
|
|
"QScriptValue(0, QString(\"\"))",
|
|
"QScriptValue(0, QString())",
|
|
"QScriptValue(0, QString(\"0\"))",
|
|
"QScriptValue(0, QString(\"123\"))",
|
|
"QScriptValue(0, QString(\"12.3\"))",
|
|
"QScriptValue(engine, QScriptValue::UndefinedValue)",
|
|
"QScriptValue(engine, QScriptValue::NullValue)",
|
|
"QScriptValue(engine, true)",
|
|
"QScriptValue(engine, false)",
|
|
"QScriptValue(engine, int(122))",
|
|
"QScriptValue(engine, uint(124))",
|
|
"QScriptValue(engine, 0)",
|
|
"QScriptValue(engine, 0.0)",
|
|
"QScriptValue(engine, 123.0)",
|
|
"QScriptValue(engine, 6.37e-8)",
|
|
"QScriptValue(engine, -6.37e-8)",
|
|
"QScriptValue(engine, 0x43211234)",
|
|
"QScriptValue(engine, 0x10000)",
|
|
"QScriptValue(engine, 0x10001)",
|
|
"QScriptValue(engine, qSNaN())",
|
|
"QScriptValue(engine, qQNaN())",
|
|
"QScriptValue(engine, qInf())",
|
|
"QScriptValue(engine, -qInf())",
|
|
"QScriptValue(engine, \"NaN\")",
|
|
"QScriptValue(engine, \"Infinity\")",
|
|
"QScriptValue(engine, \"-Infinity\")",
|
|
"QScriptValue(engine, \"ciao\")",
|
|
"QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
|
|
"QScriptValue(engine, QString(\"\"))",
|
|
"QScriptValue(engine, QString())",
|
|
"QScriptValue(engine, QString(\"0\"))",
|
|
"QScriptValue(engine, QString(\"123\"))",
|
|
"QScriptValue(engine, QString(\"1.23\"))",
|
|
"engine->evaluate(\"[]\")",
|
|
"engine->evaluate(\"{}\")",
|
|
"engine->evaluate(\"Object.prototype\")",
|
|
"engine->evaluate(\"Date.prototype\")",
|
|
"engine->evaluate(\"Array.prototype\")",
|
|
"engine->evaluate(\"Function.prototype\")",
|
|
"engine->evaluate(\"Error.prototype\")",
|
|
"engine->evaluate(\"Object\")",
|
|
"engine->evaluate(\"Array\")",
|
|
"engine->evaluate(\"Number\")",
|
|
"engine->evaluate(\"Function\")",
|
|
"engine->evaluate(\"(function() { return 1; })\")",
|
|
"engine->evaluate(\"(function() { return 'ciao'; })\")",
|
|
"engine->evaluate(\"(function() { throw new Error('foo'); })\")",
|
|
"engine->evaluate(\"/foo/\")",
|
|
"engine->evaluate(\"new Object()\")",
|
|
"engine->evaluate(\"new Array()\")",
|
|
"engine->evaluate(\"new Error()\")",
|
|
"engine->evaluate(\"new Boolean(true)\")",
|
|
"engine->evaluate(\"new Boolean(false)\")",
|
|
"engine->evaluate(\"new Number(123)\")",
|
|
"engine->evaluate(\"new RegExp('foo', 'gim')\")",
|
|
"engine->evaluate(\"new String('ciao')\")",
|
|
"engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
|
|
"engine->evaluate(\"Undefined\")",
|
|
"engine->evaluate(\"Null\")",
|
|
"engine->evaluate(\"True\")",
|
|
"engine->evaluate(\"False\")",
|
|
"engine->evaluate(\"undefined\")",
|
|
"engine->evaluate(\"null\")",
|
|
"engine->evaluate(\"true\")",
|
|
"engine->evaluate(\"false\")",
|
|
"engine->evaluate(\"122\")",
|
|
"engine->evaluate(\"124\")",
|
|
"engine->evaluate(\"0\")",
|
|
"engine->evaluate(\"0.0\")",
|
|
"engine->evaluate(\"123.0\")",
|
|
"engine->evaluate(\"6.37e-8\")",
|
|
"engine->evaluate(\"-6.37e-8\")",
|
|
"engine->evaluate(\"0x43211234\")",
|
|
"engine->evaluate(\"0x10000\")",
|
|
"engine->evaluate(\"0x10001\")",
|
|
"engine->evaluate(\"NaN\")",
|
|
"engine->evaluate(\"Infinity\")",
|
|
"engine->evaluate(\"-Infinity\")",
|
|
"engine->evaluate(\"'ciao'\")",
|
|
"engine->evaluate(\"''\")",
|
|
"engine->evaluate(\"'0'\")",
|
|
"engine->evaluate(\"'123'\")",
|
|
"engine->evaluate(\"'12.4'\")",
|
|
"engine->nullValue()",
|
|
"engine->undefinedValue()",
|
|
"engine->newObject()",
|
|
"engine->newArray()",
|
|
"engine->newArray(10)",
|
|
"engine->newDate(QDateTime())",
|
|
"engine->newQMetaObject(&QObject::staticMetaObject)",
|
|
"engine->newRegExp(\"foo\", \"gim\")",
|
|
"engine->newVariant(QVariant())",
|
|
"engine->newVariant(QVariant(123))",
|
|
"engine->newVariant(QVariant(false))",
|
|
"engine->newQObject(0)",
|
|
"engine->newQObject(engine)"};
|
|
static bool qscriptvalue_castbool_valueArray[] = {
|
|
false, false,
|
|
false, true,
|
|
false, true,
|
|
true, false,
|
|
false, true,
|
|
true, true,
|
|
true, true,
|
|
true, false,
|
|
false, true,
|
|
true, true,
|
|
true, true,
|
|
true, true,
|
|
false, false,
|
|
true, true,
|
|
true, false,
|
|
false, true,
|
|
false, true,
|
|
true, false,
|
|
false, true,
|
|
true, true,
|
|
true, true,
|
|
true, false,
|
|
false, true,
|
|
true, true,
|
|
true, true,
|
|
true, true,
|
|
false, false,
|
|
true, true,
|
|
true, false,
|
|
false, true,
|
|
false, true,
|
|
true, false,
|
|
false, true,
|
|
true, true,
|
|
true, true,
|
|
true, false,
|
|
false, true,
|
|
true, true,
|
|
true, true,
|
|
true, true,
|
|
false, false,
|
|
true, true,
|
|
true, true,
|
|
false, true,
|
|
true, true,
|
|
true, true,
|
|
true, true,
|
|
true, true,
|
|
true, true,
|
|
true, true,
|
|
true, true,
|
|
true, true,
|
|
true, true,
|
|
true, true,
|
|
true, true,
|
|
true, true,
|
|
true, false,
|
|
false, true,
|
|
false, true,
|
|
true, false,
|
|
false, true,
|
|
true, true,
|
|
true, true,
|
|
true, false,
|
|
true, true,
|
|
true, false,
|
|
true, true,
|
|
true, false,
|
|
false, true,
|
|
true, true,
|
|
true, true,
|
|
true, true,
|
|
true, true,
|
|
false, true};
|
|
void tst_QScriptValueGenerated::qscriptvalue_castbool_makeData(const char* expr)
|
|
{
|
|
static const QHash<QString, bool> value =
|
|
charValueArraysToHash(qscriptvalue_castbool_tagArray, qscriptvalue_castbool_valueArray,
|
|
int(sizeof(qscriptvalue_castqsreal_tagArray) / sizeof(const char *)));
|
|
newRow(expr) << value.value(expr);
|
|
}
|
|
|
|
void tst_QScriptValueGenerated::qscriptvalue_castbool_test(const char*, const QScriptValue& value)
|
|
{
|
|
QFETCH(bool, expected);
|
|
QCOMPARE(qscriptvalue_cast<bool>(value), expected);
|
|
QCOMPARE(qscriptvalue_cast<bool>(value), expected);
|
|
}
|
|
|
|
DEFINE_TEST_FUNCTION(qscriptvalue_castbool)
|
|
|
|
|
|
void tst_QScriptValueGenerated::qscriptvalue_castqint32_initData()
|
|
{
|
|
QTest::addColumn<qint32>("expected");
|
|
initScriptValues();
|
|
}
|
|
|
|
static const char *qscriptvalue_castqint32_tagArray[] = {
|
|
"QScriptValue()",
|
|
"QScriptValue(QScriptValue::UndefinedValue)",
|
|
"QScriptValue(QScriptValue::NullValue)",
|
|
"QScriptValue(true)",
|
|
"QScriptValue(false)",
|
|
"QScriptValue(int(122))",
|
|
"QScriptValue(uint(124))",
|
|
"QScriptValue(0)",
|
|
"QScriptValue(0.0)",
|
|
"QScriptValue(123.0)",
|
|
"QScriptValue(6.37e-8)",
|
|
"QScriptValue(-6.37e-8)",
|
|
"QScriptValue(0x43211234)",
|
|
"QScriptValue(0x10000)",
|
|
"QScriptValue(0x10001)",
|
|
"QScriptValue(qSNaN())",
|
|
"QScriptValue(qQNaN())",
|
|
"QScriptValue(qInf())",
|
|
"QScriptValue(-qInf())",
|
|
"QScriptValue(\"NaN\")",
|
|
"QScriptValue(\"Infinity\")",
|
|
"QScriptValue(\"-Infinity\")",
|
|
"QScriptValue(\"ciao\")",
|
|
"QScriptValue(QString::fromLatin1(\"ciao\"))",
|
|
"QScriptValue(QString(\"\"))",
|
|
"QScriptValue(QString())",
|
|
"QScriptValue(QString(\"0\"))",
|
|
"QScriptValue(QString(\"123\"))",
|
|
"QScriptValue(QString(\"12.4\"))",
|
|
"QScriptValue(0, QScriptValue::UndefinedValue)",
|
|
"QScriptValue(0, QScriptValue::NullValue)",
|
|
"QScriptValue(0, true)",
|
|
"QScriptValue(0, false)",
|
|
"QScriptValue(0, int(122))",
|
|
"QScriptValue(0, uint(124))",
|
|
"QScriptValue(0, 0)",
|
|
"QScriptValue(0, 0.0)",
|
|
"QScriptValue(0, 123.0)",
|
|
"QScriptValue(0, 6.37e-8)",
|
|
"QScriptValue(0, -6.37e-8)",
|
|
"QScriptValue(0, 0x43211234)",
|
|
"QScriptValue(0, 0x10000)",
|
|
"QScriptValue(0, 0x10001)",
|
|
"QScriptValue(0, qSNaN())",
|
|
"QScriptValue(0, qQNaN())",
|
|
"QScriptValue(0, qInf())",
|
|
"QScriptValue(0, -qInf())",
|
|
"QScriptValue(0, \"NaN\")",
|
|
"QScriptValue(0, \"Infinity\")",
|
|
"QScriptValue(0, \"-Infinity\")",
|
|
"QScriptValue(0, \"ciao\")",
|
|
"QScriptValue(0, QString::fromLatin1(\"ciao\"))",
|
|
"QScriptValue(0, QString(\"\"))",
|
|
"QScriptValue(0, QString())",
|
|
"QScriptValue(0, QString(\"0\"))",
|
|
"QScriptValue(0, QString(\"123\"))",
|
|
"QScriptValue(0, QString(\"12.3\"))",
|
|
"QScriptValue(engine, QScriptValue::UndefinedValue)",
|
|
"QScriptValue(engine, QScriptValue::NullValue)",
|
|
"QScriptValue(engine, true)",
|
|
"QScriptValue(engine, false)",
|
|
"QScriptValue(engine, int(122))",
|
|
"QScriptValue(engine, uint(124))",
|
|
"QScriptValue(engine, 0)",
|
|
"QScriptValue(engine, 0.0)",
|
|
"QScriptValue(engine, 123.0)",
|
|
"QScriptValue(engine, 6.37e-8)",
|
|
"QScriptValue(engine, -6.37e-8)",
|
|
"QScriptValue(engine, 0x43211234)",
|
|
"QScriptValue(engine, 0x10000)",
|
|
"QScriptValue(engine, 0x10001)",
|
|
"QScriptValue(engine, qSNaN())",
|
|
"QScriptValue(engine, qQNaN())",
|
|
"QScriptValue(engine, qInf())",
|
|
"QScriptValue(engine, -qInf())",
|
|
"QScriptValue(engine, \"NaN\")",
|
|
"QScriptValue(engine, \"Infinity\")",
|
|
"QScriptValue(engine, \"-Infinity\")",
|
|
"QScriptValue(engine, \"ciao\")",
|
|
"QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
|
|
"QScriptValue(engine, QString(\"\"))",
|
|
"QScriptValue(engine, QString())",
|
|
"QScriptValue(engine, QString(\"0\"))",
|
|
"QScriptValue(engine, QString(\"123\"))",
|
|
"QScriptValue(engine, QString(\"1.23\"))",
|
|
"engine->evaluate(\"[]\")",
|
|
"engine->evaluate(\"{}\")",
|
|
"engine->evaluate(\"Object.prototype\")",
|
|
"engine->evaluate(\"Date.prototype\")",
|
|
"engine->evaluate(\"Array.prototype\")",
|
|
"engine->evaluate(\"Function.prototype\")",
|
|
"engine->evaluate(\"Error.prototype\")",
|
|
"engine->evaluate(\"Object\")",
|
|
"engine->evaluate(\"Array\")",
|
|
"engine->evaluate(\"Number\")",
|
|
"engine->evaluate(\"Function\")",
|
|
"engine->evaluate(\"(function() { return 1; })\")",
|
|
"engine->evaluate(\"(function() { return 'ciao'; })\")",
|
|
"engine->evaluate(\"(function() { throw new Error('foo'); })\")",
|
|
"engine->evaluate(\"/foo/\")",
|
|
"engine->evaluate(\"new Object()\")",
|
|
"engine->evaluate(\"new Array()\")",
|
|
"engine->evaluate(\"new Error()\")",
|
|
"engine->evaluate(\"new Boolean(true)\")",
|
|
"engine->evaluate(\"new Boolean(false)\")",
|
|
"engine->evaluate(\"new Number(123)\")",
|
|
"engine->evaluate(\"new RegExp('foo', 'gim')\")",
|
|
"engine->evaluate(\"new String('ciao')\")",
|
|
"engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
|
|
"engine->evaluate(\"Undefined\")",
|
|
"engine->evaluate(\"Null\")",
|
|
"engine->evaluate(\"True\")",
|
|
"engine->evaluate(\"False\")",
|
|
"engine->evaluate(\"undefined\")",
|
|
"engine->evaluate(\"null\")",
|
|
"engine->evaluate(\"true\")",
|
|
"engine->evaluate(\"false\")",
|
|
"engine->evaluate(\"122\")",
|
|
"engine->evaluate(\"124\")",
|
|
"engine->evaluate(\"0\")",
|
|
"engine->evaluate(\"0.0\")",
|
|
"engine->evaluate(\"123.0\")",
|
|
"engine->evaluate(\"6.37e-8\")",
|
|
"engine->evaluate(\"-6.37e-8\")",
|
|
"engine->evaluate(\"0x43211234\")",
|
|
"engine->evaluate(\"0x10000\")",
|
|
"engine->evaluate(\"0x10001\")",
|
|
"engine->evaluate(\"NaN\")",
|
|
"engine->evaluate(\"Infinity\")",
|
|
"engine->evaluate(\"-Infinity\")",
|
|
"engine->evaluate(\"'ciao'\")",
|
|
"engine->evaluate(\"''\")",
|
|
"engine->evaluate(\"'0'\")",
|
|
"engine->evaluate(\"'123'\")",
|
|
"engine->evaluate(\"'12.4'\")",
|
|
"engine->nullValue()",
|
|
"engine->undefinedValue()",
|
|
"engine->newObject()",
|
|
"engine->newArray()",
|
|
"engine->newArray(10)",
|
|
"engine->newDate(QDateTime())",
|
|
"engine->newQMetaObject(&QObject::staticMetaObject)",
|
|
"engine->newRegExp(\"foo\", \"gim\")",
|
|
"engine->newVariant(QVariant())",
|
|
"engine->newVariant(QVariant(123))",
|
|
"engine->newVariant(QVariant(false))",
|
|
"engine->newQObject(0)",
|
|
"engine->newQObject(engine)"};
|
|
static qint32 qscriptvalue_castqint32_valueArray[] = {
|
|
0, 0,
|
|
0, 1,
|
|
0, 122,
|
|
124, 0,
|
|
0, 123,
|
|
0, 0,
|
|
1126240820, 65536,
|
|
65537, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 123,
|
|
12, 0,
|
|
0, 1,
|
|
0, 122,
|
|
124, 0,
|
|
0, 123,
|
|
0, 0,
|
|
1126240820, 65536,
|
|
65537, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 123,
|
|
12, 0,
|
|
0, 1,
|
|
0, 122,
|
|
124, 0,
|
|
0, 123,
|
|
0, 0,
|
|
1126240820, 65536,
|
|
65537, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 123,
|
|
1, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 1,
|
|
0, 123,
|
|
0, 0,
|
|
22, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 1,
|
|
0, 122,
|
|
124, 0,
|
|
0, 123,
|
|
0, 0,
|
|
1126240820, 65536,
|
|
65537, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 123,
|
|
12, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
123, 0,
|
|
0, 0};
|
|
void tst_QScriptValueGenerated::qscriptvalue_castqint32_makeData(const char* expr)
|
|
{
|
|
static const QHash<QString, qint32> value =
|
|
charValueArraysToHash(qscriptvalue_castqint32_tagArray, qscriptvalue_castqint32_valueArray,
|
|
int(sizeof(qscriptvalue_castqint32_tagArray) / sizeof(const char *)));
|
|
newRow(expr) << value.value(expr);
|
|
}
|
|
|
|
void tst_QScriptValueGenerated::qscriptvalue_castqint32_test(const char*, const QScriptValue& value)
|
|
{
|
|
QFETCH(qint32, expected);
|
|
QCOMPARE(qscriptvalue_cast<qint32>(value), expected);
|
|
QCOMPARE(qscriptvalue_cast<qint32>(value), expected);
|
|
}
|
|
|
|
DEFINE_TEST_FUNCTION(qscriptvalue_castqint32)
|
|
|
|
|
|
void tst_QScriptValueGenerated::qscriptvalue_castquint32_initData()
|
|
{
|
|
QTest::addColumn<quint32>("expected");
|
|
initScriptValues();
|
|
}
|
|
|
|
static const char *qscriptvalue_castquint32_tagArray[] = {
|
|
"QScriptValue()",
|
|
"QScriptValue(QScriptValue::UndefinedValue)",
|
|
"QScriptValue(QScriptValue::NullValue)",
|
|
"QScriptValue(true)",
|
|
"QScriptValue(false)",
|
|
"QScriptValue(int(122))",
|
|
"QScriptValue(uint(124))",
|
|
"QScriptValue(0)",
|
|
"QScriptValue(0.0)",
|
|
"QScriptValue(123.0)",
|
|
"QScriptValue(6.37e-8)",
|
|
"QScriptValue(-6.37e-8)",
|
|
"QScriptValue(0x43211234)",
|
|
"QScriptValue(0x10000)",
|
|
"QScriptValue(0x10001)",
|
|
"QScriptValue(qSNaN())",
|
|
"QScriptValue(qQNaN())",
|
|
"QScriptValue(qInf())",
|
|
"QScriptValue(-qInf())",
|
|
"QScriptValue(\"NaN\")",
|
|
"QScriptValue(\"Infinity\")",
|
|
"QScriptValue(\"-Infinity\")",
|
|
"QScriptValue(\"ciao\")",
|
|
"QScriptValue(QString::fromLatin1(\"ciao\"))",
|
|
"QScriptValue(QString(\"\"))",
|
|
"QScriptValue(QString())",
|
|
"QScriptValue(QString(\"0\"))",
|
|
"QScriptValue(QString(\"123\"))",
|
|
"QScriptValue(QString(\"12.4\"))",
|
|
"QScriptValue(0, QScriptValue::UndefinedValue)",
|
|
"QScriptValue(0, QScriptValue::NullValue)",
|
|
"QScriptValue(0, true)",
|
|
"QScriptValue(0, false)",
|
|
"QScriptValue(0, int(122))",
|
|
"QScriptValue(0, uint(124))",
|
|
"QScriptValue(0, 0)",
|
|
"QScriptValue(0, 0.0)",
|
|
"QScriptValue(0, 123.0)",
|
|
"QScriptValue(0, 6.37e-8)",
|
|
"QScriptValue(0, -6.37e-8)",
|
|
"QScriptValue(0, 0x43211234)",
|
|
"QScriptValue(0, 0x10000)",
|
|
"QScriptValue(0, 0x10001)",
|
|
"QScriptValue(0, qSNaN())",
|
|
"QScriptValue(0, qQNaN())",
|
|
"QScriptValue(0, qInf())",
|
|
"QScriptValue(0, -qInf())",
|
|
"QScriptValue(0, \"NaN\")",
|
|
"QScriptValue(0, \"Infinity\")",
|
|
"QScriptValue(0, \"-Infinity\")",
|
|
"QScriptValue(0, \"ciao\")",
|
|
"QScriptValue(0, QString::fromLatin1(\"ciao\"))",
|
|
"QScriptValue(0, QString(\"\"))",
|
|
"QScriptValue(0, QString())",
|
|
"QScriptValue(0, QString(\"0\"))",
|
|
"QScriptValue(0, QString(\"123\"))",
|
|
"QScriptValue(0, QString(\"12.3\"))",
|
|
"QScriptValue(engine, QScriptValue::UndefinedValue)",
|
|
"QScriptValue(engine, QScriptValue::NullValue)",
|
|
"QScriptValue(engine, true)",
|
|
"QScriptValue(engine, false)",
|
|
"QScriptValue(engine, int(122))",
|
|
"QScriptValue(engine, uint(124))",
|
|
"QScriptValue(engine, 0)",
|
|
"QScriptValue(engine, 0.0)",
|
|
"QScriptValue(engine, 123.0)",
|
|
"QScriptValue(engine, 6.37e-8)",
|
|
"QScriptValue(engine, -6.37e-8)",
|
|
"QScriptValue(engine, 0x43211234)",
|
|
"QScriptValue(engine, 0x10000)",
|
|
"QScriptValue(engine, 0x10001)",
|
|
"QScriptValue(engine, qSNaN())",
|
|
"QScriptValue(engine, qQNaN())",
|
|
"QScriptValue(engine, qInf())",
|
|
"QScriptValue(engine, -qInf())",
|
|
"QScriptValue(engine, \"NaN\")",
|
|
"QScriptValue(engine, \"Infinity\")",
|
|
"QScriptValue(engine, \"-Infinity\")",
|
|
"QScriptValue(engine, \"ciao\")",
|
|
"QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
|
|
"QScriptValue(engine, QString(\"\"))",
|
|
"QScriptValue(engine, QString())",
|
|
"QScriptValue(engine, QString(\"0\"))",
|
|
"QScriptValue(engine, QString(\"123\"))",
|
|
"QScriptValue(engine, QString(\"1.23\"))",
|
|
"engine->evaluate(\"[]\")",
|
|
"engine->evaluate(\"{}\")",
|
|
"engine->evaluate(\"Object.prototype\")",
|
|
"engine->evaluate(\"Date.prototype\")",
|
|
"engine->evaluate(\"Array.prototype\")",
|
|
"engine->evaluate(\"Function.prototype\")",
|
|
"engine->evaluate(\"Error.prototype\")",
|
|
"engine->evaluate(\"Object\")",
|
|
"engine->evaluate(\"Array\")",
|
|
"engine->evaluate(\"Number\")",
|
|
"engine->evaluate(\"Function\")",
|
|
"engine->evaluate(\"(function() { return 1; })\")",
|
|
"engine->evaluate(\"(function() { return 'ciao'; })\")",
|
|
"engine->evaluate(\"(function() { throw new Error('foo'); })\")",
|
|
"engine->evaluate(\"/foo/\")",
|
|
"engine->evaluate(\"new Object()\")",
|
|
"engine->evaluate(\"new Array()\")",
|
|
"engine->evaluate(\"new Error()\")",
|
|
"engine->evaluate(\"new Boolean(true)\")",
|
|
"engine->evaluate(\"new Boolean(false)\")",
|
|
"engine->evaluate(\"new Number(123)\")",
|
|
"engine->evaluate(\"new RegExp('foo', 'gim')\")",
|
|
"engine->evaluate(\"new String('ciao')\")",
|
|
"engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
|
|
"engine->evaluate(\"Undefined\")",
|
|
"engine->evaluate(\"Null\")",
|
|
"engine->evaluate(\"True\")",
|
|
"engine->evaluate(\"False\")",
|
|
"engine->evaluate(\"undefined\")",
|
|
"engine->evaluate(\"null\")",
|
|
"engine->evaluate(\"true\")",
|
|
"engine->evaluate(\"false\")",
|
|
"engine->evaluate(\"122\")",
|
|
"engine->evaluate(\"124\")",
|
|
"engine->evaluate(\"0\")",
|
|
"engine->evaluate(\"0.0\")",
|
|
"engine->evaluate(\"123.0\")",
|
|
"engine->evaluate(\"6.37e-8\")",
|
|
"engine->evaluate(\"-6.37e-8\")",
|
|
"engine->evaluate(\"0x43211234\")",
|
|
"engine->evaluate(\"0x10000\")",
|
|
"engine->evaluate(\"0x10001\")",
|
|
"engine->evaluate(\"NaN\")",
|
|
"engine->evaluate(\"Infinity\")",
|
|
"engine->evaluate(\"-Infinity\")",
|
|
"engine->evaluate(\"'ciao'\")",
|
|
"engine->evaluate(\"''\")",
|
|
"engine->evaluate(\"'0'\")",
|
|
"engine->evaluate(\"'123'\")",
|
|
"engine->evaluate(\"'12.4'\")",
|
|
"engine->nullValue()",
|
|
"engine->undefinedValue()",
|
|
"engine->newObject()",
|
|
"engine->newArray()",
|
|
"engine->newArray(10)",
|
|
"engine->newDate(QDateTime())",
|
|
"engine->newQMetaObject(&QObject::staticMetaObject)",
|
|
"engine->newRegExp(\"foo\", \"gim\")",
|
|
"engine->newVariant(QVariant())",
|
|
"engine->newVariant(QVariant(123))",
|
|
"engine->newVariant(QVariant(false))",
|
|
"engine->newQObject(0)",
|
|
"engine->newQObject(engine)"};
|
|
static quint32 qscriptvalue_castquint32_valueArray[] = {
|
|
0, 0,
|
|
0, 1,
|
|
0, 122,
|
|
124, 0,
|
|
0, 123,
|
|
0, 0,
|
|
1126240820, 65536,
|
|
65537, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 123,
|
|
12, 0,
|
|
0, 1,
|
|
0, 122,
|
|
124, 0,
|
|
0, 123,
|
|
0, 0,
|
|
1126240820, 65536,
|
|
65537, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 123,
|
|
12, 0,
|
|
0, 1,
|
|
0, 122,
|
|
124, 0,
|
|
0, 123,
|
|
0, 0,
|
|
1126240820, 65536,
|
|
65537, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 123,
|
|
1, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 1,
|
|
0, 123,
|
|
0, 0,
|
|
22, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 1,
|
|
0, 122,
|
|
124, 0,
|
|
0, 123,
|
|
0, 0,
|
|
1126240820, 65536,
|
|
65537, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 123,
|
|
12, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
123, 0,
|
|
0, 0};
|
|
void tst_QScriptValueGenerated::qscriptvalue_castquint32_makeData(const char* expr)
|
|
{
|
|
static const QHash<QString, quint32> value =
|
|
charValueArraysToHash(qscriptvalue_castquint32_tagArray, qscriptvalue_castquint32_valueArray,
|
|
int(sizeof(qscriptvalue_castquint32_tagArray) / sizeof(const char *)));
|
|
newRow(expr) << value.value(expr);
|
|
}
|
|
|
|
void tst_QScriptValueGenerated::qscriptvalue_castquint32_test(const char*, const QScriptValue& value)
|
|
{
|
|
QFETCH(quint32, expected);
|
|
QCOMPARE(qscriptvalue_cast<quint32>(value), expected);
|
|
QCOMPARE(qscriptvalue_cast<quint32>(value), expected);
|
|
}
|
|
|
|
DEFINE_TEST_FUNCTION(qscriptvalue_castquint32)
|
|
|
|
|
|
void tst_QScriptValueGenerated::qscriptvalue_castquint16_initData()
|
|
{
|
|
QTest::addColumn<quint16>("expected");
|
|
initScriptValues();
|
|
}
|
|
|
|
static const char *qscriptvalue_castquint16_tagArray[] = {
|
|
"QScriptValue()",
|
|
"QScriptValue(QScriptValue::UndefinedValue)",
|
|
"QScriptValue(QScriptValue::NullValue)",
|
|
"QScriptValue(true)",
|
|
"QScriptValue(false)",
|
|
"QScriptValue(int(122))",
|
|
"QScriptValue(uint(124))",
|
|
"QScriptValue(0)",
|
|
"QScriptValue(0.0)",
|
|
"QScriptValue(123.0)",
|
|
"QScriptValue(6.37e-8)",
|
|
"QScriptValue(-6.37e-8)",
|
|
"QScriptValue(0x43211234)",
|
|
"QScriptValue(0x10000)",
|
|
"QScriptValue(0x10001)",
|
|
"QScriptValue(qSNaN())",
|
|
"QScriptValue(qQNaN())",
|
|
"QScriptValue(qInf())",
|
|
"QScriptValue(-qInf())",
|
|
"QScriptValue(\"NaN\")",
|
|
"QScriptValue(\"Infinity\")",
|
|
"QScriptValue(\"-Infinity\")",
|
|
"QScriptValue(\"ciao\")",
|
|
"QScriptValue(QString::fromLatin1(\"ciao\"))",
|
|
"QScriptValue(QString(\"\"))",
|
|
"QScriptValue(QString())",
|
|
"QScriptValue(QString(\"0\"))",
|
|
"QScriptValue(QString(\"123\"))",
|
|
"QScriptValue(QString(\"12.4\"))",
|
|
"QScriptValue(0, QScriptValue::UndefinedValue)",
|
|
"QScriptValue(0, QScriptValue::NullValue)",
|
|
"QScriptValue(0, true)",
|
|
"QScriptValue(0, false)",
|
|
"QScriptValue(0, int(122))",
|
|
"QScriptValue(0, uint(124))",
|
|
"QScriptValue(0, 0)",
|
|
"QScriptValue(0, 0.0)",
|
|
"QScriptValue(0, 123.0)",
|
|
"QScriptValue(0, 6.37e-8)",
|
|
"QScriptValue(0, -6.37e-8)",
|
|
"QScriptValue(0, 0x43211234)",
|
|
"QScriptValue(0, 0x10000)",
|
|
"QScriptValue(0, 0x10001)",
|
|
"QScriptValue(0, qSNaN())",
|
|
"QScriptValue(0, qQNaN())",
|
|
"QScriptValue(0, qInf())",
|
|
"QScriptValue(0, -qInf())",
|
|
"QScriptValue(0, \"NaN\")",
|
|
"QScriptValue(0, \"Infinity\")",
|
|
"QScriptValue(0, \"-Infinity\")",
|
|
"QScriptValue(0, \"ciao\")",
|
|
"QScriptValue(0, QString::fromLatin1(\"ciao\"))",
|
|
"QScriptValue(0, QString(\"\"))",
|
|
"QScriptValue(0, QString())",
|
|
"QScriptValue(0, QString(\"0\"))",
|
|
"QScriptValue(0, QString(\"123\"))",
|
|
"QScriptValue(0, QString(\"12.3\"))",
|
|
"QScriptValue(engine, QScriptValue::UndefinedValue)",
|
|
"QScriptValue(engine, QScriptValue::NullValue)",
|
|
"QScriptValue(engine, true)",
|
|
"QScriptValue(engine, false)",
|
|
"QScriptValue(engine, int(122))",
|
|
"QScriptValue(engine, uint(124))",
|
|
"QScriptValue(engine, 0)",
|
|
"QScriptValue(engine, 0.0)",
|
|
"QScriptValue(engine, 123.0)",
|
|
"QScriptValue(engine, 6.37e-8)",
|
|
"QScriptValue(engine, -6.37e-8)",
|
|
"QScriptValue(engine, 0x43211234)",
|
|
"QScriptValue(engine, 0x10000)",
|
|
"QScriptValue(engine, 0x10001)",
|
|
"QScriptValue(engine, qSNaN())",
|
|
"QScriptValue(engine, qQNaN())",
|
|
"QScriptValue(engine, qInf())",
|
|
"QScriptValue(engine, -qInf())",
|
|
"QScriptValue(engine, \"NaN\")",
|
|
"QScriptValue(engine, \"Infinity\")",
|
|
"QScriptValue(engine, \"-Infinity\")",
|
|
"QScriptValue(engine, \"ciao\")",
|
|
"QScriptValue(engine, QString::fromLatin1(\"ciao\"))",
|
|
"QScriptValue(engine, QString(\"\"))",
|
|
"QScriptValue(engine, QString())",
|
|
"QScriptValue(engine, QString(\"0\"))",
|
|
"QScriptValue(engine, QString(\"123\"))",
|
|
"QScriptValue(engine, QString(\"1.23\"))",
|
|
"engine->evaluate(\"[]\")",
|
|
"engine->evaluate(\"{}\")",
|
|
"engine->evaluate(\"Object.prototype\")",
|
|
"engine->evaluate(\"Date.prototype\")",
|
|
"engine->evaluate(\"Array.prototype\")",
|
|
"engine->evaluate(\"Function.prototype\")",
|
|
"engine->evaluate(\"Error.prototype\")",
|
|
"engine->evaluate(\"Object\")",
|
|
"engine->evaluate(\"Array\")",
|
|
"engine->evaluate(\"Number\")",
|
|
"engine->evaluate(\"Function\")",
|
|
"engine->evaluate(\"(function() { return 1; })\")",
|
|
"engine->evaluate(\"(function() { return 'ciao'; })\")",
|
|
"engine->evaluate(\"(function() { throw new Error('foo'); })\")",
|
|
"engine->evaluate(\"/foo/\")",
|
|
"engine->evaluate(\"new Object()\")",
|
|
"engine->evaluate(\"new Array()\")",
|
|
"engine->evaluate(\"new Error()\")",
|
|
"engine->evaluate(\"new Boolean(true)\")",
|
|
"engine->evaluate(\"new Boolean(false)\")",
|
|
"engine->evaluate(\"new Number(123)\")",
|
|
"engine->evaluate(\"new RegExp('foo', 'gim')\")",
|
|
"engine->evaluate(\"new String('ciao')\")",
|
|
"engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")",
|
|
"engine->evaluate(\"Undefined\")",
|
|
"engine->evaluate(\"Null\")",
|
|
"engine->evaluate(\"True\")",
|
|
"engine->evaluate(\"False\")",
|
|
"engine->evaluate(\"undefined\")",
|
|
"engine->evaluate(\"null\")",
|
|
"engine->evaluate(\"true\")",
|
|
"engine->evaluate(\"false\")",
|
|
"engine->evaluate(\"122\")",
|
|
"engine->evaluate(\"124\")",
|
|
"engine->evaluate(\"0\")",
|
|
"engine->evaluate(\"0.0\")",
|
|
"engine->evaluate(\"123.0\")",
|
|
"engine->evaluate(\"6.37e-8\")",
|
|
"engine->evaluate(\"-6.37e-8\")",
|
|
"engine->evaluate(\"0x43211234\")",
|
|
"engine->evaluate(\"0x10000\")",
|
|
"engine->evaluate(\"0x10001\")",
|
|
"engine->evaluate(\"NaN\")",
|
|
"engine->evaluate(\"Infinity\")",
|
|
"engine->evaluate(\"-Infinity\")",
|
|
"engine->evaluate(\"'ciao'\")",
|
|
"engine->evaluate(\"''\")",
|
|
"engine->evaluate(\"'0'\")",
|
|
"engine->evaluate(\"'123'\")",
|
|
"engine->evaluate(\"'12.4'\")",
|
|
"engine->nullValue()",
|
|
"engine->undefinedValue()",
|
|
"engine->newObject()",
|
|
"engine->newArray()",
|
|
"engine->newArray(10)",
|
|
"engine->newDate(QDateTime())",
|
|
"engine->newQMetaObject(&QObject::staticMetaObject)",
|
|
"engine->newRegExp(\"foo\", \"gim\")",
|
|
"engine->newVariant(QVariant())",
|
|
"engine->newVariant(QVariant(123))",
|
|
"engine->newVariant(QVariant(false))",
|
|
"engine->newQObject(0)",
|
|
"engine->newQObject(engine)"};
|
|
static quint16 qscriptvalue_castquint16_valueArray[] = {
|
|
0, 0,
|
|
0, 1,
|
|
0, 122,
|
|
124, 0,
|
|
0, 123,
|
|
0, 0,
|
|
4660, 0,
|
|
1, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 123,
|
|
12, 0,
|
|
0, 1,
|
|
0, 122,
|
|
124, 0,
|
|
0, 123,
|
|
0, 0,
|
|
4660, 0,
|
|
1, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 123,
|
|
12, 0,
|
|
0, 1,
|
|
0, 122,
|
|
124, 0,
|
|
0, 123,
|
|
0, 0,
|
|
4660, 0,
|
|
1, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 123,
|
|
1, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 1,
|
|
0, 123,
|
|
0, 0,
|
|
22, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 1,
|
|
0, 122,
|
|
124, 0,
|
|
0, 123,
|
|
0, 0,
|
|
4660, 0,
|
|
1, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 123,
|
|
12, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
123, 0,
|
|
0, 0};
|
|
void tst_QScriptValueGenerated::qscriptvalue_castquint16_makeData(const char* expr)
|
|
{
|
|
static const QHash<QString, quint16> value =
|
|
charValueArraysToHash(qscriptvalue_castquint16_tagArray, qscriptvalue_castquint16_valueArray,
|
|
int(sizeof(qscriptvalue_castquint16_tagArray) / sizeof(const char *)));
|
|
newRow(expr) << value.value(expr);
|
|
}
|
|
|
|
void tst_QScriptValueGenerated::qscriptvalue_castquint16_test(const char*, const QScriptValue& value)
|
|
{
|
|
QFETCH(quint16, expected);
|
|
QCOMPARE(qscriptvalue_cast<quint16>(value), expected);
|
|
QCOMPARE(qscriptvalue_cast<quint16>(value), expected);
|
|
}
|
|
|
|
DEFINE_TEST_FUNCTION(qscriptvalue_castquint16)
|