1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
|
/****************************************************************************
**
** 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$
**
****************************************************************************/
#ifndef TST_QSCRIPTVALUE_H
#define TST_QSCRIPTVALUE_H
#include <QtCore/qobject.h>
#include <QtCore/qnumeric.h>
#include <QtScript/qscriptclass.h>
#include <QtScript/qscriptengine.h>
#include <QtScript/qscriptvalue.h>
#include <QtTest/QtTest>
Q_DECLARE_METATYPE(QVariant)
Q_DECLARE_METATYPE(QScriptValue)
class tst_QScriptValue : public QObject
{
Q_OBJECT
public:
tst_QScriptValue();
virtual ~tst_QScriptValue();
private slots:
void toObject();
void ctor_invalid();
void ctor_undefinedWithEngine();
void ctor_undefined();
void ctor_nullWithEngine();
void ctor_null();
void ctor_boolWithEngine();
void ctor_bool();
void ctor_intWithEngine();
void ctor_int();
void ctor_uintWithEngine();
void ctor_uint();
void ctor_floatWithEngine();
void ctor_float();
void ctor_stringWithEngine();
void ctor_string();
void ctor_copyAndAssignWithEngine();
void ctor_copyAndAssign();
void ctor_nullEngine();
void toString();
void toNumber();
void toBoolean();
void toBool();
void toInteger();
void toInt32();
void toUInt32();
void toUInt16();
void toVariant();
void toQObject_nonQObject_data();
void toQObject_nonQObject();
void toQObject();
void toDateTime();
void toRegExp();
void instanceOf_twoEngines();
void instanceOf();
void isArray_data();
void isArray();
void isDate();
void isDate_data();
void isError_propertiesOfGlobalObject();
void isError_data();
void isError();
void isRegExp_data();
void isRegExp();
void lessThan();
void equals();
void strictlyEquals();
void getSetPrototype_cyclicPrototype();
void getSetPrototype_evalCyclicPrototype();
void getSetPrototype_eval();
void getSetPrototype_invalidPrototype();
void getSetPrototype_twoEngines();
void getSetPrototype_null();
void getSetPrototype_notObjectOrNull();
void getSetPrototype();
void getSetScope();
void getSetProperty_HooliganTask162051();
void getSetProperty_HooliganTask183072();
void getSetProperty_propertyRemoval();
void getSetProperty_resolveMode();
void getSetProperty_twoEngines();
void getSetProperty_gettersAndSetters();
void getSetProperty_gettersAndSettersThrowErrorNative();
void getSetProperty_gettersAndSettersThrowErrorJS();
void getSetProperty_gettersAndSettersOnNative();
void getSetProperty_gettersAndSettersOnGlobalObject();
void getSetProperty_gettersAndSettersChange();
void getSetProperty_array();
void getSetProperty();
void arrayElementGetterSetter();
void getSetData_objects_data();
void getSetData_objects();
void getSetData_nonObjects_data();
void getSetData_nonObjects();
void setData_QTBUG15144();
void getSetScriptClass_emptyClass_data();
void getSetScriptClass_emptyClass();
void getSetScriptClass_JSObjectFromCpp();
void getSetScriptClass_JSObjectFromJS();
void getSetScriptClass_QVariant();
void getSetScriptClass_QObject();
void call_function();
void call_object();
void call_newObjects();
void call_this();
void call_arguments();
void call();
void call_invalidArguments();
void call_invalidReturn();
void call_twoEngines();
void call_array();
void call_nonFunction_data();
void call_nonFunction();
void construct_nonFunction_data();
void construct_nonFunction();
void construct_simple();
void construct_newObjectJS();
void construct_undefined();
void construct_newObjectCpp();
void construct_arg();
void construct_proto();
void construct_returnInt();
void construct_throw();
void construct();
void construct_twoEngines();
void construct_constructorThrowsPrimitive();
void castToPointer();
void prettyPrinter_data();
void prettyPrinter();
void engineDeleted();
void valueOfWithClosure();
void objectId();
void nestedObjectToVariant_data();
void nestedObjectToVariant();
void propertyFlags_data();
void propertyFlags();
private:
void newEngine()
{
if (engine)
delete engine;
engine = new QScriptEngine();
}
QScriptEngine *engine;
};
#endif
|