From 48d19919cc82f637ee96873f81c957cdf9b84127 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Wed, 27 Oct 2010 13:44:11 +0200 Subject: mkspecs: Emit warning when including g++.conf directly 86636e0c4ab91bfb6 refactored the mkspecs, but didn't account for people with their own mkspec who would still include g++.conf directly. We now print a warning if this situation is detected, and explain to the user how they can fix their mkspec. For convenience we redirect g++.conf to g++-unix.conf so that people's mkspecs will still work. Reviewed-by: Marius Storm-Olsen --- mkspecs/common/g++-base.conf | 23 ++++++++++++ mkspecs/common/g++-mac.conf | 32 ---------------- mkspecs/common/g++-macx.conf | 32 ++++++++++++++++ mkspecs/common/g++-unix.conf | 2 +- mkspecs/common/g++.conf | 24 +++--------- mkspecs/common/gcc-base-mac.conf | 43 ---------------------- mkspecs/common/gcc-base-macx.conf | 43 ++++++++++++++++++++++ mkspecs/common/gcc-base.conf | 10 ++--- mkspecs/macx-g++/qmake.conf | 4 +- mkspecs/macx-g++40/qmake.conf | 4 +- mkspecs/macx-g++42/qmake.conf | 4 +- mkspecs/macx-llvm/qmake.conf | 2 +- mkspecs/macx-xcode/qmake.conf | 4 +- mkspecs/symbian-gcce/qmake.conf | 3 +- mkspecs/unsupported/macx-clang/qmake.conf | 2 +- mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf | 1 - 16 files changed, 122 insertions(+), 111 deletions(-) create mode 100644 mkspecs/common/g++-base.conf delete mode 100644 mkspecs/common/g++-mac.conf create mode 100644 mkspecs/common/g++-macx.conf delete mode 100644 mkspecs/common/gcc-base-mac.conf create mode 100644 mkspecs/common/gcc-base-macx.conf diff --git a/mkspecs/common/g++-base.conf b/mkspecs/common/g++-base.conf new file mode 100644 index 0000000..d73b38f --- /dev/null +++ b/mkspecs/common/g++-base.conf @@ -0,0 +1,23 @@ +# +# Qmake configuration for the GNU C++ compiler +# +# Before making changes to this file, please read the comment in +# gcc-base.conf, to make sure the change goes in the right place. +# +# To verify that your change has the desired effect on the final configuration +# you can use the manual test in tests/manual/mkspecs. +# + +QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -g + +QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO + +QMAKE_LINK_C = $$QMAKE_CC +QMAKE_LINK_C_SHLIB = $$QMAKE_CC + +QMAKE_PCH_OUTPUT_EXT = .gch + +QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} +QMAKE_CFLAGS_USE_PRECOMPILE = -include ${QMAKE_PCH_OUTPUT_BASE} +QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} +QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE diff --git a/mkspecs/common/g++-mac.conf b/mkspecs/common/g++-mac.conf deleted file mode 100644 index bcfd9aa..0000000 --- a/mkspecs/common/g++-mac.conf +++ /dev/null @@ -1,32 +0,0 @@ -# -# Qmake configuration for the GNU C++ compiler on Mac OS X -# -# Before making changes to this file, please read the comment in -# gcc-base.conf, to make sure the change goes in the right place. -# -# To verify that your change has the desired effect on the final configuration -# you can use the manual test in tests/manual/mkspecs. -# - -include(g++.conf) - -QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_DWARF2 -QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_DWARF2 -QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO += -g $$QMAKE_CFLAGS_DWARF2 - -QMAKE_LFLAGS_STATIC_LIB += -all_load - -QMAKE_CFLAGS_X86_64 += -Xarch_x86_64 -mmacosx-version-min=10.5 -QMAKE_CFLAGS_PPC_64 += -Xarch_ppc64 -mmacosx-version-min=10.5 - -QMAKE_CXXFLAGS_X86_64 = $$QMAKE_CFLAGS_X86_64 -QMAKE_CXXFLAGS_PPC_64 = $$QMAKE_CFLAGS_PPC_64 -QMAKE_OBJECTIVE_CFLAGS_X86_64 = $$QMAKE_CFLAGS_X86_64 -QMAKE_OBJECTIVE_CFLAGS_PPC_64 = $$QMAKE_CFLAGS_PPC_64 -QMAKE_LFLAGS_X86_64 = $$QMAKE_CFLAGS_X86_64 -QMAKE_LFLAGS_PPC_64 = $$QMAKE_CFLAGS_PPC_64 - -QMAKE_OBJCFLAGS_PRECOMPILE = -x objective-c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} -QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -QMAKE_OBJCXXFLAGS_PRECOMPILE = -x objective-c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} -QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE diff --git a/mkspecs/common/g++-macx.conf b/mkspecs/common/g++-macx.conf new file mode 100644 index 0000000..2251157 --- /dev/null +++ b/mkspecs/common/g++-macx.conf @@ -0,0 +1,32 @@ +# +# Qmake configuration for the GNU C++ compiler on Mac OS X +# +# Before making changes to this file, please read the comment in +# gcc-base.conf, to make sure the change goes in the right place. +# +# To verify that your change has the desired effect on the final configuration +# you can use the manual test in tests/manual/mkspecs. +# + +include(g++-base.conf) + +QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_DWARF2 +QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_DWARF2 +QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO += -g $$QMAKE_CFLAGS_DWARF2 + +QMAKE_LFLAGS_STATIC_LIB += -all_load + +QMAKE_CFLAGS_X86_64 += -Xarch_x86_64 -mmacosx-version-min=10.5 +QMAKE_CFLAGS_PPC_64 += -Xarch_ppc64 -mmacosx-version-min=10.5 + +QMAKE_CXXFLAGS_X86_64 = $$QMAKE_CFLAGS_X86_64 +QMAKE_CXXFLAGS_PPC_64 = $$QMAKE_CFLAGS_PPC_64 +QMAKE_OBJECTIVE_CFLAGS_X86_64 = $$QMAKE_CFLAGS_X86_64 +QMAKE_OBJECTIVE_CFLAGS_PPC_64 = $$QMAKE_CFLAGS_PPC_64 +QMAKE_LFLAGS_X86_64 = $$QMAKE_CFLAGS_X86_64 +QMAKE_LFLAGS_PPC_64 = $$QMAKE_CFLAGS_PPC_64 + +QMAKE_OBJCFLAGS_PRECOMPILE = -x objective-c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} +QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE +QMAKE_OBJCXXFLAGS_PRECOMPILE = -x objective-c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} +QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE diff --git a/mkspecs/common/g++-unix.conf b/mkspecs/common/g++-unix.conf index 09b3e90..96e301e 100644 --- a/mkspecs/common/g++-unix.conf +++ b/mkspecs/common/g++-unix.conf @@ -8,7 +8,7 @@ # you can use the manual test in tests/manual/mkspecs. # -include(g++.conf) +include(g++-base.conf) QMAKE_LFLAGS_RELEASE += -Wl,-O1 QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined diff --git a/mkspecs/common/g++.conf b/mkspecs/common/g++.conf index d73b38f..0ca4fbd 100644 --- a/mkspecs/common/g++.conf +++ b/mkspecs/common/g++.conf @@ -1,23 +1,11 @@ # -# Qmake configuration for the GNU C++ compiler +# Notice: g++.conf has been split into g++-base.conf and g++-unix.conf # -# Before making changes to this file, please read the comment in -# gcc-base.conf, to make sure the change goes in the right place. +# This file will make sure that anyone who's still including g++.conf +# directly will get a warning and an explanation of how to fix their mkspec # -# To verify that your change has the desired effect on the final configuration -# you can use the manual test in tests/manual/mkspecs. -# - -QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -g - -QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO - -QMAKE_LINK_C = $$QMAKE_CC -QMAKE_LINK_C_SHLIB = $$QMAKE_CC -QMAKE_PCH_OUTPUT_EXT = .gch +warning($$escape_expand("Your mkspec is including 'common/g++.conf', but the mkspecs have been refactored\\n\\tTo fix this include 'common/gcc-base-$${TARGET_PLATFORM}.conf and 'common/g++-$${TARGET_PLATFORM}.conf' instead")) -QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} -QMAKE_CFLAGS_USE_PRECOMPILE = -include ${QMAKE_PCH_OUTPUT_BASE} -QMAKE_CXXFLAGS_PRECOMPILE = -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} -QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE +# We include g++-unix.conf to keep the behavior of the old g++.conf +include(g++-unix.conf) \ No newline at end of file diff --git a/mkspecs/common/gcc-base-mac.conf b/mkspecs/common/gcc-base-mac.conf deleted file mode 100644 index 5c9a8a1..0000000 --- a/mkspecs/common/gcc-base-mac.conf +++ /dev/null @@ -1,43 +0,0 @@ -# -# Base qmake configuration for GCC on Mac OS X -# -# Before making changes to this file, please read the comment in -# gcc-base.conf, to make sure the change goes in the right place. -# -# To verify that your change has the desired effect on the final configuration -# you can use the manual test in tests/manual/mkspecs. -# - -include(gcc-base.conf) - -QMAKE_COMPILER_DEFINES += __APPLE__ __GNUC__ - -QMAKE_CFLAGS_X86 += -arch i386 -QMAKE_CFLAGS_X86_64 += -arch x86_64 -QMAKE_CFLAGS_PPC += -arch ppc -QMAKE_CFLAGS_PPC_64 += -arch ppc64 -QMAKE_CFLAGS_DWARF2 += -gdwarf-2 - -QMAKE_CXXFLAGS_X86 += $$QMAKE_CFLAGS_X86 -QMAKE_CXXFLAGS_X86_64 += $$QMAKE_CFLAGS_X86_64 -QMAKE_CXXFLAGS_PPC += $$QMAKE_CFLAGS_PPC -QMAKE_CXXFLAGS_PPC_64 += $$QMAKE_CFLAGS_PPC_64 -QMAKE_CXXFLAGS_DWARF2 += $$QMAKE_CFLAGS_DWARF2 - -QMAKE_OBJECTIVE_CFLAGS_X86 += $$QMAKE_CFLAGS_X86 -QMAKE_OBJECTIVE_CFLAGS_X86_64 += $$QMAKE_CFLAGS_X86_64 -QMAKE_OBJECTIVE_CFLAGS_PPC += $$QMAKE_CFLAGS_PPC -QMAKE_OBJECTIVE_CFLAGS_PPC_64 += $$QMAKE_CFLAGS_PPC_64 - -QMAKE_LFLAGS_X86 += $$QMAKE_CFLAGS_X86 -QMAKE_LFLAGS_X86_64 += $$QMAKE_CFLAGS_X86_64 -QMAKE_LFLAGS_PPC += $$QMAKE_CFLAGS_PPC -QMAKE_LFLAGS_PPC_64 += $$QMAKE_CFLAGS_PPC_64 - -QMAKE_LFLAGS += -headerpad_max_install_names -QMAKE_LFLAGS_SHLIB += -single_module -dynamiclib -QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB -QMAKE_LFLAGS_INCREMENTAL += -undefined suppress -flat_namespace -QMAKE_LFLAGS_SONAME += -install_name$${LITERAL_WHITESPACE} -QMAKE_LFLAGS_VERSION += -current_version$${LITERAL_WHITESPACE} -QMAKE_LFLAGS_COMPAT_VERSION += -compatibility_version$${LITERAL_WHITESPACE} diff --git a/mkspecs/common/gcc-base-macx.conf b/mkspecs/common/gcc-base-macx.conf new file mode 100644 index 0000000..5c9a8a1 --- /dev/null +++ b/mkspecs/common/gcc-base-macx.conf @@ -0,0 +1,43 @@ +# +# Base qmake configuration for GCC on Mac OS X +# +# Before making changes to this file, please read the comment in +# gcc-base.conf, to make sure the change goes in the right place. +# +# To verify that your change has the desired effect on the final configuration +# you can use the manual test in tests/manual/mkspecs. +# + +include(gcc-base.conf) + +QMAKE_COMPILER_DEFINES += __APPLE__ __GNUC__ + +QMAKE_CFLAGS_X86 += -arch i386 +QMAKE_CFLAGS_X86_64 += -arch x86_64 +QMAKE_CFLAGS_PPC += -arch ppc +QMAKE_CFLAGS_PPC_64 += -arch ppc64 +QMAKE_CFLAGS_DWARF2 += -gdwarf-2 + +QMAKE_CXXFLAGS_X86 += $$QMAKE_CFLAGS_X86 +QMAKE_CXXFLAGS_X86_64 += $$QMAKE_CFLAGS_X86_64 +QMAKE_CXXFLAGS_PPC += $$QMAKE_CFLAGS_PPC +QMAKE_CXXFLAGS_PPC_64 += $$QMAKE_CFLAGS_PPC_64 +QMAKE_CXXFLAGS_DWARF2 += $$QMAKE_CFLAGS_DWARF2 + +QMAKE_OBJECTIVE_CFLAGS_X86 += $$QMAKE_CFLAGS_X86 +QMAKE_OBJECTIVE_CFLAGS_X86_64 += $$QMAKE_CFLAGS_X86_64 +QMAKE_OBJECTIVE_CFLAGS_PPC += $$QMAKE_CFLAGS_PPC +QMAKE_OBJECTIVE_CFLAGS_PPC_64 += $$QMAKE_CFLAGS_PPC_64 + +QMAKE_LFLAGS_X86 += $$QMAKE_CFLAGS_X86 +QMAKE_LFLAGS_X86_64 += $$QMAKE_CFLAGS_X86_64 +QMAKE_LFLAGS_PPC += $$QMAKE_CFLAGS_PPC +QMAKE_LFLAGS_PPC_64 += $$QMAKE_CFLAGS_PPC_64 + +QMAKE_LFLAGS += -headerpad_max_install_names +QMAKE_LFLAGS_SHLIB += -single_module -dynamiclib +QMAKE_LFLAGS_PLUGIN += $$QMAKE_LFLAGS_SHLIB +QMAKE_LFLAGS_INCREMENTAL += -undefined suppress -flat_namespace +QMAKE_LFLAGS_SONAME += -install_name$${LITERAL_WHITESPACE} +QMAKE_LFLAGS_VERSION += -current_version$${LITERAL_WHITESPACE} +QMAKE_LFLAGS_COMPAT_VERSION += -compatibility_version$${LITERAL_WHITESPACE} diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf index 41280c6..2d8a02f 100644 --- a/mkspecs/common/gcc-base.conf +++ b/mkspecs/common/gcc-base.conf @@ -7,21 +7,21 @@ # # Platform-specific options shared by these compilers are put into: # -# - gcc-base-mac.conf +# - gcc-base-macx.conf # - gcc-base-unix.conf # # These base files are then combined with configurations for each compiler: # -# - g++.conf -# - g++-mac.conf +# - g++-base.conf +# - g++-macx.conf # - g++-unix.conf # - llvm.conf # - clang.conf # # The combination happens in the top level mkspec, by including a platform- -# specific version of the base-file, for example gcc-base-mac.conf, and then +# specific version of the base-file, for example gcc-base-macx.conf, and then # a (possibly platform-specific) version of the actual compiler configuration, -# for example g++-mac.conf. +# for example g++-macx.conf. # # If you are making changes to any of these files, please consider the # possible effect it may have due to these include-rules, and whether it diff --git a/mkspecs/macx-g++/qmake.conf b/mkspecs/macx-g++/qmake.conf index fd36b70..0fd2c74 100644 --- a/mkspecs/macx-g++/qmake.conf +++ b/mkspecs/macx-g++/qmake.conf @@ -17,6 +17,6 @@ QMAKE_CC = gcc QMAKE_CXX = g++ include(../common/mac.conf) -include(../common/gcc-base-mac.conf) -include(../common/g++-mac.conf) +include(../common/gcc-base-macx.conf) +include(../common/g++-macx.conf) load(qt_config) diff --git a/mkspecs/macx-g++40/qmake.conf b/mkspecs/macx-g++40/qmake.conf index cfdd724..aa10fa2 100644 --- a/mkspecs/macx-g++40/qmake.conf +++ b/mkspecs/macx-g++40/qmake.conf @@ -17,7 +17,7 @@ QMAKE_CC = gcc-4.0 QMAKE_CXX = g++-4.0 include(../common/mac.conf) -include(../common/gcc-base-mac.conf) -include(../common/g++-mac.conf) +include(../common/gcc-base-macx.conf) +include(../common/g++-macx.conf) load(qt_config) diff --git a/mkspecs/macx-g++42/qmake.conf b/mkspecs/macx-g++42/qmake.conf index 08305ba..b2be5ed 100644 --- a/mkspecs/macx-g++42/qmake.conf +++ b/mkspecs/macx-g++42/qmake.conf @@ -17,7 +17,7 @@ QMAKE_CC = gcc-4.2 QMAKE_CXX = g++-4.2 include(../common/mac.conf) -include(../common/gcc-base-mac.conf) -include(../common/g++-mac.conf) +include(../common/gcc-base-macx.conf) +include(../common/g++-macx.conf) load(qt_config) diff --git a/mkspecs/macx-llvm/qmake.conf b/mkspecs/macx-llvm/qmake.conf index 95c2b28..94f9688 100644 --- a/mkspecs/macx-llvm/qmake.conf +++ b/mkspecs/macx-llvm/qmake.conf @@ -15,7 +15,7 @@ QMAKE_INCREMENTAL_STYLE = sublib include(../common/mac.conf) include(../common/llvm.conf) -include(../common/gcc-base-mac.conf) +include(../common/gcc-base-macx.conf) QMAKE_OBJCFLAGS_PRECOMPILE = -x objective-c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE diff --git a/mkspecs/macx-xcode/qmake.conf b/mkspecs/macx-xcode/qmake.conf index dc79b3d..4cb4626 100755 --- a/mkspecs/macx-xcode/qmake.conf +++ b/mkspecs/macx-xcode/qmake.conf @@ -10,8 +10,8 @@ CONFIG += qt warn_on release lib_version_first incremental plugin_no_soname li QT += core gui include(../common/mac.conf) -include(../common/gcc-base-mac.conf) -include(../common/g++-mac.conf) +include(../common/gcc-base-macx.conf) +include(../common/g++-macx.conf) QMAKE_CC = QMAKE_CXX = diff --git a/mkspecs/symbian-gcce/qmake.conf b/mkspecs/symbian-gcce/qmake.conf index f012217..7051a9c 100644 --- a/mkspecs/symbian-gcce/qmake.conf +++ b/mkspecs/symbian-gcce/qmake.conf @@ -4,7 +4,8 @@ include(../common/symbian/symbian-makefile.conf) -include(../common/g++.conf) +include(../common/g++-unix.conf) +include(../common/gcc-base-unix.conf) QMAKE_CC = arm-none-symbianelf-gcc QMAKE_CXX = arm-none-symbianelf-g++ diff --git a/mkspecs/unsupported/macx-clang/qmake.conf b/mkspecs/unsupported/macx-clang/qmake.conf index 17892e8..aaabf27 100644 --- a/mkspecs/unsupported/macx-clang/qmake.conf +++ b/mkspecs/unsupported/macx-clang/qmake.conf @@ -11,7 +11,7 @@ QMAKE_INCREMENTAL_STYLE = sublib include(../../common/mac.conf) include(../../common/clang.conf) -include(../../common/gcc-base-mac.conf) +include(../../common/gcc-base-macx.conf) QMAKE_OBJCFLAGS_PRECOMPILE = -x objective-c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE diff --git a/mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf b/mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf index 26de9b7..bb760b2 100644 --- a/mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf +++ b/mkspecs/unsupported/qws/qnx-generic-g++/qmake.conf @@ -61,7 +61,6 @@ QMAKE_PCH_OUTPUT_EXT = .gch QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list, -#include(../../common/g++.conf) include(../../common/unix.conf) QMAKE_CFLAGS_THREAD = -D_REENTRANT -- cgit v0.12 From 63c068434c53c705aa61217b4cbd006bf4f49b76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Wed, 27 Oct 2010 13:58:57 +0200 Subject: Don't put Objective-C sources in SOURCES MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Alexis Ménard --- src/plugins/bearer/corewlan/corewlan.pro | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/bearer/corewlan/corewlan.pro b/src/plugins/bearer/corewlan/corewlan.pro index 922a501..22ad550 100644 --- a/src/plugins/bearer/corewlan/corewlan.pro +++ b/src/plugins/bearer/corewlan/corewlan.pro @@ -16,9 +16,10 @@ HEADERS += qcorewlanengine.h \ ../qbearerengine_impl.h SOURCES += main.cpp \ - qcorewlanengine.mm \ ../qnetworksession_impl.cpp +OBJECTIVE_SOURCES += qcorewlanengine.mm + QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/bearer target.path += $$[QT_INSTALL_PLUGINS]/bearer INSTALLS += target -- cgit v0.12 From afc70e04f5ca8b1fc330c05547f7923362686577 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Wed, 27 Oct 2010 16:18:28 +0200 Subject: Move list of trusted benchmarks out of QA dungeon and into Qt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To run the list of trusted benchmark do 'make check-trusted' in either the root benchmarks directory or for any of the immediate sub-targets. Normal 'make check' environment variables apply, such as TESTRUNNER and TESTARGS. Reviewed-by: João Abecasis --- tests/benchmarks/benchmarks.pro | 3 +++ tests/benchmarks/corelib/corelib.pro | 10 +++++++++- tests/benchmarks/declarative/declarative.pro | 2 +- tests/benchmarks/gui/gui.pro | 7 +++++++ tests/benchmarks/network/network.pro | 7 +++++++ tests/benchmarks/opengl/opengl.pro | 2 ++ tests/benchmarks/script/script.pro | 7 +++++++ tests/benchmarks/svg/svg.pro | 2 ++ tests/benchmarks/trusted-benchmarks.pri | 8 ++++++++ 9 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 tests/benchmarks/trusted-benchmarks.pri diff --git a/tests/benchmarks/benchmarks.pro b/tests/benchmarks/benchmarks.pro index 01d5cd5..00a1b37 100644 --- a/tests/benchmarks/benchmarks.pro +++ b/tests/benchmarks/benchmarks.pro @@ -7,3 +7,6 @@ SUBDIRS = \ svg contains(QT_CONFIG, opengl): SUBDIRS += opengl contains(QT_CONFIG, declarative): SUBDIRS += declarative + +check-trusted.CONFIG += recursive +QMAKE_EXTRA_TARGETS += check-trusted diff --git a/tests/benchmarks/corelib/corelib.pro b/tests/benchmarks/corelib/corelib.pro index 8a6941b..335280e 100644 --- a/tests/benchmarks/corelib/corelib.pro +++ b/tests/benchmarks/corelib/corelib.pro @@ -4,5 +4,13 @@ SUBDIRS = \ kernel \ thread \ tools \ - codecs \ + codecs \ plugin + +TRUSTED_BENCHMARKS += \ + kernel/qmetaobject \ + kernel/qmetatype \ + kernel/qobject \ + thread/qthreadstorage + +include(../trusted-benchmarks.pri) \ No newline at end of file diff --git a/tests/benchmarks/declarative/declarative.pro b/tests/benchmarks/declarative/declarative.pro index 5dd31f3..cb02a35 100644 --- a/tests/benchmarks/declarative/declarative.pro +++ b/tests/benchmarks/declarative/declarative.pro @@ -12,4 +12,4 @@ SUBDIRS += \ contains(QT_CONFIG, opengl): SUBDIRS += painting - +include(../trusted-benchmarks.pri) diff --git a/tests/benchmarks/gui/gui.pro b/tests/benchmarks/gui/gui.pro index 946f184..d825458 100644 --- a/tests/benchmarks/gui/gui.pro +++ b/tests/benchmarks/gui/gui.pro @@ -9,3 +9,10 @@ SUBDIRS = \ painting \ styles \ text + +TRUSTED_BENCHMARKS += \ + graphicsview/functional/GraphicsViewBenchmark \ + graphicsview/qgraphicsview \ + painting/qtracebench + +include(../trusted-benchmarks.pri) \ No newline at end of file diff --git a/tests/benchmarks/network/network.pro b/tests/benchmarks/network/network.pro index 73de556..692a0a1 100644 --- a/tests/benchmarks/network/network.pro +++ b/tests/benchmarks/network/network.pro @@ -4,3 +4,10 @@ SUBDIRS = \ kernel \ ssl \ socket + +TRUSTED_BENCHMARKS += \ + kernel/qhostinfo \ + socket/qtcpserver \ + ssl/qsslsocket + +include(../trusted-benchmarks.pri) \ No newline at end of file diff --git a/tests/benchmarks/opengl/opengl.pro b/tests/benchmarks/opengl/opengl.pro index 5c58751..b510c2b 100644 --- a/tests/benchmarks/opengl/opengl.pro +++ b/tests/benchmarks/opengl/opengl.pro @@ -8,3 +8,5 @@ QT += opengl # Input SOURCES += main.cpp + +include(../trusted-benchmarks.pri) \ No newline at end of file diff --git a/tests/benchmarks/script/script.pro b/tests/benchmarks/script/script.pro index 8d689b6..34910f7 100644 --- a/tests/benchmarks/script/script.pro +++ b/tests/benchmarks/script/script.pro @@ -3,3 +3,10 @@ SUBDIRS = \ qscriptclass \ qscriptengine \ qscriptvalue + +TRUSTED_BENCHMARKS += \ + qscriptclass \ + qscriptvalue \ + qscriptengine + +include(../trusted-benchmarks.pri) \ No newline at end of file diff --git a/tests/benchmarks/svg/svg.pro b/tests/benchmarks/svg/svg.pro index cdc2ca5..d84eb71 100644 --- a/tests/benchmarks/svg/svg.pro +++ b/tests/benchmarks/svg/svg.pro @@ -1,3 +1,5 @@ TEMPLATE = subdirs SUBDIRS = \ qsvgrenderer + +include(../trusted-benchmarks.pri) \ No newline at end of file diff --git a/tests/benchmarks/trusted-benchmarks.pri b/tests/benchmarks/trusted-benchmarks.pri new file mode 100644 index 0000000..632dcff --- /dev/null +++ b/tests/benchmarks/trusted-benchmarks.pri @@ -0,0 +1,8 @@ +# Edit the list of trusted benchmarks in each of the sub-targets + +check-trusted.depends = qmake +for(benchmark, TRUSTED_BENCHMARKS) { + check-trusted.commands += (cd $$benchmark && $(MAKE) -f $(MAKEFILE) check); +} + +QMAKE_EXTRA_TARGETS += check-trusted -- cgit v0.12 From b36e845dde90313cf98df118ce6ffd88502b943b Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 28 Oct 2010 11:51:45 +0200 Subject: samegame: white space Reviewed-by: Kai Koehne --- .../declarative/samegame/SamegameCore/samegame.js | 198 +++++++++++---------- 1 file changed, 108 insertions(+), 90 deletions(-) diff --git a/demos/declarative/samegame/SamegameCore/samegame.js b/demos/declarative/samegame/SamegameCore/samegame.js index 9266767..e618a10 100755 --- a/demos/declarative/samegame/SamegameCore/samegame.js +++ b/demos/declarative/samegame/SamegameCore/samegame.js @@ -9,12 +9,14 @@ var scoresURL = ""; var gameDuration; var component = Qt.createComponent(blockSrc); -//Index function used instead of a 2D array -function index(column,row) { - return column + (row * maxColumn); +// Index function used instead of a 2D array +function index(column, row) +{ + return column + row * maxColumn; } -function timeStr(msecs) { +function timeStr(msecs) +{ var secs = Math.floor(msecs/1000); var m = Math.floor(secs/60); var ret = "" + m + "m " + (secs%60) + "s"; @@ -23,47 +25,48 @@ function timeStr(msecs) { function startNewGame() { - //Delete blocks from previous game - for(var i = 0; i= maxColumn || column < 0 || row >= maxRow || row < 0) + if (column >= maxColumn || column < 0 || row >= maxRow || row < 0) return; - if(board[index(column, row)] == null) + if (board[index(column, row)] == null) return; - //If it's a valid block, remove it and all connected (does nothing if it's not connected) + // If it's a valid block, remove it and all connected (does nothing if it's not connected) floodFill(column,row, -1); - if(fillFound <= 0) + if (fillFound <= 0) return; gameCanvas.score += (fillFound - 1) * (fillFound - 1); shuffleDown(); @@ -72,65 +75,65 @@ function handleClick(x,y) function floodFill(column,row,type) { - if(board[index(column, row)] == null) + if (board[index(column, row)] == null) return; var first = false; - if(type == -1){ + if (type == -1) { first = true; type = board[index(column,row)].type; - - //Flood fill initialization + + // Flood fill initialization fillFound = 0; floodBoard = new Array(maxIndex); } - if(column >= maxColumn || column < 0 || row >= maxRow || row < 0) + if (column >= maxColumn || column < 0 || row >= maxRow || row < 0) return; - if(floodBoard[index(column, row)] == 1 || (!first && type != board[index(column,row)].type)) + if (floodBoard[index(column, row)] == 1 || (!first && type != board[index(column, row)].type)) return; floodBoard[index(column, row)] = 1; - floodFill(column+1,row,type); - floodFill(column-1,row,type); - floodFill(column,row+1,type); - floodFill(column,row-1,type); - if(first==true && fillFound == 0) - return;//Can't remove single blocks - board[index(column,row)].dying = true; - board[index(column,row)] = null; + floodFill(column + 1, row, type); + floodFill(column - 1, row, type); + floodFill(column, row + 1, type); + floodFill(column, row - 1, type); + if (first == true && fillFound == 0) + return; // Can't remove single blocks + board[index(column, row)].dying = true; + board[index(column, row)] = null; fillFound += 1; } function shuffleDown() { - //Fall down - for(var column=0; column=0; row--){ - if(board[index(column,row)] == null){ + for (var row = maxRow - 1; row >= 0; row--) { + if (board[index(column,row)] == null) { fallDist += 1; - }else{ - if(fallDist > 0){ - var obj = board[index(column,row)]; - obj.y = (row+fallDist) * gameCanvas.blockSize; - board[index(column,row+fallDist)] = obj; - board[index(column,row)] = null; + } else { + if (fallDist > 0) { + var obj = board[index(column, row)]; + obj.y = (row + fallDist) * gameCanvas.blockSize; + board[index(column, row + fallDist)] = obj; + board[index(column, row)] = null; } } } } - //Fall to the left + // Fall to the left fallDist = 0; - for(column=0; column 0){ - for(row=0; row 0) { + for (row = 0; row < maxRow; row++) { + obj = board[index(column, row)]; + if (obj == null) continue; - obj.x = (column-fallDist) * gameCanvas.blockSize; - board[index(column-fallDist,row)] = obj; - board[index(column,row)] = null; + obj.x = (column - fallDist) * gameCanvas.blockSize; + board[index(column - fallDist,row)] = obj; + board[index(column, row)] = null; } } } @@ -139,58 +142,59 @@ function shuffleDown() function victoryCheck() { - //awards bonuses for no blocks left + // Awards bonuses for no blocks left var deservesBonus = true; - for(var column=maxColumn-1; column>=0; column--) - if(board[index(column, maxRow - 1)] != null) + for (var column = maxColumn - 1; column >= 0; column--) + if (board[index(column, maxRow - 1)] != null) deservesBonus = false; - if(deservesBonus) + if (deservesBonus) gameCanvas.score += 500; - //Checks for game over - if(deservesBonus || !(floodMoveCheck(0,maxRow-1, -1))){ + // Checks for game over + if (deservesBonus || !(floodMoveCheck(0, maxRow - 1, -1))) { gameDuration = new Date() - gameDuration; nameInputDialog.show("You won! Please enter your name: "); nameInputDialog.initialWidth = nameInputDialog.text.width + 20; - if(nameInputDialog.name == "") + if (nameInputDialog.name == "") nameInputDialog.width = nameInputDialog.initialWidth; - nameInputDialog.text.opacity = 0;//Just a spacer + nameInputDialog.text.opacity = 0; // Just a spacer } } -//only floods up and right, to see if it can find adjacent same-typed blocks +// Only floods up and right, to see if it can find adjacent same-typed blocks function floodMoveCheck(column, row, type) { - if(column >= maxColumn || column < 0 || row >= maxRow || row < 0) + if (column >= maxColumn || column < 0 || row >= maxRow || row < 0) return false; - if(board[index(column, row)] == null) + if (board[index(column, row)] == null) return false; var myType = board[index(column, row)].type; - if(type == myType) + if (type == myType) return true; return floodMoveCheck(column + 1, row, myType) || - floodMoveCheck(column, row - 1, board[index(column,row)].type); + floodMoveCheck(column, row - 1, board[index(column, row)].type); } -function createBlock(column,row){ +function createBlock(column,row) +{ // Note that we don't wait for the component to become ready. This will // only work if the block QML is a local file. Otherwise the component will // not be ready immediately. There is a statusChanged signal on the // component you could use if you want to wait to load remote files. - if(component.status == Component.Ready){ + if (component.status == Component.Ready) { var dynamicObject = component.createObject(gameCanvas); - if(dynamicObject == null){ + if (dynamicObject == null) { console.log("error creating block"); console.log(component.errorString()); return false; } dynamicObject.type = Math.floor(Math.random() * 3); - dynamicObject.x = column*gameCanvas.blockSize; - dynamicObject.y = row*gameCanvas.blockSize; + dynamicObject.x = column * gameCanvas.blockSize; + dynamicObject.y = row * gameCanvas.blockSize; dynamicObject.width = gameCanvas.blockSize; dynamicObject.height = gameCanvas.blockSize; dynamicObject.spawned = true; - board[index(column,row)] = dynamicObject; - }else{ + board[index(column, row)] = dynamicObject; + } else { console.log("error loading block component"); console.log(component.errorString()); return false; @@ -198,23 +202,35 @@ function createBlock(column,row){ return true; } -function saveHighScore(name) { - if(scoresURL!="") +function saveHighScore(name) +{ + if (scoresURL != "") sendHighScore(name); - //OfflineStorage - var db = openDatabaseSync("SameGameScores", "1.0", "Local SameGame High Scores",100); + // Offline storage + var db = openDatabaseSync( + "SameGameScores", + "1.0", + "Local SameGame High Scores", + 100 + ); var dataStr = "INSERT INTO Scores VALUES(?, ?, ?, ?)"; - var data = [name, gameCanvas.score, maxColumn+"x"+maxRow ,Math.floor(gameDuration/1000)]; + var data = [ + name, + gameCanvas.score, + maxColumn + "x" + maxRow, + Math.floor(gameDuration / 1000) + ]; db.transaction( function(tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS Scores(name TEXT, score NUMBER, gridSize TEXT, time NUMBER)'); tx.executeSql(dataStr, data); - //Only show results for the current grid size - var rs = tx.executeSql('SELECT * FROM Scores WHERE gridSize = "'+maxColumn+"x"+maxRow+'" ORDER BY score desc LIMIT 10'); + // Only show results for the current grid size + var rs = tx.executeSql('SELECT * FROM Scores WHERE gridSize = "' + + maxColumn + "x" + maxRow + '" ORDER BY score desc LIMIT 10'); var r = "\nHIGH SCORES for this grid size\n\n" - for(var i = 0; i < rs.rows.length; i++){ - r += (i+1)+". " + rs.rows.item(i).name +' got ' + for (var i = 0; i < rs.rows.length; i++) { + r += (i+1) + ". " + rs.rows.item(i).name + ' got ' + rs.rows.item(i).score + ' points in ' + rs.rows.item(i).time + ' seconds.\n'; } @@ -223,13 +239,15 @@ function saveHighScore(name) { ); } -function sendHighScore(name) { +function sendHighScore(name) +{ var postman = new XMLHttpRequest() - var postData = "name="+name+"&score="+gameCanvas.score - +"&gridSize="+maxColumn+"x"+maxRow +"&time="+Math.floor(gameDuration/1000); + var postData = "name=" + name + "&score=" + gameCanvas.score + + "&gridSize=" + maxColumn + "x" + maxRow + + "&time=" + Math.floor(gameDuration / 1000); postman.open("POST", scoresURL, true); postman.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); - postman.onreadystatechange = function() { + postman.onreadystatechange = function() { if (postman.readyState == postman.DONE) { dialog.show("Your score has been uploaded."); } -- cgit v0.12 From 0c643b179c5154c50b61dba421016b7b48794720 Mon Sep 17 00:00:00 2001 From: "Bradley T. Hughes" Date: Fri, 29 Oct 2010 15:04:46 +0200 Subject: Simplify object lifetime management when moving objects to a QThread The documentation for Qt::AutoConnection states is a signal is emitted from the same thread as the receiving object, the connection should behave as Qt::DirectConnection. The actual behavior prior to this commit was different from the documentation; if the signal was emitted in a thread different from the sender's thread, then we would queue (which is now corrected). By making the behavior match the documentation, it is now possible to connect QThread's finished() signal to an object's deleteLater() slot and the slot will execute when finished() is emitted (previously it was queued). QObject::deleteLater() uses a posted QEvent::DeferredDelete event to trigger deletion of the object. In QThread, after emitting the finished() signal, we now send all pending DeferredDelete events to ensure that all pending deletions happen. We have precedence for this behavior, QCoreApplication::exec() does the same thing after emitting the aboutToQuit() signal. Reviewed-by: joao Reviewed-by: olivier --- src/corelib/kernel/qobject.cpp | 4 +- src/corelib/thread/qthread_unix.cpp | 1 + src/corelib/thread/qthread_win.cpp | 1 + tests/auto/qobject/tst_qobject.cpp | 78 +++++++++++++++++++++++++++++++++++++ tests/auto/qthread/tst_qthread.cpp | 14 +++++++ 5 files changed, 95 insertions(+), 3 deletions(-) diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index 573bb50..7fe9c52 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -3508,9 +3508,7 @@ void QMetaObject::activate(QObject *sender, const QMetaObject *m, int local_sign // determine if this connection should be sent immediately or // put into the event queue - if ((c->connectionType == Qt::AutoConnection - && (!receiverInSameThread - || receiver->d_func()->threadData != sender->d_func()->threadData)) + if ((c->connectionType == Qt::AutoConnection && !receiverInSameThread) || (c->connectionType == Qt::QueuedConnection)) { queued_activate(sender, signal_absolute_index, c, argv ? argv : empty_argv); continue; diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp index a44a0e8..e39e577 100644 --- a/src/corelib/thread/qthread_unix.cpp +++ b/src/corelib/thread/qthread_unix.cpp @@ -343,6 +343,7 @@ void QThreadPrivate::finish(void *arg) emit thr->terminated(); d->terminated = false; emit thr->finished(); + QCoreApplication::sendPostedEvents(0, QEvent::DeferredDelete); if (d->data->eventDispatcher) { d->data->eventDispatcher->closingDown(); diff --git a/src/corelib/thread/qthread_win.cpp b/src/corelib/thread/qthread_win.cpp index f0cbe8d..4a967ed 100644 --- a/src/corelib/thread/qthread_win.cpp +++ b/src/corelib/thread/qthread_win.cpp @@ -332,6 +332,7 @@ void QThreadPrivate::finish(void *arg, bool lockAnyway) emit thr->terminated(); d->terminated = false; emit thr->finished(); + QCoreApplication::sendPostedEvents(0, QEvent::DeferredDelete); if (d->data->eventDispatcher) { d->data->eventDispatcher->closingDown(); diff --git a/tests/auto/qobject/tst_qobject.cpp b/tests/auto/qobject/tst_qobject.cpp index 24cd5a3..a09f109 100644 --- a/tests/auto/qobject/tst_qobject.cpp +++ b/tests/auto/qobject/tst_qobject.cpp @@ -134,6 +134,7 @@ private slots: void connectConstructorByMetaMethod(); void disconnectByMetaMethod(); void disconnectNotSignalMetaMethod(); + void autoConnectionBehavior(); protected: }; @@ -3847,5 +3848,82 @@ void tst_QObject::disconnectNotSignalMetaMethod() QVERIFY(!QObject::disconnect(&s, slot, &r, QMetaMethod())); } +class ThreadAffinityThread : public QThread +{ +public: + SenderObject *sender; + + ThreadAffinityThread(SenderObject *sender) + : sender(sender) + { } + void run() + { + sender->emitSignal1(); + } +}; + +void tst_QObject::autoConnectionBehavior() +{ + SenderObject *sender = new SenderObject; + ReceiverObject *receiver = new ReceiverObject; + connect(sender, SIGNAL(signal1()), receiver, SLOT(slot1())); + + // at emit, currentThread == sender->thread(), currentThread == receiver->thread(), sender->thread() == receiver->thread() + QVERIFY(!receiver->called(1)); + sender->emitSignal1(); + QVERIFY(receiver->called(1)); + receiver->reset(); + + // at emit, currentThread != sender->thread(), currentThread != receiver->thread(), sender->thread() == receiver->thread() + ThreadAffinityThread emitThread1(sender); + QVERIFY(!receiver->called(1)); + emitThread1.start(); + QVERIFY(emitThread1.wait(30000)); + QVERIFY(!receiver->called(1)); + QCoreApplication::sendPostedEvents(receiver, QEvent::MetaCall); + QVERIFY(receiver->called(1)); + receiver->reset(); + + // at emit, currentThread == sender->thread(), currentThread != receiver->thread(), sender->thread() != receiver->thread() + sender->moveToThread(&emitThread1); + QVERIFY(!receiver->called(1)); + emitThread1.start(); + QVERIFY(emitThread1.wait(30000)); + QVERIFY(!receiver->called(1)); + QCoreApplication::sendPostedEvents(receiver, QEvent::MetaCall); + QVERIFY(receiver->called(1)); + receiver->reset(); + + // at emit, currentThread != sender->thread(), currentThread == receiver->thread(), sender->thread() != receiver->thread() + QVERIFY(!receiver->called(1)); + sender->emitSignal1(); + QVERIFY(receiver->called(1)); + receiver->reset(); + + // at emit, currentThread != sender->thread(), currentThread != receiver->thread(), sender->thread() != receiver->thread() + ThreadAffinityThread emitThread2(sender); + QThread receiverThread; + QTimer *timer = new QTimer; + timer->setSingleShot(true); + timer->setInterval(100); + connect(&receiverThread, SIGNAL(started()), timer, SLOT(start())); + connect(timer, SIGNAL(timeout()), &receiverThread, SLOT(quit()), Qt::DirectConnection); + connect(&receiverThread, SIGNAL(finished()), timer, SLOT(deleteLater())); + timer->moveToThread(&receiverThread); + + receiver->moveToThread(&receiverThread); + QVERIFY(!receiver->called(1)); + emitThread2.start(); + QVERIFY(emitThread2.wait(30000)); + QVERIFY(!receiver->called(1)); + receiverThread.start(); + QVERIFY(receiverThread.wait(30000)); + QVERIFY(receiver->called(1)); + receiver->reset(); + + delete sender; + delete receiver; +} + QTEST_MAIN(tst_QObject) #include "tst_qobject.moc" diff --git a/tests/auto/qthread/tst_qthread.cpp b/tests/auto/qthread/tst_qthread.cpp index 843749a..f290a2b 100644 --- a/tests/auto/qthread/tst_qthread.cpp +++ b/tests/auto/qthread/tst_qthread.cpp @@ -106,6 +106,7 @@ private slots: void adoptMultipleThreads(); void QTBUG13810_exitAndStart(); + void connectThreadFinishedSignalToObjectDeleteLaterSlot(); void stressTest(); }; @@ -975,6 +976,19 @@ void tst_QThread::QTBUG13810_exitAndStart() QCOMPARE(sync1.m_prop, 89); } +void tst_QThread::connectThreadFinishedSignalToObjectDeleteLaterSlot() +{ + QThread thread; + QObject *object = new QObject; + QWeakPointer p = object; + QVERIFY(!p.isNull()); + connect(&thread, SIGNAL(started()), &thread, SLOT(quit()), Qt::DirectConnection); + connect(&thread, SIGNAL(finished()), object, SLOT(deleteLater())); + object->moveToThread(&thread); + thread.start(); + QVERIFY(thread.wait(30000)); + QVERIFY(p.isNull()); +} QTEST_MAIN(tst_QThread) #include "tst_qthread.moc" -- cgit v0.12 From bf8a9dc1248083dfb0ce5599b11af1727d349631 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Fri, 29 Oct 2010 15:03:38 +0200 Subject: Don't crash when null-pointer is passed to qScriptValueFromValue() qScriptValueFromValue_helper() (or rather, QScriptEnginePrivate::create()) will fall back to wrapping the value using newVariant(), so there is no reason for the QVariant specialization to check the return value. (In particular, if the return value was invalid, that's _because_ the engine was null, so we should definitely not call a function on the engine.) Task-number: QTBUG-14842 Reviewed-by: Jedrzej Nowacki --- src/script/api/qscriptengine.h | 5 +---- tests/auto/qscriptengine/tst_qscriptengine.cpp | 7 +++++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/script/api/qscriptengine.h b/src/script/api/qscriptengine.h index 830d477..24c8c13 100644 --- a/src/script/api/qscriptengine.h +++ b/src/script/api/qscriptengine.h @@ -332,10 +332,7 @@ inline QScriptValue qScriptValueFromValue(QScriptEngine *engine, const T &t) template <> inline QScriptValue qScriptValueFromValue(QScriptEngine *engine, const QVariant &v) { - QScriptValue result = qScriptValueFromValue_helper(engine, v.userType(), v.data()); - if (!result.isValid()) - result = engine->newVariant(v); - return result; + return qScriptValueFromValue_helper(engine, v.userType(), v.data()); } inline bool qscriptvalue_cast_helper(const QScriptValue &value, int type, void *ptr) diff --git a/tests/auto/qscriptengine/tst_qscriptengine.cpp b/tests/auto/qscriptengine/tst_qscriptengine.cpp index 7133a6c..3a376ec 100644 --- a/tests/auto/qscriptengine/tst_qscriptengine.cpp +++ b/tests/auto/qscriptengine/tst_qscriptengine.cpp @@ -120,6 +120,7 @@ private slots: void uncaughtException(); void errorMessage_QT679(); void valueConversion(); + void qScriptValueFromValue_noEngine(); void importExtension(); void infiniteRecursion(); void castWithPrototypeChain(); @@ -2258,6 +2259,12 @@ void tst_QScriptEngine::valueConversion() } } +void tst_QScriptEngine::qScriptValueFromValue_noEngine() +{ + QVERIFY(!qScriptValueFromValue(0, 123).isValid()); + QVERIFY(!qScriptValueFromValue(0, QVariant(123)).isValid()); +} + static QScriptValue __import__(QScriptContext *ctx, QScriptEngine *eng) { return eng->importExtension(ctx->argument(0).toString()); -- cgit v0.12 From bd3c35cf1cbdbde16df9357a08b8b45a96fa3a5e Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Fri, 29 Oct 2010 15:15:45 +0200 Subject: Improve QtScript test coverage Based on BullsEye coverage reports. --- tests/auto/qscriptable/tst_qscriptable.cpp | 4 +- tests/auto/qscriptclass/tst_qscriptclass.cpp | 40 ++++++ tests/auto/qscriptcontext/tst_qscriptcontext.cpp | 38 ++++++ tests/auto/qscriptengine/tst_qscriptengine.cpp | 141 +++++++++++++++++++-- .../qscriptextqobject/tst_qscriptextqobject.cpp | 100 +++++++++++++++ .../tst_qscriptvalueiterator.cpp | 21 +++ 6 files changed, 332 insertions(+), 12 deletions(-) diff --git a/tests/auto/qscriptable/tst_qscriptable.cpp b/tests/auto/qscriptable/tst_qscriptable.cpp index 3c781b1..86dd80e 100644 --- a/tests/auto/qscriptable/tst_qscriptable.cpp +++ b/tests/auto/qscriptable/tst_qscriptable.cpp @@ -131,7 +131,7 @@ QScriptValue MyScriptable::getArguments() int MyScriptable::getArgumentCount() { - return context()->argumentCount(); + return argumentCount(); } void MyScriptable::foo() @@ -283,6 +283,8 @@ void tst_QScriptable::engine() void tst_QScriptable::thisObject() { + QVERIFY(!m_scriptable.thisObject().isValid()); + m_engine.evaluate("o = { }"); { QScriptValue ret = m_engine.evaluate("o.__proto__ = scriptable;" diff --git a/tests/auto/qscriptclass/tst_qscriptclass.cpp b/tests/auto/qscriptclass/tst_qscriptclass.cpp index b4dbe73..2c669f3 100644 --- a/tests/auto/qscriptclass/tst_qscriptclass.cpp +++ b/tests/auto/qscriptclass/tst_qscriptclass.cpp @@ -68,6 +68,7 @@ private slots: void getAndSetProperty(); void enumerate(); void extension(); + void defaultImplementations(); }; tst_QScriptClass::tst_QScriptClass() @@ -603,6 +604,8 @@ void tst_QScriptClass::newInstance() QVERIFY(obj2.data().strictlyEquals(num)); QVERIFY(obj2.prototype().strictlyEquals(cls.prototype())); QCOMPARE(obj2.scriptClass(), (QScriptClass*)&cls); + QVERIFY(!obj2.equals(obj1)); + QVERIFY(!obj2.strictlyEquals(obj1)); QScriptValue obj3 = eng.newObject(); QCOMPARE(obj3.scriptClass(), (QScriptClass*)0); @@ -730,6 +733,14 @@ void tst_QScriptClass::getAndSetProperty() QCOMPARE(cls.lastPropertyId(), foo2Id); } + // attempt to delete custom property + obj1.setProperty(foo2, QScriptValue()); + // delete real property + obj1.setProperty(foo, QScriptValue()); + QVERIFY(!obj1.property(foo).isValid()); + obj1.setProperty(foo, num); + QVERIFY(obj1.property(foo).equals(num)); + // remove script class; normal properties should remain obj1.setScriptClass(0); QCOMPARE(obj1.scriptClass(), (QScriptClass*)0); @@ -805,6 +816,7 @@ void tst_QScriptClass::extension() QCOMPARE((int)cls.lastExtensionType(), -1); QVERIFY(!obj.instanceOf(obj)); QCOMPARE((int)cls.lastExtensionType(), -1); + QVERIFY(!obj.construct().isValid()); } // Callable { @@ -1017,5 +1029,33 @@ void tst_QScriptClass::extension() } } +void tst_QScriptClass::defaultImplementations() +{ + QScriptEngine eng; + + QScriptClass defaultClass(&eng); + QCOMPARE(defaultClass.engine(), &eng); + QVERIFY(!defaultClass.prototype().isValid()); + QCOMPARE(defaultClass.name(), QString()); + + QScriptValue obj = eng.newObject(&defaultClass); + QCOMPARE(obj.scriptClass(), &defaultClass); + + QScriptString name = eng.toStringHandle("foo"); + uint id = -1; + QCOMPARE(defaultClass.queryProperty(obj, name, QScriptClass::HandlesReadAccess, &id), QScriptClass::QueryFlags(0)); + QVERIFY(!defaultClass.property(obj, name, id).isValid()); + QCOMPARE(defaultClass.propertyFlags(obj, name, id), QScriptValue::PropertyFlags(0)); + defaultClass.setProperty(obj, name, id, 123); + QVERIFY(!obj.property(name).isValid()); + + QCOMPARE(defaultClass.newIterator(obj), (QScriptClassPropertyIterator*)0); + + QVERIFY(!defaultClass.supportsExtension(QScriptClass::Callable)); + QVERIFY(!defaultClass.supportsExtension(QScriptClass::HasInstance)); + QVERIFY(!defaultClass.extension(QScriptClass::Callable).isValid()); + QVERIFY(!defaultClass.extension(QScriptClass::HasInstance).isValid()); +} + QTEST_MAIN(tst_QScriptClass) #include "tst_qscriptclass.moc" diff --git a/tests/auto/qscriptcontext/tst_qscriptcontext.cpp b/tests/auto/qscriptcontext/tst_qscriptcontext.cpp index 617c183..99558eb 100644 --- a/tests/auto/qscriptcontext/tst_qscriptcontext.cpp +++ b/tests/auto/qscriptcontext/tst_qscriptcontext.cpp @@ -44,6 +44,7 @@ #include #include +#include //TESTED_CLASS= //TESTED_FILES= @@ -77,6 +78,7 @@ private slots: void scopeChain(); void pushAndPopScope(); void getSetActivationObject(); + void getSetActivationObject_customContext(); void inheritActivationAndThisObject(); void toString(); void calledAsConstructor(); @@ -513,8 +515,30 @@ void tst_QScriptContext::pushAndPopContext() QScriptContext *ctx3 = eng.pushContext(); ctx3->activationObject().setProperty("foo", QScriptValue(&eng, 123)); QVERIFY(eng.evaluate("foo").strictlyEquals(QScriptValue(&eng, 123))); + QCOMPARE(ctx3->activationObject().propertyFlags("foo"), QScriptValue::PropertyFlags(0)); + + ctx3->activationObject().setProperty(4, 456); + QVERIFY(ctx3->activationObject().property(4, QScriptValue::ResolveLocal).equals(456)); + eng.evaluate("var bar = 'ciao'"); QVERIFY(ctx3->activationObject().property("bar", QScriptValue::ResolveLocal).strictlyEquals(QScriptValue(&eng, "ciao"))); + + ctx3->activationObject().setProperty("baz", 789, QScriptValue::ReadOnly); + QVERIFY(eng.evaluate("baz").equals(789)); + QCOMPARE(ctx3->activationObject().propertyFlags("baz"), QScriptValue::ReadOnly); + + QSet activationPropertyNames; + QScriptValueIterator it(ctx3->activationObject()); + while (it.hasNext()) { + it.next(); + activationPropertyNames.insert(it.name()); + } + QCOMPARE(activationPropertyNames.size(), 4); + QVERIFY(activationPropertyNames.contains("foo")); + QVERIFY(activationPropertyNames.contains("4")); + QVERIFY(activationPropertyNames.contains("bar")); + QVERIFY(activationPropertyNames.contains("baz")); + eng.popContext(); } @@ -1054,6 +1078,20 @@ void tst_QScriptContext::getSetActivationObject() } } +void tst_QScriptContext::getSetActivationObject_customContext() +{ + QScriptEngine eng; + QScriptContext *ctx = eng.pushContext(); + QVERIFY(ctx->activationObject().isObject()); + QScriptValue act = eng.newObject(); + ctx->setActivationObject(act); + QVERIFY(ctx->activationObject().equals(act)); + eng.evaluate("var foo = 123"); + QCOMPARE(act.property("foo").toInt32(), 123); + eng.popContext(); + QCOMPARE(act.property("foo").toInt32(), 123); +} + static QScriptValue myEval(QScriptContext *ctx, QScriptEngine *eng) { QString code = ctx->argument(0).toString(); diff --git a/tests/auto/qscriptengine/tst_qscriptengine.cpp b/tests/auto/qscriptengine/tst_qscriptengine.cpp index 3a376ec..034512f 100644 --- a/tests/auto/qscriptengine/tst_qscriptengine.cpp +++ b/tests/auto/qscriptengine/tst_qscriptengine.cpp @@ -130,6 +130,7 @@ private slots: void gcWithNestedDataStructure(); void processEventsWhileRunning(); void throwErrorFromProcessEvents(); + void disableProcessEventsInterval(); void stacktrace(); void numberParsing_data(); void numberParsing(); @@ -170,6 +171,7 @@ private slots: void evaluateProgram(); void collectGarbageAfterConnect(); void promoteThisObjectToQObjectInConstructor(); + void scriptValueFromQMetaObject(); void qRegExpInport_data(); void qRegExpInport(); @@ -457,11 +459,13 @@ void tst_QScriptEngine::newVariant() // replace value of existing object { QScriptValue object = eng.newVariant(QVariant(123)); - QScriptValue ret = eng.newVariant(object, QVariant(456)); - QVERIFY(ret.isValid()); - QVERIFY(ret.strictlyEquals(object)); - QVERIFY(ret.isVariant()); - QCOMPARE(ret.toVariant(), QVariant(456)); + for (int x = 0; x < 2; ++x) { + QScriptValue ret = eng.newVariant(object, QVariant(456)); + QVERIFY(ret.isValid()); + QVERIFY(ret.strictlyEquals(object)); + QVERIFY(ret.isVariant()); + QCOMPARE(ret.toVariant(), QVariant(456)); + } } // valueOf() and toString() @@ -496,6 +500,19 @@ void tst_QScriptEngine::newVariant() QVERIFY(value.strictlyEquals(object)); QCOMPARE(object.toString(), QString::fromLatin1("QVariant(QPoint)")); } + + { + QVariant var(456); + QScriptValue ret = eng.newVariant(123, var); + QVERIFY(ret.isVariant()); + QCOMPARE(ret.toVariant(), var); + } + + { + QTest::ignoreMessage(QtWarningMsg, "QScriptEngine::newVariant(): changing class of non-QScriptObject not supported"); + QScriptValue ret = eng.newVariant(eng.newArray(), 123); + QVERIFY(!ret.isValid()); + } } void tst_QScriptEngine::newRegExp() @@ -734,12 +751,14 @@ void tst_QScriptEngine::newQObject() QScriptValue object = eng.newVariant(123); QScriptValue originalProto = object.prototype(); QObject otherQObject; - QScriptValue ret = eng.newQObject(object, &otherQObject); - QVERIFY(ret.isValid()); - QVERIFY(ret.isQObject()); - QVERIFY(ret.strictlyEquals(object)); - QCOMPARE(ret.toQObject(), (QObject *)&otherQObject); - QVERIFY(ret.prototype().strictlyEquals(originalProto)); + for (int x = 0; x < 2; ++x) { + QScriptValue ret = eng.newQObject(object, &otherQObject); + QVERIFY(ret.isValid()); + QVERIFY(ret.isQObject()); + QVERIFY(ret.strictlyEquals(object)); + QCOMPARE(ret.toQObject(), (QObject *)&otherQObject); + QVERIFY(ret.prototype().strictlyEquals(originalProto)); + } } // calling newQObject() several times with same object @@ -794,6 +813,18 @@ void tst_QScriptEngine::newQObject() eng.setDefaultPrototype(qMetaTypeId(), oldQObjectProto); eng.setDefaultPrototype(typeId, QScriptValue()); } + + { + QScriptValue ret = eng.newQObject(123, this); + QVERIFY(ret.isQObject()); + QCOMPARE(ret.toQObject(), this); + } + + { + QTest::ignoreMessage(QtWarningMsg, "QScriptEngine::newQObject(): changing class of non-QScriptObject not supported"); + QScriptValue ret = eng.newQObject(eng.newArray(), this); + QVERIFY(!ret.isValid()); + } } QT_BEGIN_NAMESPACE @@ -982,6 +1013,11 @@ void tst_QScriptEngine::getSetGlobalObject() QCOMPARE(glob.prototype().isObject(), true); QCOMPARE(glob.prototype().strictlyEquals(eng.evaluate("Object.prototype")), true); + eng.setGlobalObject(glob); + QVERIFY(eng.globalObject().equals(glob)); + eng.setGlobalObject(123); + QVERIFY(eng.globalObject().equals(glob)); + QScriptValue obj = eng.newObject(); eng.setGlobalObject(obj); QVERIFY(eng.globalObject().strictlyEquals(obj)); @@ -1031,6 +1067,28 @@ void tst_QScriptEngine::getSetGlobalObject() QScriptValue ret = eng.evaluate("(function() { return this; })()"); QVERIFY(ret.strictlyEquals(obj)); } + + // Delete property. + { + QScriptValue ret = eng.evaluate("delete foo"); + QVERIFY(ret.isBool()); + QVERIFY(ret.toBool()); + QVERIFY(!obj.property("foo").isValid()); + } + + // Getter/setter property. + QVERIFY(eng.evaluate("this.__defineGetter__('oof', function() { return this.bar; })").isUndefined()); + QVERIFY(eng.evaluate("this.__defineSetter__('oof', function(v) { this.bar = v; })").isUndefined()); + QVERIFY(eng.evaluate("this.__lookupGetter__('oof')").isFunction()); + QVERIFY(eng.evaluate("this.__lookupSetter__('oof')").isFunction()); + eng.evaluate("oof = 123"); + QVERIFY(eng.evaluate("oof").equals(obj.property("bar"))); + + // Enumeration. + { + QScriptValue ret = eng.evaluate("a = []; for (var p in this) a.push(p); a"); + QCOMPARE(ret.toString(), QString::fromLatin1("bar,baz,oof,p,a")); + } } static QScriptValue getSetFoo(QScriptContext *ctx, QScriptEngine *) @@ -2257,6 +2315,8 @@ void tst_QScriptEngine::valueConversion() QEXPECT_FAIL("", "QTBUG-6136: JSC-based back-end doesn't preserve QRegExp::minimal (always false)", Continue); QCOMPARE(val.toRegExp().isMinimal(), in.isMinimal()); } + + QCOMPARE(qscriptvalue_cast(QScriptValue(123)), QVariant(123)); } void tst_QScriptEngine::qScriptValueFromValue_noEngine() @@ -2701,6 +2761,19 @@ void tst_QScriptEngine::throwErrorFromProcessEvents() QCOMPARE(ret.toString(), QString::fromLatin1("Error: Killed")); } +void tst_QScriptEngine::disableProcessEventsInterval() +{ + QScriptEngine eng; + eng.setProcessEventsInterval(100); + QCOMPARE(eng.processEventsInterval(), 100); + eng.setProcessEventsInterval(0); + QCOMPARE(eng.processEventsInterval(), 0); + eng.setProcessEventsInterval(-1); + QCOMPARE(eng.processEventsInterval(), -1); + eng.setProcessEventsInterval(-100); + QCOMPARE(eng.processEventsInterval(), -100); +} + void tst_QScriptEngine::stacktrace() { QString script = QString::fromLatin1( @@ -4529,6 +4602,17 @@ void tst_QScriptEngine::installTranslatorFunctions() QVERIFY(ret.isString()); QCOMPARE(ret.toString(), QString::fromLatin1("foobar")); } + { + QScriptValue ret = eng.evaluate("'foo%0'.arg(123)"); + QVERIFY(ret.isString()); + QCOMPARE(ret.toString(), QString::fromLatin1("foo123")); + } + { + // Maybe this should throw an error? + QScriptValue ret = eng.evaluate("'foo%0'.arg()"); + QVERIFY(ret.isString()); + QCOMPARE(ret.toString(), QString()); + } { QScriptValue ret = eng.evaluate("qsTrId('foo')"); @@ -4540,6 +4624,7 @@ void tst_QScriptEngine::installTranslatorFunctions() QVERIFY(ret.isString()); QCOMPARE(ret.toString(), QString::fromLatin1("foo")); } + QVERIFY(eng.evaluate("QT_TRID_NOOP()").isUndefined()); } static QScriptValue callQsTr(QScriptContext *ctx, QScriptEngine *eng) @@ -4574,9 +4659,14 @@ void tst_QScriptEngine::translateScript() QCOMPARE(engine.evaluate("eval('qsTranslate(\\'FooContext\\', \\'Goodbye\\')')", fileName).toString(), QString::fromLatin1("Farvel")); QCOMPARE(engine.evaluate("qsTranslate('FooContext', 'Goodbye', '', 'UnicodeUTF8')", fileName).toString(), QString::fromLatin1("Farvel")); + QCOMPARE(engine.evaluate("qsTranslate('FooContext', 'Goodbye', '', 'CodecForTr')", fileName).toString(), QString::fromLatin1("Farvel")); + + QCOMPARE(engine.evaluate("qsTranslate('FooContext', 'Goodbye', '', 'UnicodeUTF8', 42)", fileName).toString(), QString::fromLatin1("Goodbye")); QCOMPARE(engine.evaluate("qsTr('One', 'not the same one')", fileName).toString(), QString::fromLatin1("Enda en")); + QCOMPARE(engine.evaluate("qsTr('One', 'not the same one', 42)", fileName).toString(), QString::fromLatin1("One")); + QVERIFY(engine.evaluate("QT_TR_NOOP()").isUndefined()); QCOMPARE(engine.evaluate("QT_TR_NOOP('One')").toString(), QString::fromLatin1("One")); @@ -4645,6 +4735,7 @@ void tst_QScriptEngine::translateWithInvalidArgs_data() QTest::newRow("qsTranslate()") << "qsTranslate()" << "Error: qsTranslate() requires at least two arguments"; QTest::newRow("qsTranslate('foo')") << "qsTranslate('foo')" << "Error: qsTranslate() requires at least two arguments"; + QTest::newRow("qsTranslate(123, 'foo')") << "qsTranslate(123, 'foo')" << "Error: qsTranslate(): first argument (context) must be a string"; QTest::newRow("qsTranslate('foo', 123)") << "qsTranslate('foo', 123)" << "Error: qsTranslate(): second argument (text) must be a string"; QTest::newRow("qsTranslate('foo', 'bar', 123)") << "qsTranslate('foo', 'bar', 123)" << "Error: qsTranslate(): third argument (comment) must be a string"; QTest::newRow("qsTranslate('foo', 'bar', 'baz', 123)") << "qsTranslate('foo', 'bar', 'baz', 123)" << "Error: qsTranslate(): fourth argument (encoding) must be a string"; @@ -5108,6 +5199,10 @@ void tst_QScriptEngine::qRegExpInport_data() QTest::newRow("aaa") << QRegExp("a{2,5}") << "aAaAaaaaaAa"; QTest::newRow("aaa minimal") << minimal(QRegExp("a{2,5}")) << "aAaAaaaaaAa"; QTest::newRow("minimal") << minimal(QRegExp(".*\\} [*8]")) << "}?} ?} *"; + QTest::newRow(".? minimal") << minimal(QRegExp(".?")) << ".?"; + QTest::newRow(".+ minimal") << minimal(QRegExp(".+")) << ".+"; + QTest::newRow("[.?] minimal") << minimal(QRegExp("[.?]")) << ".?"; + QTest::newRow("[.+] minimal") << minimal(QRegExp("[.+]")) << ".+"; } void tst_QScriptEngine::qRegExpInport() @@ -5452,5 +5547,29 @@ void tst_QScriptEngine::newGrowingStaticScopeObject() eng.popContext(); } +Q_SCRIPT_DECLARE_QMETAOBJECT(QStandardItemModel, QObject*) + +void tst_QScriptEngine::scriptValueFromQMetaObject() +{ + QScriptEngine eng; + { + QScriptValue meta = eng.scriptValueFromQMetaObject(); + QVERIFY(meta.isQMetaObject()); + QCOMPARE(meta.toQMetaObject(), &QScriptEngine::staticMetaObject); + // Because of missing Q_SCRIPT_DECLARE_QMETAOBJECT() for QScriptEngine. + QVERIFY(!meta.construct().isValid()); + } + { + QScriptValue meta = eng.scriptValueFromQMetaObject(); + QVERIFY(meta.isQMetaObject()); + QCOMPARE(meta.toQMetaObject(), &QStandardItemModel::staticMetaObject); + QScriptValue obj = meta.construct(QScriptValueList() << eng.newQObject(&eng)); + QVERIFY(obj.isQObject()); + QStandardItemModel *model = qobject_cast(obj.toQObject()); + QVERIFY(model != 0); + QCOMPARE(model->parent(), (QObject*)&eng); + } +} + QTEST_MAIN(tst_QScriptEngine) #include "tst_qscriptengine.moc" diff --git a/tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp b/tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp index 0d57f0c..1562118 100644 --- a/tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp +++ b/tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp @@ -329,6 +329,18 @@ public: { m_qtFunctionInvoked = 58; m_actuals << int(arg); return arg; } Q_INVOKABLE MyQObject::Ability myInvokableWithQualifiedFlagsArg(MyQObject::Ability arg) { m_qtFunctionInvoked = 59; m_actuals << int(arg); return arg; } + Q_INVOKABLE QWidget *myInvokableWithQWidgetStarArg(QWidget *arg) + { m_qtFunctionInvoked = 63; m_actuals << qVariantFromValue((QWidget*)arg); return arg; } + Q_INVOKABLE short myInvokableWithShortArg(short arg) + { m_qtFunctionInvoked = 64; m_actuals << qVariantFromValue(arg); return arg; } + Q_INVOKABLE unsigned short myInvokableWithUShortArg(unsigned short arg) + { m_qtFunctionInvoked = 65; m_actuals << qVariantFromValue(arg); return arg; } + Q_INVOKABLE char myInvokableWithCharArg(char arg) + { m_qtFunctionInvoked = 66; m_actuals << qVariantFromValue(arg); return arg; } + Q_INVOKABLE unsigned char myInvokableWithUCharArg(unsigned char arg) + { m_qtFunctionInvoked = 67; m_actuals << qVariantFromValue(arg); return arg; } + Q_INVOKABLE qulonglong myInvokableWithULonglongArg(qulonglong arg) + { m_qtFunctionInvoked = 68; m_actuals << qVariantFromValue(arg); return arg; } Q_INVOKABLE QObjectList findObjects() const { return findChildren(); } @@ -394,6 +406,8 @@ public Q_SLOTS: { m_qtFunctionInvoked = 32; m_actuals << arg; } void myOverloadedSlot(const QDate &arg) { m_qtFunctionInvoked = 33; m_actuals << arg; } + void myOverloadedSlot(const QTime &arg) + { m_qtFunctionInvoked = 69; m_actuals << arg; } void myOverloadedSlot(const QRegExp &arg) { m_qtFunctionInvoked = 34; m_actuals << arg; } void myOverloadedSlot(const QVariant &arg) @@ -519,6 +533,7 @@ private slots: void callQtInvokable(); void connectAndDisconnect(); void connectAndDisconnectWithBadArgs(); + void connectAndDisconnect_senderDeleted(); void cppConnectAndDisconnect(); void classEnums(); void classConstructor(); @@ -1361,6 +1376,17 @@ void tst_QScriptExtQObject::callQtInvokable() m_myObject->resetQtFunctionInvoked(); { + QScriptValue ret = m_engine->evaluate("myObject.myInvokableWithQWidgetStarArg(null)"); + QVERIFY(ret.isNull()); + QCOMPARE(m_myObject->qtFunctionInvoked(), 63); + QCOMPARE(m_myObject->qtFunctionActuals().size(), 1); + QVariant v = m_myObject->qtFunctionActuals().at(0); + QCOMPARE(v.userType(), int(QMetaType::QWidgetStar)); + QCOMPARE(qvariant_cast(v), (QObject *)0); + } + + m_myObject->resetQtFunctionInvoked(); + { // no implicit conversion from integer to QObject* QScriptValue ret = m_engine->evaluate("myObject.myInvokableWithQObjectStarArg(123)"); QCOMPARE(ret.isError(), true); @@ -1368,6 +1394,61 @@ void tst_QScriptExtQObject::callQtInvokable() m_myObject->resetQtFunctionInvoked(); { + QScriptValue ret = m_engine->evaluate("myObject.myInvokableWithShortArg(123)"); + QVERIFY(ret.isNumber()); + QCOMPARE(m_myObject->qtFunctionInvoked(), 64); + QCOMPARE(m_myObject->qtFunctionActuals().size(), 1); + QVariant v = m_myObject->qtFunctionActuals().at(0); + QCOMPARE(v.userType(), int(QMetaType::Short)); + QCOMPARE(qvariant_cast(v), short(123)); + } + + m_myObject->resetQtFunctionInvoked(); + { + QScriptValue ret = m_engine->evaluate("myObject.myInvokableWithUShortArg(123)"); + QVERIFY(ret.isNumber()); + QCOMPARE(m_myObject->qtFunctionInvoked(), 65); + QCOMPARE(m_myObject->qtFunctionActuals().size(), 1); + QVariant v = m_myObject->qtFunctionActuals().at(0); + QCOMPARE(v.userType(), int(QMetaType::UShort)); + QCOMPARE(qvariant_cast(v), ushort(123)); + } + + m_myObject->resetQtFunctionInvoked(); + { + QScriptValue ret = m_engine->evaluate("myObject.myInvokableWithCharArg(123)"); + QVERIFY(ret.isNumber()); + QCOMPARE(m_myObject->qtFunctionInvoked(), 66); + QCOMPARE(m_myObject->qtFunctionActuals().size(), 1); + QVariant v = m_myObject->qtFunctionActuals().at(0); + QCOMPARE(v.userType(), int(QMetaType::Char)); + QCOMPARE(qvariant_cast(v), char(123)); + } + + m_myObject->resetQtFunctionInvoked(); + { + QScriptValue ret = m_engine->evaluate("myObject.myInvokableWithUCharArg(123)"); + QVERIFY(ret.isNumber()); + QCOMPARE(m_myObject->qtFunctionInvoked(), 67); + QCOMPARE(m_myObject->qtFunctionActuals().size(), 1); + QVariant v = m_myObject->qtFunctionActuals().at(0); + QCOMPARE(v.userType(), int(QMetaType::UChar)); + QCOMPARE(qvariant_cast(v), uchar(123)); + } + + m_myObject->resetQtFunctionInvoked(); + { + QScriptValue ret = m_engine->evaluate("myObject.myInvokableWithULonglongArg(123)"); + QVERIFY(ret.isNumber()); + QCOMPARE(m_myObject->qtFunctionInvoked(), 68); + QCOMPARE(m_myObject->qtFunctionActuals().size(), 1); + QVariant v = m_myObject->qtFunctionActuals().at(0); + QCOMPARE(v.userType(), int(QMetaType::ULongLong)); + QCOMPARE(qvariant_cast(v), qulonglong(123)); + } + + m_myObject->resetQtFunctionInvoked(); + { QScriptValue fun = m_engine->evaluate("myObject.myInvokableWithQBrushArg"); QVERIFY(fun.isFunction()); QColor color(10, 20, 30, 40); @@ -1916,6 +1997,25 @@ void tst_QScriptExtQObject::connectAndDisconnectWithBadArgs() } } +void tst_QScriptExtQObject::connectAndDisconnect_senderDeleted() +{ + QScriptEngine eng; + QObject *obj = new QObject; + eng.globalObject().setProperty("obj", eng.newQObject(obj)); + eng.evaluate("signal = obj.destroyed"); + delete obj; + { + QScriptValue ret = eng.evaluate("signal.connect(function(){})"); + QVERIFY(ret.isError()); + QCOMPARE(ret.toString(), QString::fromLatin1("TypeError: Function.prototype.connect: cannot connect to deleted QObject")); + } + { + QScriptValue ret = eng.evaluate("signal.disconnect(function(){})"); + QVERIFY(ret.isError()); + QCOMPARE(ret.toString(), QString::fromLatin1("TypeError: Function.prototype.discconnect: cannot disconnect from deleted QObject")); + } +} + void tst_QScriptExtQObject::cppConnectAndDisconnect() { QScriptEngine eng; diff --git a/tests/auto/qscriptvalueiterator/tst_qscriptvalueiterator.cpp b/tests/auto/qscriptvalueiterator/tst_qscriptvalueiterator.cpp index 55773f0..df11537 100644 --- a/tests/auto/qscriptvalueiterator/tst_qscriptvalueiterator.cpp +++ b/tests/auto/qscriptvalueiterator/tst_qscriptvalueiterator.cpp @@ -71,6 +71,7 @@ private slots: void iterateString(); void iterateGetterSetter(); void assignObjectToIterator(); + void iterateNonObject(); }; tst_QScriptValueIterator::tst_QScriptValueIterator() @@ -583,5 +584,25 @@ void tst_QScriptValueIterator::assignObjectToIterator() QCOMPARE(it.name(), QString::fromLatin1("bar")); } +void tst_QScriptValueIterator::iterateNonObject() +{ + QScriptValueIterator it(123); + QVERIFY(!it.hasNext()); + it.next(); + QVERIFY(!it.hasPrevious()); + it.previous(); + it.toFront(); + it.toBack(); + it.name(); + it.scriptName(); + it.flags(); + it.value(); + it.setValue(1); + it.remove(); + QScriptValue num(5); + it = num; + QVERIFY(!it.hasNext()); +} + QTEST_MAIN(tst_QScriptValueIterator) #include "tst_qscriptvalueiterator.moc" -- cgit v0.12 From 8cd4b7622ea425f8fef316ae4ae91133f29f53c5 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Fri, 29 Oct 2010 15:22:19 +0200 Subject: Add autotest for QScriptExtensionPlugin It's only about four years overdue. --- .../qscriptextensionplugin.pro | 3 + .../simpleplugin/simpleplugin.cpp | 79 ++++++++++ .../simpleplugin/simpleplugin.pro | 10 ++ .../staticplugin/__init__.js | 6 + .../staticplugin/staticplugin.cpp | 75 +++++++++ .../staticplugin/staticplugin.pro | 7 + .../staticplugin/staticplugin.qrc | 6 + tests/auto/qscriptextensionplugin/test/test.pro | 18 +++ .../tst_qscriptextensionplugin.cpp | 167 +++++++++++++++++++++ tests/auto/script.pro | 1 + 10 files changed, 372 insertions(+) create mode 100644 tests/auto/qscriptextensionplugin/qscriptextensionplugin.pro create mode 100644 tests/auto/qscriptextensionplugin/simpleplugin/simpleplugin.cpp create mode 100644 tests/auto/qscriptextensionplugin/simpleplugin/simpleplugin.pro create mode 100644 tests/auto/qscriptextensionplugin/staticplugin/__init__.js create mode 100644 tests/auto/qscriptextensionplugin/staticplugin/staticplugin.cpp create mode 100644 tests/auto/qscriptextensionplugin/staticplugin/staticplugin.pro create mode 100644 tests/auto/qscriptextensionplugin/staticplugin/staticplugin.qrc create mode 100644 tests/auto/qscriptextensionplugin/test/test.pro create mode 100644 tests/auto/qscriptextensionplugin/tst_qscriptextensionplugin.cpp diff --git a/tests/auto/qscriptextensionplugin/qscriptextensionplugin.pro b/tests/auto/qscriptextensionplugin/qscriptextensionplugin.pro new file mode 100644 index 0000000..d4671c8 --- /dev/null +++ b/tests/auto/qscriptextensionplugin/qscriptextensionplugin.pro @@ -0,0 +1,3 @@ +TEMPLATE = subdirs +CONFIG -= app_bundle +SUBDIRS = simpleplugin staticplugin test diff --git a/tests/auto/qscriptextensionplugin/simpleplugin/simpleplugin.cpp b/tests/auto/qscriptextensionplugin/simpleplugin/simpleplugin.cpp new file mode 100644 index 0000000..1679512 --- /dev/null +++ b/tests/auto/qscriptextensionplugin/simpleplugin/simpleplugin.cpp @@ -0,0 +1,79 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include +#include + +class SimplePlugin : public QScriptExtensionPlugin +{ +public: + SimplePlugin(QObject *parent = 0); + ~SimplePlugin(); + + virtual QStringList keys() const; + virtual void initialize(const QString &key, QScriptEngine *engine); +}; + +SimplePlugin::SimplePlugin(QObject *parent) + : QScriptExtensionPlugin(parent) +{ +} + +SimplePlugin::~SimplePlugin() +{ +} + +QStringList SimplePlugin::keys() const +{ + return QStringList() << "simple" + << "simple.foo" + << "simple.foo.bar"; +} + +void SimplePlugin::initialize(const QString &key, QScriptEngine *engine) +{ + engine->globalObject().setProperty("pluginKey", key); + QScriptValue package = setupPackage(key, engine); + engine->globalObject().setProperty("package", package); +} + +Q_EXPORT_PLUGIN2(simpleplugin, SimplePlugin) diff --git a/tests/auto/qscriptextensionplugin/simpleplugin/simpleplugin.pro b/tests/auto/qscriptextensionplugin/simpleplugin/simpleplugin.pro new file mode 100644 index 0000000..e184ca4 --- /dev/null +++ b/tests/auto/qscriptextensionplugin/simpleplugin/simpleplugin.pro @@ -0,0 +1,10 @@ +TEMPLATE = lib +CONFIG += plugin +SOURCES = simpleplugin.cpp +QT = core script +TARGET = simpleplugin +DESTDIR = ../plugins/script + +symbian { + TARGET.EPOCALLOWDLLDATA=1 +} diff --git a/tests/auto/qscriptextensionplugin/staticplugin/__init__.js b/tests/auto/qscriptextensionplugin/staticplugin/__init__.js new file mode 100644 index 0000000..4e462ae --- /dev/null +++ b/tests/auto/qscriptextensionplugin/staticplugin/__init__.js @@ -0,0 +1,6 @@ +spy = { + extension: __extension__, + setupPackage: __setupPackage__, + postInit: __postInit__ +}; +__postInit__ = function() { postInitWasCalled = true; }; diff --git a/tests/auto/qscriptextensionplugin/staticplugin/staticplugin.cpp b/tests/auto/qscriptextensionplugin/staticplugin/staticplugin.cpp new file mode 100644 index 0000000..b13f723 --- /dev/null +++ b/tests/auto/qscriptextensionplugin/staticplugin/staticplugin.cpp @@ -0,0 +1,75 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include +#include + +class StaticPlugin : public QScriptExtensionPlugin +{ +public: + StaticPlugin(QObject *parent = 0); + ~StaticPlugin(); + + virtual QStringList keys() const; + virtual void initialize(const QString &key, QScriptEngine *engine); +}; + +StaticPlugin::StaticPlugin(QObject *parent) + : QScriptExtensionPlugin(parent) +{ +} + +StaticPlugin::~StaticPlugin() +{ +} + +QStringList StaticPlugin::keys() const +{ + return QStringList() << "static"; +} + +void StaticPlugin::initialize(const QString &key, QScriptEngine *engine) +{ + engine->globalObject().setProperty("pluginKey", key); +} + +Q_EXPORT_PLUGIN2(staticplugin, StaticPlugin) diff --git a/tests/auto/qscriptextensionplugin/staticplugin/staticplugin.pro b/tests/auto/qscriptextensionplugin/staticplugin/staticplugin.pro new file mode 100644 index 0000000..a003338 --- /dev/null +++ b/tests/auto/qscriptextensionplugin/staticplugin/staticplugin.pro @@ -0,0 +1,7 @@ +TEMPLATE = lib +CONFIG += static plugin +SOURCES = staticplugin.cpp +RESOURCES = staticplugin.qrc +QT = core script +TARGET = staticplugin +DESTDIR = ../plugins/script diff --git a/tests/auto/qscriptextensionplugin/staticplugin/staticplugin.qrc b/tests/auto/qscriptextensionplugin/staticplugin/staticplugin.qrc new file mode 100644 index 0000000..293bf0e --- /dev/null +++ b/tests/auto/qscriptextensionplugin/staticplugin/staticplugin.qrc @@ -0,0 +1,6 @@ + + +__init__.js + + + diff --git a/tests/auto/qscriptextensionplugin/test/test.pro b/tests/auto/qscriptextensionplugin/test/test.pro new file mode 100644 index 0000000..549bac2 --- /dev/null +++ b/tests/auto/qscriptextensionplugin/test/test.pro @@ -0,0 +1,18 @@ +load(qttest_p4) + +QT = core script +SOURCES = ../tst_qscriptextensionplugin.cpp +CONFIG -= app_bundle +LIBS += -L../plugins/script -lstaticplugin + +TARGET = tst_qscriptextensionplugin +CONFIG(debug_and_release) { + CONFIG(debug, debug|release) { + DESTDIR = ../debug + } else { + DESTDIR = ../release + } +} else { + DESTDIR = .. +} + diff --git a/tests/auto/qscriptextensionplugin/tst_qscriptextensionplugin.cpp b/tests/auto/qscriptextensionplugin/tst_qscriptextensionplugin.cpp new file mode 100644 index 0000000..e8b5e0a --- /dev/null +++ b/tests/auto/qscriptextensionplugin/tst_qscriptextensionplugin.cpp @@ -0,0 +1,167 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + + +#include + +#include + +//TESTED_CLASS= +//TESTED_FILES= + +class tst_QScriptExtensionPlugin : public QObject +{ + Q_OBJECT + +public: + tst_QScriptExtensionPlugin(); + virtual ~tst_QScriptExtensionPlugin(); + +private slots: + void importSimplePlugin(); + void importStaticPlugin(); +}; + +tst_QScriptExtensionPlugin::tst_QScriptExtensionPlugin() +{ +} + +tst_QScriptExtensionPlugin::~tst_QScriptExtensionPlugin() +{ +} + +void tst_QScriptExtensionPlugin::importSimplePlugin() +{ + QScriptEngine eng; + QCoreApplication::addLibraryPath("plugins"); + + QVERIFY(eng.importedExtensions().isEmpty()); + + QStringList available = eng.availableExtensions(); + QVERIFY(available.contains("simple")); + QVERIFY(available.contains("simple.foo")); + QVERIFY(available.contains("simple.foo.bar")); + + QScriptValue extensionObject; + { + QVERIFY(eng.importExtension("simple").isUndefined()); + QCOMPARE(eng.importedExtensions().size(), 1); + QCOMPARE(eng.importedExtensions().at(0), QString::fromLatin1("simple")); + QVERIFY(eng.availableExtensions().contains("simple")); + QVERIFY(eng.globalObject().property("pluginKey").equals("simple")); + QVERIFY(eng.globalObject().property("package").isObject()); + extensionObject = eng.globalObject().property("simple"); + QVERIFY(extensionObject.isObject()); + QVERIFY(extensionObject.equals(eng.globalObject().property("package"))); + } + + { + QVERIFY(eng.importExtension("simple.foo").isUndefined()); + QCOMPARE(eng.importedExtensions().size(), 2); + QCOMPARE(eng.importedExtensions().at(1), QString::fromLatin1("simple.foo")); + QVERIFY(eng.availableExtensions().contains("simple.foo")); + QVERIFY(eng.globalObject().property("pluginKey").equals("simple.foo")); + QVERIFY(eng.globalObject().property("package").isObject()); + QVERIFY(!extensionObject.equals(eng.globalObject().property("package"))); + QVERIFY(extensionObject.equals(eng.globalObject().property("simple"))); + QVERIFY(extensionObject.property("foo").isObject()); + QVERIFY(extensionObject.property("foo").equals(eng.globalObject().property("package"))); + } + + { + QVERIFY(eng.importExtension("simple.foo.bar").isUndefined()); + QCOMPARE(eng.importedExtensions().size(), 3); + QCOMPARE(eng.importedExtensions().at(2), QString::fromLatin1("simple.foo.bar")); + QVERIFY(eng.availableExtensions().contains("simple.foo.bar")); + QVERIFY(eng.globalObject().property("pluginKey").equals("simple.foo.bar")); + QVERIFY(eng.globalObject().property("package").isObject()); + QVERIFY(!extensionObject.equals(eng.globalObject().property("package"))); + QVERIFY(extensionObject.equals(eng.globalObject().property("simple"))); + QVERIFY(extensionObject.property("foo").property("bar").isObject()); + QVERIFY(extensionObject.property("foo").property("bar").equals(eng.globalObject().property("package"))); + } + + // Extensions can't be imported multiple times. + eng.globalObject().setProperty("pluginKey", QScriptValue()); + QVERIFY(eng.importExtension("simple").isUndefined()); + QCOMPARE(eng.importedExtensions().size(), 3); + QVERIFY(!eng.globalObject().property("pluginKey").isValid()); + + QVERIFY(eng.importExtension("simple.foo").isUndefined()); + QCOMPARE(eng.importedExtensions().size(), 3); + QVERIFY(!eng.globalObject().property("pluginKey").isValid()); + + QVERIFY(eng.importExtension("simple.foo.bar").isUndefined()); + QCOMPARE(eng.importedExtensions().size(), 3); + QVERIFY(!eng.globalObject().property("pluginKey").isValid()); +} + +void tst_QScriptExtensionPlugin::importStaticPlugin() +{ + Q_INIT_RESOURCE(staticplugin); + QScriptEngine eng; + QVERIFY(eng.availableExtensions().contains("static")); + QVERIFY(eng.importExtension("static").isUndefined()); + QCOMPARE(eng.importedExtensions().size(), 1); + QCOMPARE(eng.importedExtensions().at(0), QString::fromLatin1("static")); + QVERIFY(eng.availableExtensions().contains("static")); + QVERIFY(eng.globalObject().property("pluginKey").equals("static")); + + // Verify that :/qtscriptextension/static/__init__.js was evaluated. + QVERIFY(eng.evaluate("spy").isObject()); + QVERIFY(eng.evaluate("spy.extension").equals("static")); + QVERIFY(eng.evaluate("spy.setupPackage").isFunction()); + QVERIFY(eng.evaluate("spy.postInit").isUndefined()); + + QVERIFY(eng.evaluate("postInitWasCalled").isBool()); + QVERIFY(eng.evaluate("postInitWasCalled").toBool()); + + // Extensions can't be imported multiple times. + eng.globalObject().setProperty("pluginKey", QScriptValue()); + QVERIFY(eng.importExtension("static").isUndefined()); + QCOMPARE(eng.importedExtensions().size(), 1); + QVERIFY(!eng.globalObject().property("pluginKey").isValid()); +} + +Q_IMPORT_PLUGIN(staticplugin) + +QTEST_MAIN(tst_QScriptExtensionPlugin) +#include "tst_qscriptextensionplugin.moc" diff --git a/tests/auto/script.pro b/tests/auto/script.pro index 06f51b5..420bd74 100644 --- a/tests/auto/script.pro +++ b/tests/auto/script.pro @@ -7,6 +7,7 @@ SUBDIRS=\ qscriptengine \ qscriptengineagent \ qscriptenginedebugger \ + qscriptextensionplugin \ qscriptextqobject \ qscriptjstestsuite \ qscriptstring \ -- cgit v0.12 From 6e754afacba309797b1317b5eeab2b93536eb02b Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Mon, 1 Nov 2010 08:15:52 +0100 Subject: Compile with Qt namespace --- tests/auto/qscriptengine/tst_qscriptengine.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/auto/qscriptengine/tst_qscriptengine.cpp b/tests/auto/qscriptengine/tst_qscriptengine.cpp index 034512f..7d3d35f 100644 --- a/tests/auto/qscriptengine/tst_qscriptengine.cpp +++ b/tests/auto/qscriptengine/tst_qscriptengine.cpp @@ -5547,7 +5547,9 @@ void tst_QScriptEngine::newGrowingStaticScopeObject() eng.popContext(); } +QT_BEGIN_NAMESPACE Q_SCRIPT_DECLARE_QMETAOBJECT(QStandardItemModel, QObject*) +QT_END_NAMESPACE void tst_QScriptEngine::scriptValueFromQMetaObject() { -- cgit v0.12 From 49c0770f875b81586bd1890e128534759e057705 Mon Sep 17 00:00:00 2001 From: Jedrzej Nowacki Date: Fri, 29 Oct 2010 11:55:47 +0200 Subject: Split tst_QScriptValue::ctor autotest. The test was too big. There should be no difference in coverage. Reviewed-by: Kent Hansen --- tests/auto/qscriptvalue/tst_qscriptvalue.cpp | 230 +++++++++++++++++---------- tests/auto/qscriptvalue/tst_qscriptvalue.h | 20 ++- 2 files changed, 162 insertions(+), 88 deletions(-) diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp index 5e42921a..3184d7a 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp @@ -113,7 +113,7 @@ void tst_QScriptValue::assignAndCopyConstruct_test(const char *, const QScriptVa DEFINE_TEST_FUNCTION(assignAndCopyConstruct) -void tst_QScriptValue::ctor() +void tst_QScriptValue::ctor_invalid() { QScriptEngine eng; { @@ -121,6 +121,11 @@ void tst_QScriptValue::ctor() QCOMPARE(v.isValid(), false); QCOMPARE(v.engine(), (QScriptEngine *)0); } +} + +void tst_QScriptValue::ctor_undefinedWithEngine() +{ + QScriptEngine eng; { QScriptValue v(&eng, QScriptValue::UndefinedValue); QCOMPARE(v.isValid(), true); @@ -128,6 +133,11 @@ void tst_QScriptValue::ctor() QCOMPARE(v.isObject(), false); QCOMPARE(v.engine(), &eng); } +} + +void tst_QScriptValue::ctor_nullWithEngine() +{ + QScriptEngine eng; { QScriptValue v(&eng, QScriptValue::NullValue); QCOMPARE(v.isValid(), true); @@ -135,6 +145,11 @@ void tst_QScriptValue::ctor() QCOMPARE(v.isObject(), false); QCOMPARE(v.engine(), &eng); } +} + +void tst_QScriptValue::ctor_boolWithEngine() +{ + QScriptEngine eng; { QScriptValue v(&eng, false); QCOMPARE(v.isValid(), true); @@ -144,6 +159,11 @@ void tst_QScriptValue::ctor() QCOMPARE(v.toBoolean(), false); QCOMPARE(v.engine(), &eng); } +} + +void tst_QScriptValue::ctor_intWithEngine() +{ + QScriptEngine eng; { QScriptValue v(&eng, int(1)); QCOMPARE(v.isValid(), true); @@ -152,132 +172,102 @@ void tst_QScriptValue::ctor() QCOMPARE(v.toNumber(), 1.0); QCOMPARE(v.engine(), &eng); } +} + +void tst_QScriptValue::ctor_int() +{ { QScriptValue v(int(0x43211234)); QVERIFY(v.isNumber()); QCOMPARE(v.toInt32(), 0x43211234); } { - QScriptValue v(&eng, uint(1)); + QScriptValue v(int(1)); QCOMPARE(v.isValid(), true); QCOMPARE(v.isNumber(), true); QCOMPARE(v.isObject(), false); QCOMPARE(v.toNumber(), 1.0); - QCOMPARE(v.engine(), &eng); - } - { - QScriptValue v(uint(0x43211234)); - QVERIFY(v.isNumber()); - QCOMPARE(v.toUInt32(), uint(0x43211234)); + QCOMPARE(v.engine(), (QScriptEngine *)0); } +} + +void tst_QScriptValue::ctor_uintWithEngine() +{ + QScriptEngine eng; { - QScriptValue v(&eng, 1.0); + QScriptValue v(&eng, uint(1)); QCOMPARE(v.isValid(), true); QCOMPARE(v.isNumber(), true); QCOMPARE(v.isObject(), false); QCOMPARE(v.toNumber(), 1.0); QCOMPARE(v.engine(), &eng); } +} + +void tst_QScriptValue::ctor_uint() +{ { - QScriptValue v(12345678910.5); + QScriptValue v(uint(0x43211234)); QVERIFY(v.isNumber()); - QCOMPARE(v.toNumber(), 12345678910.5); - } - { - QScriptValue v(&eng, "ciao"); - QCOMPARE(v.isValid(), true); - QCOMPARE(v.isString(), true); - QCOMPARE(v.isObject(), false); - QCOMPARE(v.toString(), QLatin1String("ciao")); - QCOMPARE(v.engine(), &eng); + QCOMPARE(v.toUInt32(), uint(0x43211234)); } { - QScriptValue v(&eng, QString("ciao")); + QScriptValue v(uint(1)); QCOMPARE(v.isValid(), true); - QCOMPARE(v.isString(), true); + QCOMPARE(v.isNumber(), true); QCOMPARE(v.isObject(), false); - QCOMPARE(v.toString(), QLatin1String("ciao")); - QCOMPARE(v.engine(), &eng); - } - // copy constructor, operator= - { - QScriptValue v(&eng, 1.0); - QScriptValue v2(v); - QCOMPARE(v2.strictlyEquals(v), true); - QCOMPARE(v2.engine(), &eng); - - QScriptValue v3(v); - QCOMPARE(v3.strictlyEquals(v), true); - QCOMPARE(v3.strictlyEquals(v2), true); - QCOMPARE(v3.engine(), &eng); - - QScriptValue v4(&eng, 2.0); - QCOMPARE(v4.strictlyEquals(v), false); - v3 = v4; - QCOMPARE(v3.strictlyEquals(v), false); - QCOMPARE(v3.strictlyEquals(v4), true); - - v2 = QScriptValue(); - QCOMPARE(v2.strictlyEquals(v), false); QCOMPARE(v.toNumber(), 1.0); - - QScriptValue v5(v); - QCOMPARE(v5.strictlyEquals(v), true); - v = QScriptValue(); - QCOMPARE(v5.strictlyEquals(v), false); - QCOMPARE(v5.toNumber(), 1.0); - } - - // constructors that take no engine argument - { - QScriptValue v(QScriptValue::UndefinedValue); - QCOMPARE(v.isValid(), true); - QCOMPARE(v.isUndefined(), true); - QCOMPARE(v.isObject(), false); - QCOMPARE(v.engine(), (QScriptEngine *)0); - } - { - QScriptValue v(QScriptValue::NullValue); - QCOMPARE(v.isValid(), true); - QCOMPARE(v.isNull(), true); - QCOMPARE(v.isObject(), false); - QCOMPARE(v.engine(), (QScriptEngine *)0); - } - { - QScriptValue v(false); - QCOMPARE(v.isValid(), true); - QCOMPARE(v.isBoolean(), true); - QCOMPARE(v.isBool(), true); - QCOMPARE(v.isObject(), false); - QCOMPARE(v.toBoolean(), false); QCOMPARE(v.engine(), (QScriptEngine *)0); } +} + +void tst_QScriptValue::ctor_floatWithEngine() +{ + QScriptEngine eng; { - QScriptValue v(int(1)); + QScriptValue v(&eng, 1.0); QCOMPARE(v.isValid(), true); QCOMPARE(v.isNumber(), true); QCOMPARE(v.isObject(), false); QCOMPARE(v.toNumber(), 1.0); - QCOMPARE(v.engine(), (QScriptEngine *)0); + QCOMPARE(v.engine(), &eng); + } +} + +void tst_QScriptValue::ctor_float() +{ + { + QScriptValue v(12345678910.5); + QVERIFY(v.isNumber()); + QCOMPARE(v.toNumber(), 12345678910.5); } { - QScriptValue v(uint(1)); + QScriptValue v(1.0); QCOMPARE(v.isValid(), true); QCOMPARE(v.isNumber(), true); QCOMPARE(v.isObject(), false); QCOMPARE(v.toNumber(), 1.0); QCOMPARE(v.engine(), (QScriptEngine *)0); } +} + +void tst_QScriptValue::ctor_stringWithEngine() +{ + QScriptEngine eng; { - QScriptValue v(1.0); + QScriptValue v(&eng, "ciao"); QCOMPARE(v.isValid(), true); - QCOMPARE(v.isNumber(), true); + QCOMPARE(v.isString(), true); QCOMPARE(v.isObject(), false); - QCOMPARE(v.toNumber(), 1.0); - QCOMPARE(v.engine(), (QScriptEngine *)0); + QCOMPARE(v.toString(), QLatin1String("ciao")); + QCOMPARE(v.engine(), &eng); } +} + +void tst_QScriptValue::ctor_string() +{ { - QScriptValue v("ciao"); + QScriptValue v(QString("ciao")); QCOMPARE(v.isValid(), true); QCOMPARE(v.isString(), true); QCOMPARE(v.isObject(), false); @@ -285,26 +275,31 @@ void tst_QScriptValue::ctor() QCOMPARE(v.engine(), (QScriptEngine *)0); } { - QScriptValue v(QString("ciao")); + QScriptValue v("ciao"); QCOMPARE(v.isValid(), true); QCOMPARE(v.isString(), true); QCOMPARE(v.isObject(), false); QCOMPARE(v.toString(), QLatin1String("ciao")); QCOMPARE(v.engine(), (QScriptEngine *)0); } +} + +void tst_QScriptValue::ctor_copyAndAssignWithEngine() +{ + QScriptEngine eng; // copy constructor, operator= { - QScriptValue v(1.0); + QScriptValue v(&eng, 1.0); QScriptValue v2(v); QCOMPARE(v2.strictlyEquals(v), true); - QCOMPARE(v2.engine(), (QScriptEngine *)0); + QCOMPARE(v2.engine(), &eng); QScriptValue v3(v); QCOMPARE(v3.strictlyEquals(v), true); QCOMPARE(v3.strictlyEquals(v2), true); - QCOMPARE(v3.engine(), (QScriptEngine *)0); + QCOMPARE(v3.engine(), &eng); - QScriptValue v4(2.0); + QScriptValue v4(&eng, 2.0); QCOMPARE(v4.strictlyEquals(v), false); v3 = v4; QCOMPARE(v3.strictlyEquals(v), false); @@ -320,7 +315,68 @@ void tst_QScriptValue::ctor() QCOMPARE(v5.strictlyEquals(v), false); QCOMPARE(v5.toNumber(), 1.0); } +} + +void tst_QScriptValue::ctor_undefined() +{ + QScriptValue v(QScriptValue::UndefinedValue); + QCOMPARE(v.isValid(), true); + QCOMPARE(v.isUndefined(), true); + QCOMPARE(v.isObject(), false); + QCOMPARE(v.engine(), (QScriptEngine *)0); +} +void tst_QScriptValue::ctor_null() +{ + QScriptValue v(QScriptValue::NullValue); + QCOMPARE(v.isValid(), true); + QCOMPARE(v.isNull(), true); + QCOMPARE(v.isObject(), false); + QCOMPARE(v.engine(), (QScriptEngine *)0); +} + +void tst_QScriptValue::ctor_bool() +{ + QScriptValue v(false); + QCOMPARE(v.isValid(), true); + QCOMPARE(v.isBoolean(), true); + QCOMPARE(v.isBool(), true); + QCOMPARE(v.isObject(), false); + QCOMPARE(v.toBoolean(), false); + QCOMPARE(v.engine(), (QScriptEngine *)0); +} + +void tst_QScriptValue::ctor_copyAndAssign() +{ + QScriptValue v(1.0); + QScriptValue v2(v); + QCOMPARE(v2.strictlyEquals(v), true); + QCOMPARE(v2.engine(), (QScriptEngine *)0); + + QScriptValue v3(v); + QCOMPARE(v3.strictlyEquals(v), true); + QCOMPARE(v3.strictlyEquals(v2), true); + QCOMPARE(v3.engine(), (QScriptEngine *)0); + + QScriptValue v4(2.0); + QCOMPARE(v4.strictlyEquals(v), false); + v3 = v4; + QCOMPARE(v3.strictlyEquals(v), false); + QCOMPARE(v3.strictlyEquals(v4), true); + + v2 = QScriptValue(); + QCOMPARE(v2.strictlyEquals(v), false); + QCOMPARE(v.toNumber(), 1.0); + + QScriptValue v5(v); + QCOMPARE(v5.strictlyEquals(v), true); + v = QScriptValue(); + QCOMPARE(v5.strictlyEquals(v), false); + QCOMPARE(v5.toNumber(), 1.0); +} + +void tst_QScriptValue::ctor_nullEngine() +{ // 0 engine QVERIFY(QScriptValue(0, QScriptValue::UndefinedValue).isUndefined()); QVERIFY(QScriptValue(0, QScriptValue::NullValue).isNull()); diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.h b/tests/auto/qscriptvalue/tst_qscriptvalue.h index 462749a..fe5f079 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.h +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.h @@ -187,7 +187,25 @@ private slots: // Non-generated test functions void toObject(); - void ctor(); + + 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_old(); void toNumber_old(); -- cgit v0.12 From 3ecb6db4a3e71582e5249c3c2101f2f4ddf39510 Mon Sep 17 00:00:00 2001 From: Jedrzej Nowacki Date: Fri, 29 Oct 2010 12:37:50 +0200 Subject: Split tst_QScriptValue::getSetScriptClass autotest. The test was too big. More data was added to the part testing non Object behaviour. Reviewed-by: Kent Hansen --- tests/auto/qscriptvalue/tst_qscriptvalue.cpp | 43 ++++++++++++++++++++++++---- tests/auto/qscriptvalue/tst_qscriptvalue.h | 7 ++++- 2 files changed, 43 insertions(+), 7 deletions(-) diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp index 3184d7a..ce9e8d1 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp @@ -2332,14 +2332,27 @@ public: TestScriptClass(QScriptEngine *engine) : QScriptClass(engine) {} }; -void tst_QScriptValue::getSetScriptClass() +void tst_QScriptValue::getSetScriptClass_nonObjects_data() { - QScriptEngine eng; - QScriptValue inv; - QCOMPARE(inv.scriptClass(), (QScriptClass*)0); - QScriptValue num(123); - QCOMPARE(num.scriptClass(), (QScriptClass*)0); + QTest::addColumn("value"); + + QTest::newRow("invalid") << QScriptValue(); + QTest::newRow("number") << QScriptValue(123); + QTest::newRow("string") << QScriptValue("pong"); + QTest::newRow("bool") << QScriptValue(false); + QTest::newRow("null") << QScriptValue(QScriptValue::NullValue); + QTest::newRow("undefined") << QScriptValue(QScriptValue::UndefinedValue); +} + +void tst_QScriptValue::getSetScriptClass_nonObjects() +{ + QFETCH(QScriptValue, value); + QCOMPARE(value.scriptClass(), (QScriptClass*)0); +} +void tst_QScriptValue::getSetScriptClass_JSObjectFromCpp() +{ + QScriptEngine eng; TestScriptClass testClass(&eng); // object created in C++ (newObject()) { @@ -2350,6 +2363,12 @@ void tst_QScriptValue::getSetScriptClass() obj.setScriptClass(0); QCOMPARE(obj.scriptClass(), (QScriptClass*)0); } +} + +void tst_QScriptValue::getSetScriptClass_JSObjectFromJS() +{ + QScriptEngine eng; + TestScriptClass testClass(&eng); // object created in JS { QScriptValue obj = eng.evaluate("new Object"); @@ -2364,6 +2383,12 @@ void tst_QScriptValue::getSetScriptClass() obj.setScriptClass(0); QCOMPARE(obj.scriptClass(), (QScriptClass*)0); } +} + +void tst_QScriptValue::getSetScriptClass_QVariant() +{ + QScriptEngine eng; + TestScriptClass testClass(&eng); // object that already has a(n internal) class { QScriptValue obj = eng.newVariant(QUrl("http://example.com")); @@ -2375,6 +2400,12 @@ void tst_QScriptValue::getSetScriptClass() QVERIFY(!obj.isVariant()); QCOMPARE(obj.toVariant(), QVariant(QVariantMap())); } +} + +void tst_QScriptValue::getSetScriptClass_QObject() +{ + QScriptEngine eng; + TestScriptClass testClass(&eng); { QScriptValue obj = eng.newQObject(this); QVERIFY(obj.isQObject()); diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.h b/tests/auto/qscriptvalue/tst_qscriptvalue.h index fe5f079..6274a69 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.h +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.h @@ -234,7 +234,12 @@ private slots: void getSetProperty(); void arrayElementGetterSetter(); void getSetData(); - void getSetScriptClass(); + void getSetScriptClass_nonObjects_data(); + void getSetScriptClass_nonObjects(); + void getSetScriptClass_JSObjectFromCpp(); + void getSetScriptClass_JSObjectFromJS(); + void getSetScriptClass_QVariant(); + void getSetScriptClass_QObject(); void call(); void construct(); void construct_constructorThrowsPrimitive(); -- cgit v0.12 From 1a11073cb13b655943addf0afc7fb839725d128e Mon Sep 17 00:00:00 2001 From: Jedrzej Nowacki Date: Fri, 29 Oct 2010 13:32:57 +0200 Subject: Separate generated tests from hand written ones. QScriptValue test suit was way too big, so it was difficult to maintain. Reviewed-by: Kent Hansen --- tests/auto/qscriptvalue/qscriptvalue.pro | 8 - tests/auto/qscriptvalue/testgen/data.txt | 161 - tests/auto/qscriptvalue/testgen/gen.py | 241 - tests/auto/qscriptvalue/testgen/main.cpp | 62 - tests/auto/qscriptvalue/testgen/testgen.pro | 18 - tests/auto/qscriptvalue/testgen/testgenerator.cpp | 794 --- tests/auto/qscriptvalue/testgen/testgenerator.h | 74 - tests/auto/qscriptvalue/tst_qscriptvalue.cpp | 54 - tests/auto/qscriptvalue/tst_qscriptvalue.h | 304 - .../tst_qscriptvalue_generated_cast.cpp | 1453 ---- .../tst_qscriptvalue_generated_comparison.cpp | 7026 -------------------- .../tst_qscriptvalue_generated_init.cpp | 198 - .../tst_qscriptvalue_generated_isXXX.cpp | 830 --- .../tst_qscriptvalue_generated_toXXX.cpp | 1897 ------ tests/auto/qscriptvaluegenerated/.gitignore | 1 + .../qscriptvaluegenerated.pro | 18 + tests/auto/qscriptvaluegenerated/testgen/data.txt | 161 + tests/auto/qscriptvaluegenerated/testgen/gen.py | 241 + tests/auto/qscriptvaluegenerated/testgen/main.cpp | 62 + .../auto/qscriptvaluegenerated/testgen/testgen.pro | 18 + .../testgen/testgenerator.cpp | 794 +++ .../qscriptvaluegenerated/testgen/testgenerator.h | 74 + .../qscriptvaluegenerated/tst_qscriptvalue.cpp | 116 + .../auto/qscriptvaluegenerated/tst_qscriptvalue.h | 370 ++ .../tst_qscriptvalue_generated_cast.cpp | 1453 ++++ .../tst_qscriptvalue_generated_comparison.cpp | 7026 ++++++++++++++++++++ .../tst_qscriptvalue_generated_init.cpp | 198 + .../tst_qscriptvalue_generated_isXXX.cpp | 830 +++ .../tst_qscriptvalue_generated_toXXX.cpp | 1897 ++++++ tests/auto/script.pro | 1 + 30 files changed, 13260 insertions(+), 13120 deletions(-) delete mode 100644 tests/auto/qscriptvalue/testgen/data.txt delete mode 100755 tests/auto/qscriptvalue/testgen/gen.py delete mode 100644 tests/auto/qscriptvalue/testgen/main.cpp delete mode 100644 tests/auto/qscriptvalue/testgen/testgen.pro delete mode 100644 tests/auto/qscriptvalue/testgen/testgenerator.cpp delete mode 100644 tests/auto/qscriptvalue/testgen/testgenerator.h delete mode 100644 tests/auto/qscriptvalue/tst_qscriptvalue_generated_cast.cpp delete mode 100644 tests/auto/qscriptvalue/tst_qscriptvalue_generated_comparison.cpp delete mode 100644 tests/auto/qscriptvalue/tst_qscriptvalue_generated_init.cpp delete mode 100644 tests/auto/qscriptvalue/tst_qscriptvalue_generated_isXXX.cpp delete mode 100644 tests/auto/qscriptvalue/tst_qscriptvalue_generated_toXXX.cpp create mode 100644 tests/auto/qscriptvaluegenerated/.gitignore create mode 100644 tests/auto/qscriptvaluegenerated/qscriptvaluegenerated.pro create mode 100644 tests/auto/qscriptvaluegenerated/testgen/data.txt create mode 100755 tests/auto/qscriptvaluegenerated/testgen/gen.py create mode 100644 tests/auto/qscriptvaluegenerated/testgen/main.cpp create mode 100644 tests/auto/qscriptvaluegenerated/testgen/testgen.pro create mode 100644 tests/auto/qscriptvaluegenerated/testgen/testgenerator.cpp create mode 100644 tests/auto/qscriptvaluegenerated/testgen/testgenerator.h create mode 100644 tests/auto/qscriptvaluegenerated/tst_qscriptvalue.cpp create mode 100644 tests/auto/qscriptvaluegenerated/tst_qscriptvalue.h create mode 100644 tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_cast.cpp create mode 100644 tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_comparison.cpp create mode 100644 tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_init.cpp create mode 100644 tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_isXXX.cpp create mode 100644 tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_toXXX.cpp diff --git a/tests/auto/qscriptvalue/qscriptvalue.pro b/tests/auto/qscriptvalue/qscriptvalue.pro index c3e9912..0474c32 100644 --- a/tests/auto/qscriptvalue/qscriptvalue.pro +++ b/tests/auto/qscriptvalue/qscriptvalue.pro @@ -3,14 +3,6 @@ QT = core gui script SOURCES += tst_qscriptvalue.cpp HEADERS += tst_qscriptvalue.h -# Generated by testgen -SOURCES += \ - tst_qscriptvalue_generated_init.cpp \ - tst_qscriptvalue_generated_cast.cpp \ - tst_qscriptvalue_generated_comparison.cpp \ - tst_qscriptvalue_generated_isXXX.cpp \ - tst_qscriptvalue_generated_toXXX.cpp - win32-msvc* { # With -O2, MSVC takes up to 24 minutes to compile this test! QMAKE_CXXFLAGS_RELEASE -= -O1 -O2 diff --git a/tests/auto/qscriptvalue/testgen/data.txt b/tests/auto/qscriptvalue/testgen/data.txt deleted file mode 100644 index 73677ec..0000000 --- a/tests/auto/qscriptvalue/testgen/data.txt +++ /dev/null @@ -1,161 +0,0 @@ -# Data set for QScriptValue autotest. - -# Each line is a c++ code that should return a QScriptValue object. -# Lines that are empty or start with '#' will be ignored - -QScriptValue() - -#Unbound values -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(QString::fromUtf8("ąśćżźółńę")) - -#Unbound values (bound to a null engine) -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(0, QString::fromUtf8("ąśćżźółńę")) - -#Bound values -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")) - -# evaluate -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("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->evaluate(QString::fromUtf8("'ąśćżźółńę'")) - -#other -engine->nullValue() -engine->undefinedValue() -engine->newObject() -engine->newArray() -engine->newArray(10) -engine->newDate(QDateTime()) -engine->newQMetaObject(&QObject::staticMetaObject) -engine->newVariant(QVariant()) -engine->newVariant(QVariant(123)) -engine->newVariant(QVariant(false)) -engine->newQObject(0) -engine->newQObject(engine) \ No newline at end of file diff --git a/tests/auto/qscriptvalue/testgen/gen.py b/tests/auto/qscriptvalue/testgen/gen.py deleted file mode 100755 index 6e48f46..0000000 --- a/tests/auto/qscriptvalue/testgen/gen.py +++ /dev/null @@ -1,241 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -#Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) - -## $QT_BEGIN_LICENSE:LGPL$ -## No Commercial Usage -## This file contains pre-release code and may not be distributed. -## You may use this file in accordance with the terms and conditions -## contained in the Technology Preview License Agreement accompanying -## this package. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 2.1 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 2.1 requirements -## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -## -## In addition, as a special exception, Nokia gives you certain additional -## rights. These rights are described in the Nokia Qt LGPL Exception -## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -## -## If you have questions regarding the use of this file, please contact -## Nokia at qt-info@nokia.com. -## -## -## -## -## -## -## -## -## $QT_END_LICENSE$ - -from __future__ import with_statement -from string import Template - -class Options(): - """Option manager. It parse and check all paramteres, set internal variables.""" - def __init__(self, args): - import logging as log - log.basicConfig() - #comand line options parser - from optparse import OptionParser - #load some directory searching stuff - import os.path, sys - - opt = OptionParser("%prog [options] path_to_input_file path_to_output_file.") - - self._o, self._a = opt.parse_args(args) - - try: - if not (os.path.exists(self._a[0])): - raise Exception("Path doesn't exist") - if len(self._a) != 2: - raise IndexError("Only two files!") - self._o.ipath = self._a[0] - self._o.opath = self._a[1] - except IndexError: - log.error("Bad usage. Please try -h or --help") - sys.exit(1) - except Exception: - log.error("Path '" + self._a[0] + " or " + self._a[1] + "' don't exist") - sys.exit(2) - - def __getattr__(self, attr): - """map all options properties into this object (remove one level of indirection)""" - return getattr(self._o, attr) - - -mainTempl = Template("""/**************************************************************************** -** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -//////////////////////////////////////////////////////////////// -// THIS FILE IS AUTOGENERATED, ALL MODIFICATIONS WILL BE LAST // -//////////////////////////////////////////////////////////////// - -#include "testgenerator.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - - -typedef bool (QScriptValue::*ComparisionType) (const QScriptValue&) const; -static QVector compare(ComparisionType compare, QScriptValue value, const QScriptValueList& values) { - QVector result; - result.reserve(${count}); - - QScriptValueList::const_iterator i = values.constBegin(); - for (; i != values.constEnd(); ++i) { - result << (value.*compare)(*i); - } - return result; -} - -static void dump(QDataStream& out, QScriptValue& value, const QString& expression, const QScriptValueList& allValues) -{ - out << QString(expression); - - out << value.isValid(); - out << value.isBool(); - out << value.isBoolean(); - out << value.isNumber(); - out << value.isFunction(); - out << value.isNull(); - out << value.isString(); - out << value.isUndefined(); - out << value.isVariant(); - out << value.isQObject(); - out << value.isQMetaObject(); - out << value.isObject(); - out << value.isDate(); - out << value.isRegExp(); - out << value.isArray(); - out << value.isError(); - - out << value.toString(); - out << value.toNumber(); - out << value.toBool(); - out << value.toBoolean(); - out << value.toInteger(); - out << value.toInt32(); - out << value.toUInt32(); - out << value.toUInt16(); - - out << compare(&QScriptValue::equals, value, allValues); - out << compare(&QScriptValue::strictlyEquals, value, allValues); - out << compare(&QScriptValue::lessThan, value, allValues); - out << compare(&QScriptValue::instanceOf, value, allValues); - - out << qscriptvalue_cast(value); - out << qscriptvalue_cast(value); - out << qscriptvalue_cast(value); - out << qscriptvalue_cast(value); - out << qscriptvalue_cast(value); - out << qscriptvalue_cast(value); -} - -void TestGenerator::prepareData() -{ - QScriptEngine* engine = new QScriptEngine; - - QScriptValueList allValues; - allValues << ${values}; - QVector allDataTags; - allDataTags.reserve(${count}); - allDataTags << ${dataTags}; - QDataStream out(&m_tempFile); - out << allDataTags; - - for(unsigned i = 0; i < ${count}; ++i) - dump(out, allValues[i], allDataTags[i], allValues); - - delete engine; -} -""") -qsvTempl = Template(""" - { - QScriptValue value = ${expr}; - dump(out, value, "${expr_esc}", allValues); - }""") - - - -if __name__ == '__main__': - import sys - o = Options(sys.argv[1:]) - out = [] - qsv = [] - # load input file - with open(o.ipath) as f: - for row in f.readlines(): - qsv.append(row) - - #skip comments and empty lines - qsv = filter(lambda w: len(w.strip()) and not w.startswith('#'), qsv) - - escape = lambda w: w.replace('\\','\\\\').replace('"','\\"') - - for row in qsv: - row = row.replace('\n','') - row_esc = escape(row) - out.append(qsvTempl.substitute(expr = row, expr_esc = row_esc)) - - result = mainTempl.safe_substitute(dump= "".join(out) \ - , values = (11 * ' ' + '<< ').join(qsv) \ - , count = len(qsv) \ - , dataTags = (11 * ' ' + '<< ').join(map(lambda w: '"' + escape(w.replace('\n','')) + '"\n', qsv))) - - with open(o.opath, 'w') as f: - f.write(result) - - diff --git a/tests/auto/qscriptvalue/testgen/main.cpp b/tests/auto/qscriptvalue/testgen/main.cpp deleted file mode 100644 index 0672635..0000000 --- a/tests/auto/qscriptvalue/testgen/main.cpp +++ /dev/null @@ -1,62 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "testgenerator.h" -#include -#include -#include -#include - -int main(int argc, char *argv[]) -{ - QCoreApplication a(argc, argv); - - if (argc != 2) { - qWarning() << "./prog outputdir"; - exit(1); - } - - //Procced - TestGenerator gen(a.arguments()[1]); - gen.run(); - - return 0; -} diff --git a/tests/auto/qscriptvalue/testgen/testgen.pro b/tests/auto/qscriptvalue/testgen/testgen.pro deleted file mode 100644 index 47709a8..0000000 --- a/tests/auto/qscriptvalue/testgen/testgen.pro +++ /dev/null @@ -1,18 +0,0 @@ -QT += core script -TARGET = testgen -CONFIG += console -CONFIG -= app_bundle -TEMPLATE = app - -SOURCES += main.cpp \ - testgenerator.cpp -HEADERS += testgenerator.h - - -INPUT_DATASET = data.txt -dataset.name = Generating QScraiptValue autotest's dataset -dataset.output = autogenerated.cpp -dataset.commands = python gen.py data.txt autogenerated.cpp -dataset.input = INPUT_DATASET -dataset.variable_out = SOURCES -QMAKE_EXTRA_COMPILERS += dataset diff --git a/tests/auto/qscriptvalue/testgen/testgenerator.cpp b/tests/auto/qscriptvalue/testgen/testgenerator.cpp deleted file mode 100644 index 9d7d33d..0000000 --- a/tests/auto/qscriptvalue/testgen/testgenerator.cpp +++ /dev/null @@ -1,794 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "testgenerator.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -void TestGenerator::save(const QHash& data) -{ - foreach(const QString& name, data.keys()) { - QFile ofile(m_opath + "tst_qscriptvalue_generated_" + name + ".cpp"); - if (!ofile.open(QIODevice::WriteOnly | QIODevice::Text)) { - qWarning() << "Can't open output file: " << ofile.fileName(); - exit(2); - } - QTextStream out(&ofile); - out << data[name]; - } -} - -static QString escape(QString txt) -{ - return txt.replace("\\","\\\\").replace("\"","\\\"").replace("\n","\\n"); -} - -template -QString prepareToInsert(T value) {return QString::fromAscii("\"") + escape(value) + "\"";} -template<> -QString prepareToInsert(qsreal value) -{ - if (qIsNaN(value)) - return "qQNaN()"; - if (qIsInf(value)) - return "qInf()"; - return QString::number(value, 'g', 16); -} -template<> -QString prepareToInsert(qint32 value) {return QString::number(value);} -template<> -QString prepareToInsert(quint32 value) {return QString::number(value);} -template<> -QString prepareToInsert(quint16 value) {return QString::number(value);} -template<> -QString prepareToInsert(bool value) {return value ? "true" : "false";} -template<> -QString prepareToInsert(QString value) {return QString::fromAscii("\"") + escape(value) + "\"";} - -template -QString typeName() {return QString();} -template<> -QString typeName() {return "qsreal";} -template<> -QString typeName() {return "qint32";} -template<> -QString typeName() {return "quint32";} -template<> -QString typeName() {return "quint16";} -template<> -QString typeName() {return "bool";} -template<> -QString typeName() {return "QString";} - -static QString generateLicence() -{ - return "/****************************************************************************\n" - "**\n" - "** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).\n" - "** All rights reserved.\n" - "** Contact: Nokia Corporation (qt-info@nokia.com)\n" - "**\n" - "** This file is part of the test suite of the Qt Toolkit.\n" - "**\n" - "** $QT_BEGIN_LICENSE:LGPL$\n" - "** No Commercial Usage\n" - "** This file contains pre-release code and may not be distributed.\n" - "** You may use this file in accordance with the terms and conditions\n" - "** contained in the Technology Preview License Agreement accompanying\n" - "** this package.\n" - "**\n" - "** GNU Lesser General Public License Usage\n" - "** Alternatively, this file may be used under the terms of the GNU Lesser\n" - "** General Public License version 2.1 as published by the Free Software\n" - "** Foundation and appearing in the file LICENSE.LGPL included in the\n" - "** packaging of this file. Please review the following information to\n" - "** ensure the GNU Lesser General Public License version 2.1 requirements\n" - "** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.\n" - "**\n" - "** In addition, as a special exception, Nokia gives you certain additional\n" - "** rights. These rights are described in the Nokia Qt LGPL Exception\n" - "** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.\n" - "**\n" - "** If you have questions regarding the use of this file, please contact\n" - "** Nokia at qt-info@nokia.com.\n" - "**\n" - "**\n" - "**\n" - "**\n" - "**\n" - "**\n" - "**\n" - "**\n" - "** $QT_END_LICENSE$\n" - "**\n" - "****************************************************************************/\n" - "\n"\ - "/****************************************************************************\n"\ - "*************** This file has been generated. DO NOT MODIFY! ****************\n" - "****************************************************************************/\n\n"\ - "#include \"tst_qscriptvalue.h\"\n\n"; -} - -static QString generateIsXXXDef(const QString& name, const QList& list) -{ - static const QString templ("void tst_QScriptValue::%1_initData()\n"\ - "{\n"\ - " QTest::addColumn(\"expected\");\n"\ - " initScriptValues();\n"\ - "}\n"\ - "\n"\ - "static QString %1_array[] = {%2};\n\n"\ - "void tst_QScriptValue::%1_makeData(const char* expr)\n"\ - "{\n"\ - " static QSet %1;\n"\ - " if (%1.isEmpty()) {\n"\ - " %1.reserve(%3);\n"\ - " for (unsigned i = 0; i < %3; ++i)\n"\ - " %1.insert(%1_array[i]);\n"\ - " }\n"\ - " newRow(expr) << %1.contains(expr);\n"\ - "}\n"\ - "\n"\ - "void tst_QScriptValue::%1_test(const char*, const QScriptValue& value)\n"\ - "{\n"\ - " QFETCH(bool, expected);\n"\ - " QCOMPARE(value.%1(), expected);\n"\ - " QCOMPARE(value.%1(), expected);\n"\ - "}\n"\ - "\n"\ - "DEFINE_TEST_FUNCTION(%1)\n"\ - "\n"); - - if (!list.size()) { - qWarning() << name << ": nothing to add!" ; - return QString(); - } - - QString result = templ; - QStringList set; - set.reserve(3 * list.count()); - foreach(const QString& t, list) { - if (!set.isEmpty()) - set.append("\","); - set.append("\n \""); - set.append(escape(t)); - set.append("\""); - } - - return result.arg(name, set.join(QString()), QString::number(list.count())); -} - -template -static QString generateToXXXDef(const QString& name, const QList >& list) -{ - static const QString templ = "\n"\ - "void tst_QScriptValue::%1_initData()\n"\ - "{\n"\ - " QTest::addColumn<%2>(\"expected\");\n"\ - " initScriptValues();\n"\ - "}\n"\ - "\n"\ - "static QString %1_tagArray[] = {%4};\n\n"\ - "static %2 %1_valueArray[] = {%5};\n\n"\ - "void tst_QScriptValue::%1_makeData(const char* expr)\n"\ - "{\n"\ - " static QHash %1;\n"\ - " if (%1.isEmpty()) {\n"\ - " %1.reserve(%3);\n"\ - " for (unsigned i = 0; i < %3; ++i)\n"\ - " %1.insert(%1_tagArray[i], %1_valueArray[i]);\n"\ - " }\n"\ - " newRow(expr) << %1.value(expr);\n"\ - "}\n"\ - "\n"\ - "void tst_QScriptValue::%1_test(const char*, const QScriptValue& value)\n"\ - "{\n"\ - " QFETCH(%2, expected);\n"\ - " QCOMPARE(value.%1(), expected);\n"\ - " QCOMPARE(value.%1(), expected);\n"\ - "}\n"\ - "\n"\ - "DEFINE_TEST_FUNCTION(%1)\n"; - QString result = templ; - - typename QList >::const_iterator i = list.constBegin(); - QStringList tagSet, valueSet; - tagSet.reserve(4 * list.count()); - valueSet.reserve(3 * list.count()); - for(int lineBreaker = 0; i != list.constEnd(); ++i) { - QPair t = *i; - t.first = escape(t.first); - if (!valueSet.isEmpty()) { - valueSet.append(QString(",")); - tagSet.append(QString::fromAscii(",")); - } - tagSet.append(QString("\n \"")); - tagSet.append(t.first); - tagSet.append(QString::fromAscii("\"")); - if (!((lineBreaker++)%2)) - valueSet.append(QString("\n ")); - else - valueSet.append(QString::fromAscii(" ")); - valueSet.append(prepareToInsert(t.second)); - } - return result.arg(name, - typeName(), - QString::number(list.count()), - tagSet.join(QString()), - valueSet.join(QString())); -} - - -template<> -QString generateToXXXDef(const QString& name, const QList >& list) -{ - static const QString templ = "\n"\ - "void tst_QScriptValue::%1_initData()\n"\ - "{\n"\ - " QTest::addColumn<%2>(\"expected\");\n"\ - " initScriptValues();\n"\ - "}\n"\ - "\n"\ - "static QString %1_tagArray[] = {%3};\n"\ - "static %2 %1_valueArray[] = {%4};\n"\ - "void tst_QScriptValue::%1_makeData(const char* expr)\n"\ - "{\n"\ - " static QHash %1;\n"\ - " if (%1.isEmpty()) {\n"\ - " %1.reserve(%5);\n"\ - " for (unsigned i = 0; i < %5; ++i)\n"\ - " %1.insert(%1_tagArray[i], %1_valueArray[i]);\n"\ - " }\n"\ - " newRow(expr) << %1.value(expr);\n"\ - "}\n"\ - "\n"\ - "void tst_QScriptValue::%1_test(const char*, const QScriptValue& value)\n"\ - "{\n"\ - " QFETCH(%2, expected);\n"\ - "%666" - " if (qIsInf(expected)) {\n"\ - " QVERIFY(qIsInf(value.%1()));\n"\ - " QVERIFY(qIsInf(value.%1()));\n"\ - " return;\n"\ - " }\n"\ - " QCOMPARE(value.%1(), expected);\n"\ - " QCOMPARE(value.%1(), expected);\n"\ - "}\n"\ - "\n"\ - "DEFINE_TEST_FUNCTION(%1)\n"; - QString result = templ; - - QList >::const_iterator i = list.constBegin(); - QStringList tagSet, valueSet; - tagSet.reserve(4 * list.count()); - valueSet.reserve(3 * list.count()); - for(int lineBreaker = 0; i != list.constEnd(); ++i) { - QPair t = *i; - t.first = escape(t.first); - if (!valueSet.isEmpty()) { - valueSet.append(QString(",")); - tagSet.append(QString::fromAscii(",")); - } - tagSet.append(QString("\n \"")); - tagSet.append(t.first); - tagSet.append(QString::fromAscii("\"")); - if (!((lineBreaker++)%10)) - valueSet.append(QString("\n ")); - else - valueSet.append(QString::fromAscii(" ")); - valueSet.append(prepareToInsert(t.second)); - } - - // toInteger shouldn't return NaN, so it would be nice to catch the case. - QString hook; - if (name == "toNumber") { - hook = - " if (qIsNaN(expected)) {\n"\ - " QVERIFY(qIsNaN(value.toNumber()));\n"\ - " return;\n"\ - " }\n"; - } - return result.arg(name, - typeName(), - tagSet.join(QString()), - valueSet.join(QString()), - QString::number(list.count()), - hook); -} - -template -static QString generateCastDef(const QList >& list) -{ - static const QString templ = "\n"\ - "void tst_QScriptValue::qscriptvalue_cast%1_initData()\n"\ - "{\n"\ - " QTest::addColumn<%1>(\"expected\");\n"\ - " initScriptValues();\n"\ - "}\n"\ - "\n"\ - "static QString qscriptvalue_cast%1_tagArray[] = {%2};\n"\ - "static %1 qscriptvalue_cast%1_valueArray[] = {%3};\n"\ - "void tst_QScriptValue::qscriptvalue_cast%1_makeData(const char* expr)\n"\ - "{\n"\ - " static QHash value;\n"\ - " if (value.isEmpty()) {\n"\ - " value.reserve(%4);\n"\ - " for (unsigned i = 0; i < %4; ++i)\n"\ - " value.insert(qscriptvalue_cast%1_tagArray[i], qscriptvalue_cast%1_valueArray[i]);\n"\ - " }\n"\ - " newRow(expr) << value.value(expr);\n"\ - "}\n"\ - "\n"\ - "void tst_QScriptValue::qscriptvalue_cast%1_test(const char*, const QScriptValue& value)\n"\ - "{\n"\ - " QFETCH(%1, expected);\n"\ - " QCOMPARE(qscriptvalue_cast<%1>(value), expected);\n"\ - " QCOMPARE(qscriptvalue_cast<%1>(value), expected);\n"\ - "}\n"\ - "\n"\ - "DEFINE_TEST_FUNCTION(qscriptvalue_cast%1)\n"; - QString result = templ; - - typename QList >::const_iterator i = list.constBegin(); - QStringList tagSet, valueSet; - tagSet.reserve(4 * list.count()); - valueSet.reserve(3 * list.count()); - for(int lineBreaker = 0; i != list.constEnd(); ++i) { - QPair t = *i; - t.first = escape(t.first); - if (!valueSet.isEmpty()) { - valueSet.append(QString(",")); - tagSet.append(QString::fromAscii(",")); - } - tagSet.append(QString("\n \"")); - tagSet.append(t.first); - tagSet.append(QString::fromAscii("\"")); - if (!((lineBreaker++)%2)) - valueSet.append(QString("\n ")); - else - valueSet.append(QString::fromAscii(" ")); - valueSet.append(prepareToInsert(t.second)); - } - return result.arg(typeName(), tagSet.join(QString()), valueSet.join(QString()), QString::number(list.count())); -} - -template<> -QString generateCastDef(const QList >& list) -{ - static const QString templ = "\n"\ - "void tst_QScriptValue::qscriptvalue_cast%1_initData()\n"\ - "{\n"\ - " QTest::addColumn<%1>(\"expected\");\n"\ - " initScriptValues();\n"\ - "}\n"\ - "\n"\ - "static QString qscriptvalue_cast%1_tagArray[] = {%2};\n"\ - "static %1 qscriptvalue_cast%1_valueArray[] = {%3};\n"\ - "void tst_QScriptValue::qscriptvalue_cast%1_makeData(const char* expr)\n"\ - "{\n"\ - " static QHash value;\n"\ - " if (value.isEmpty()) {\n"\ - " value.reserve(%4);\n"\ - " for (unsigned i = 0; i < %4; ++i)\n"\ - " value.insert(qscriptvalue_cast%1_tagArray[i], qscriptvalue_cast%1_valueArray[i]);\n"\ - " }\n"\ - " newRow(expr) << value.value(expr);\n"\ - "}\n"\ - "\n"\ - "void tst_QScriptValue::qscriptvalue_cast%1_test(const char*, const QScriptValue& value)\n"\ - "{\n"\ - " QFETCH(%1, expected);\n"\ - " if (qIsNaN(expected)) {\n" - " QVERIFY(qIsNaN(qscriptvalue_cast<%1>(value)));\n" - " QVERIFY(qIsNaN(qscriptvalue_cast<%1>(value)));\n" - " return;\n" - " }\n"\ - " if (qIsInf(expected)) {\n" - " QVERIFY(qIsInf(qscriptvalue_cast<%1>(value)));\n" - " QVERIFY(qIsInf(qscriptvalue_cast<%1>(value)));\n" - " return;\n" - " }\n" - " QCOMPARE(qscriptvalue_cast<%1>(value), expected);\n"\ - " QCOMPARE(qscriptvalue_cast<%1>(value), expected);\n"\ - "}\n"\ - "\n"\ - "DEFINE_TEST_FUNCTION(qscriptvalue_cast%1)\n"; - QString result = templ; - - QList >::const_iterator i = list.constBegin(); - QStringList tagSet, valueSet; - tagSet.reserve(4 * list.count()); - valueSet.reserve(3 * list.count()); - for(int lineBreaker = 0; i != list.constEnd(); ++i) { - QPair t = *i; - t.first = escape(t.first); - if (!valueSet.isEmpty()) { - valueSet.append(QString(",")); - tagSet.append(QString::fromAscii(",")); - } - tagSet.append(QString("\n \"")); - tagSet.append(t.first); - tagSet.append(QString::fromAscii("\"")); - if (!((lineBreaker++)%10)) - valueSet.append(QString("\n ")); - else - valueSet.append(QString::fromAscii(" ")); - valueSet.append(prepareToInsert(t.second)); - } - return result.arg(typeName(), - tagSet.join(QString()), - valueSet.join(QString()), - QString::number(list.count())); -} - -static QString generateCompareDef(const QString& comparisionType, const QList tags) -{ - static const QString templ = "\n"\ - "void tst_QScriptValue::%1_initData()\n"\ - "{\n"\ - " QTest::addColumn(\"other\");\n"\ - " QTest::addColumn(\"expected\");\n"\ - " initScriptValues();\n"\ - "}\n"\ - "\n"\ - "static QString %1_array[] = {%2};\n\n"\ - "void tst_QScriptValue::%1_makeData(const char *expr)\n"\ - "{\n"\ - " static QSet equals;\n"\ - " if (equals.isEmpty()) {\n"\ - " equals.reserve(%3);\n"\ - " for (unsigned i = 0; i < %3; ++i)\n"\ - " equals.insert(%1_array[i]);\n"\ - " }\n"\ - " QHash::const_iterator it;\n"\ - " for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) {\n"\ - " QString tag = QString::fromLatin1(\"%20 <=> %21\").arg(expr).arg(it.key());\n"\ - " newRow(tag.toLatin1()) << it.value() << equals.contains(tag);\n"\ - " }\n"\ - "}\n"\ - "\n"\ - "void tst_QScriptValue::%1_test(const char *, const QScriptValue& value)\n"\ - "{\n"\ - " QFETCH(QScriptValue, other);\n"\ - " QFETCH(bool, expected);\n"\ - " QCOMPARE(value.%1(other), expected);\n"\ - "}\n"\ - "\n"\ - "DEFINE_TEST_FUNCTION(%1)\n"; - Q_ASSERT(comparisionType == "strictlyEquals" - || comparisionType == "equals" - || comparisionType == "lessThan" - || comparisionType == "instanceOf"); - QString result = templ; - - QStringList set; - set.reserve(4 * tags.count()); - foreach(const QString& tmp, tags) { - if (!set.isEmpty()) - set.append(","); - set.append("\n \""); - set.append(escape(tmp)); - set.append("\""); - } - return result.arg(comparisionType, set.join(""), QString::number(tags.count())); -} - -static QString generateInitDef(const QVector& allDataTags) -{ - static const QString templ = "void tst_QScriptValue::initScriptValues()\n"\ - "{\n"\ - " m_values.clear();\n"\ - " if (engine)\n"\ - " delete engine;\n"\ - " engine = new QScriptEngine;\n"\ - "%1\n}\n\n"; - QString result = templ; - QStringList set; - foreach(const QString tag, allDataTags) { - set.append(" DEFINE_TEST_VALUE(" + tag + ");"); - } - - return result.arg(set.join("\n")); -} - -static void squashTags(QString dataTag, const QVector& results, QList& tags, QVector dataTags) -{ - for(int i = 0; i < results.count(); ++i) { - if (results.at(i)) - tags.append(dataTag + " <=> " + dataTags[i]); - } -} - - -QHash TestGenerator::generateTest() -{ - // All data tags keept in one place. - QVector dataTags; - - // Data tags for values that return true in isXXX call - QList isValidList; - QList isBoolList; - QList isBooleanList; - QList isNumberList; - QList isFunctionList; - QList isNullList; - QList isStringList; - QList isUndefinedList; - QList isVariantList; - QList isQObjectList; - QList isQMetaObjectList; - QList isObjectList; - QList isDateList; - QList isRegExpList; - QList isArrayList; - QList isErrorList; - - // List of pairs data tag and value returned from toXXX call - QList > toStringList; - QList > toNumberList; - QList > toBoolList; - QList > toBooleanList; - QList > toIntegerList; - QList > toInt32List; - QList > toUInt32List; - QList > toUInt16List; - - // List of complex tags returning true - QList equalsList; - QList strictlyEqualsList; - QList lessThanList; - QList instanceOfList; - - QList > castStringList; - QList > castSRealList; - QList > castBoolList; - QList > castInt32List; - QList > castUInt32List; - QList > castUInt16List; - - // Load. - m_tempFile.seek(0); - QDataStream in(&m_tempFile); - in >> dataTags; - Q_ASSERT(in.status() == in.Ok); - - while(!in.atEnd()) - { - bool isValidRes; - bool isBoolRes; - bool isBooleanRes; - bool isNumberRes; - bool isFunctionRes; - bool isNullRes; - bool isStringRes; - bool isUndefinedRes; - bool isVariantRes; - bool isQObjectRes; - bool isQMetaObjectRes; - bool isObjectRes; - bool isDateRes; - bool isRegExpRes; - bool isArrayRes; - bool isErrorRes; - - QString toStringRes; - qsreal toNumberRes; - bool toBoolRes; - bool toBooleanRes; - qsreal toIntegerRes; - qint32 toInt32Res; - quint32 toUInt32Res; - quint16 toUInt16Res; - //toVariantRes; - //toDateTimeRes; - - QVector equalsRes; - QVector strictlyEqualsRes; - QVector lessThanRes; - QVector instanceOfRes; - - QString castStringRes; - qsreal castSRealRes; - bool castBoolRes; - qint32 castInt32Res; - quint32 castUInt32Res; - quint16 castUInt16Res; - - QString dataTag; - in >> dataTag; - in >> isValidRes; - in >> isBoolRes; - in >> isBooleanRes; - in >> isNumberRes; - in >> isFunctionRes; - in >> isNullRes; - in >> isStringRes; - in >> isUndefinedRes; - in >> isVariantRes; - in >> isQObjectRes; - in >> isQMetaObjectRes; - in >> isObjectRes; - in >> isDateRes; - in >> isRegExpRes; - in >> isArrayRes; - in >> isErrorRes; - - if (isValidRes) isValidList.append(dataTag); - if (isBoolRes) isBoolList.append(dataTag); - if (isBooleanRes) isBooleanList.append(dataTag); - if (isNumberRes) isNumberList.append(dataTag); - if (isFunctionRes) isFunctionList.append(dataTag); - if (isNullRes) isNullList.append(dataTag); - if (isStringRes) isStringList.append(dataTag); - if (isUndefinedRes) isUndefinedList.append(dataTag); - if (isVariantRes) isVariantList.append(dataTag); - if (isQObjectRes) isQObjectList.append(dataTag); - if (isQMetaObjectRes) isQMetaObjectList.append(dataTag); - if (isObjectRes) isObjectList.append(dataTag); - if (isDateRes) isDateList.append(dataTag); - if (isRegExpRes) isRegExpList.append(dataTag); - if (isArrayRes) isArrayList.append(dataTag); - if (isErrorRes) isErrorList.append(dataTag); - - in >> toStringRes; - in >> toNumberRes; - in >> toBoolRes; - in >> toBooleanRes; - in >> toIntegerRes; - in >> toInt32Res; - in >> toUInt32Res; - in >> toUInt16Res; - //in >> toVariantRes; - //in >> toDateTimeRes; - - toStringList.append(QPair(dataTag, toStringRes)); - toNumberList.append(QPair(dataTag, toNumberRes)); - toBoolList.append(QPair(dataTag, toBoolRes)); - toBooleanList.append(QPair(dataTag, toBooleanRes)); - toIntegerList.append(QPair(dataTag, toIntegerRes)); - toInt32List.append(QPair(dataTag, toInt32Res)); - toUInt32List.append(QPair(dataTag, toUInt32Res)); - toUInt16List.append(QPair(dataTag, toUInt16Res)); - - in >> equalsRes; - in >> strictlyEqualsRes; - in >> lessThanRes; - in >> instanceOfRes; - - squashTags(dataTag, equalsRes, equalsList, dataTags); - squashTags(dataTag, strictlyEqualsRes, strictlyEqualsList, dataTags); - squashTags(dataTag, lessThanRes, lessThanList, dataTags); - squashTags(dataTag, instanceOfRes, instanceOfList, dataTags); - - in >> castStringRes; - in >> castSRealRes; - in >> castBoolRes; - in >> castInt32Res; - in >> castUInt32Res; - in >> castUInt16Res; - - castStringList.append(QPair(dataTag, castStringRes)); - castSRealList.append(QPair(dataTag, castSRealRes)); - castBoolList.append(QPair(dataTag, castBoolRes)); - castInt32List.append(QPair(dataTag, castInt32Res)); - castUInt32List.append(QPair(dataTag, castUInt32Res)); - castUInt16List.append(QPair(dataTag, castUInt16Res)); - - Q_ASSERT(in.status() == in.Ok); - } - - Q_ASSERT(in.atEnd()); - - // Generate. - QHash result; - QStringList tmp; - tmp.append(generateLicence()); - tmp.append(generateInitDef(dataTags)); - result.insert("init", tmp.join("\n")); - tmp.clear(); - - tmp.append(generateLicence()); - tmp.append(generateIsXXXDef("isValid", isValidList)); - tmp.append(generateIsXXXDef("isBool", isBoolList)); - tmp.append(generateIsXXXDef("isBoolean", isBooleanList)); - tmp.append(generateIsXXXDef("isNumber", isNumberList)); - tmp.append(generateIsXXXDef("isFunction", isFunctionList)); - tmp.append(generateIsXXXDef("isNull", isNullList)); - tmp.append(generateIsXXXDef("isString", isStringList)); - tmp.append(generateIsXXXDef("isUndefined", isUndefinedList)); - tmp.append(generateIsXXXDef("isVariant", isVariantList)); - tmp.append(generateIsXXXDef("isQObject", isQObjectList)); - tmp.append(generateIsXXXDef("isQMetaObject", isQMetaObjectList)); - tmp.append(generateIsXXXDef("isObject", isObjectList)); - tmp.append(generateIsXXXDef("isDate", isDateList)); - tmp.append(generateIsXXXDef("isRegExp", isRegExpList)); - tmp.append(generateIsXXXDef("isArray", isArrayList)); - tmp.append(generateIsXXXDef("isError", isErrorList)); - result.insert("isXXX", tmp.join("\n")); - tmp.clear(); - - tmp.append(generateLicence()); - tmp.append(generateToXXXDef("toString", toStringList)); - tmp.append(generateToXXXDef("toNumber", toNumberList)); - tmp.append(generateToXXXDef("toBool", toBoolList)); - tmp.append(generateToXXXDef("toBoolean", toBooleanList)); - tmp.append(generateToXXXDef("toInteger", toIntegerList)); - tmp.append(generateToXXXDef("toInt32", toInt32List)); - tmp.append(generateToXXXDef("toUInt32", toUInt32List)); - tmp.append(generateToXXXDef("toUInt16", toUInt16List)); - result.insert("toXXX", tmp.join("\n")); - tmp.clear(); - - tmp.append(generateLicence()); - tmp.append(generateCompareDef("equals", equalsList)); - tmp.append(generateCompareDef("strictlyEquals", strictlyEqualsList)); - tmp.append(generateCompareDef("lessThan", lessThanList)); - tmp.append(generateCompareDef("instanceOf", instanceOfList)); - result.insert("comparison", tmp.join("\n")); - tmp.clear(); - - tmp.append(generateLicence()); - tmp.append(generateCastDef(castStringList)); - tmp.append(generateCastDef(castSRealList)); - tmp.append(generateCastDef(castBoolList)); - tmp.append(generateCastDef(castInt32List)); - tmp.append(generateCastDef(castUInt32List)); - tmp.append(generateCastDef(castUInt16List)); - result.insert("cast", tmp.join("\n")); - - return result; -} - - - - - - - - - diff --git a/tests/auto/qscriptvalue/testgen/testgenerator.h b/tests/auto/qscriptvalue/testgen/testgenerator.h deleted file mode 100644 index 1c61fc5..0000000 --- a/tests/auto/qscriptvalue/testgen/testgenerator.h +++ /dev/null @@ -1,74 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef TESTGENERATOR_H -#define TESTGENERATOR_H - -#include -#include -#include - -class TestGenerator { -public: - TestGenerator(QString& outputpath) - : m_opath(outputpath) - { - if (!m_opath.endsWith('/')) - m_opath.append('/'); - m_tempFile.open(); - } - - void run() - { - prepareData(); - Q_ASSERT(m_tempFile.size()); - save(generateTest()); - } - - void prepareData(); - QHash generateTest(); - void save(const QHash& data); -private: - QString m_opath; - QTemporaryFile m_tempFile; -}; - -#endif // TESTGENERATOR_H diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp index ce9e8d1..e29b5d0 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp @@ -59,60 +59,6 @@ tst_QScriptValue::~tst_QScriptValue() delete engine; } -void tst_QScriptValue::dataHelper(InitDataFunction init, DefineDataFunction define) -{ - QTest::addColumn("__expression__"); - (this->*init)(); - QHash::const_iterator it; - for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) { - m_currentExpression = it.key(); - (this->*define)(it.key().toLatin1()); - } - m_currentExpression = QString(); -} - -QTestData &tst_QScriptValue::newRow(const char *tag) -{ - return QTest::newRow(tag) << m_currentExpression; -} - -void tst_QScriptValue::testHelper(TestFunction fun) -{ - QFETCH(QString, __expression__); - QScriptValue value = m_values.value(__expression__); - (this->*fun)(__expression__.toLatin1(), value); -} - -void tst_QScriptValue::assignAndCopyConstruct_initData() -{ - QTest::addColumn("dummy"); - initScriptValues(); -} - -void tst_QScriptValue::assignAndCopyConstruct_makeData(const char *expr) -{ - newRow(expr) << 0; -} - -void tst_QScriptValue::assignAndCopyConstruct_test(const char *, const QScriptValue &value) -{ - QScriptValue copy(value); - QCOMPARE(copy.strictlyEquals(value), !value.isNumber() || !qIsNaN(value.toNumber())); - QCOMPARE(copy.engine(), value.engine()); - - QScriptValue assigned = copy; - QCOMPARE(assigned.strictlyEquals(value), !copy.isNumber() || !qIsNaN(copy.toNumber())); - QCOMPARE(assigned.engine(), assigned.engine()); - - QScriptValue other(!value.toBool()); - assigned = other; - QVERIFY(!assigned.strictlyEquals(copy)); - QVERIFY(assigned.strictlyEquals(other)); - QCOMPARE(assigned.engine(), other.engine()); -} - -DEFINE_TEST_FUNCTION(assignAndCopyConstruct) - void tst_QScriptValue::ctor_invalid() { QScriptEngine eng; diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.h b/tests/auto/qscriptvalue/tst_qscriptvalue.h index 6274a69..e17fcca 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.h +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.h @@ -49,8 +49,6 @@ #include #include -#define DEFINE_TEST_VALUE(expr) m_values.insert(QString::fromLatin1(#expr), expr) - Q_DECLARE_METATYPE(QVariant) Q_DECLARE_METATYPE(QScriptValue) @@ -63,129 +61,6 @@ public: virtual ~tst_QScriptValue(); private slots: - // Generated test functions - void isArray_data(); - void isArray(); - - void isBool_data(); - void isBool(); - - void isBoolean_data(); - void isBoolean(); - - void isDate_data(); - void isDate(); - - void isError_data(); - void isError(); - - void isFunction_data(); - void isFunction(); - - void isNull_data(); - void isNull(); - - void isNumber_data(); - void isNumber(); - - void isObject_data(); - void isObject(); - - void isQMetaObject_data(); - void isQMetaObject(); - - void isQObject_data(); - void isQObject(); - - void isRegExp_data(); - void isRegExp(); - - void isString_data(); - void isString(); - - void isUndefined_data(); - void isUndefined(); - - void isValid_data(); - void isValid(); - - void isVariant_data(); - void isVariant(); - - void toBool_data(); - void toBool(); - - void toBoolean_data(); - void toBoolean(); - -// void toDateTime_data(); -// void toDateTime(); - - void toInt32_data(); - void toInt32(); - - void toInteger_data(); - void toInteger(); - - void toNumber_data(); - void toNumber(); - -// void toQMetaObject_data(); -// void toQMetaObject(); - -// void toQObject_data(); -// void toQObject(); - -// void toRegExp_data(); -// void toRegExp(); - - void toString_data(); - void toString(); - - void toUInt16_data(); - void toUInt16(); - - void toUInt32_data(); - void toUInt32(); - -// void toVariant_data(); -// void toVariant(); - - void equals_data(); - void equals(); - - void strictlyEquals_data(); - void strictlyEquals(); - - void lessThan_data(); - void lessThan(); - - void instanceOf_data(); - void instanceOf(); - - void assignAndCopyConstruct_data(); - void assignAndCopyConstruct(); - - void qscriptvalue_castQString_data(); - void qscriptvalue_castQString(); - - void qscriptvalue_castqsreal_data(); - void qscriptvalue_castqsreal(); - - void qscriptvalue_castbool_data(); - void qscriptvalue_castbool(); - - void qscriptvalue_castqint32_data(); - void qscriptvalue_castqint32(); - - void qscriptvalue_castquint32_data(); - void qscriptvalue_castquint32(); - - void qscriptvalue_castquint16_data(); - void qscriptvalue_castquint16(); - - // Non-generated test functions - void toObject(); void ctor_invalid(); @@ -253,186 +128,7 @@ private slots: void nestedObjectToVariant(); private: - typedef void (tst_QScriptValue::*InitDataFunction)(); - typedef void (tst_QScriptValue::*DefineDataFunction)(const char *); - void dataHelper(InitDataFunction init, DefineDataFunction define); - QTestData &newRow(const char *tag); - - typedef void (tst_QScriptValue::*TestFunction)(const char *, const QScriptValue &); - void testHelper(TestFunction fun); - - // Generated functions - - void initScriptValues(); - - void isArray_initData(); - void isArray_makeData(const char *expr); - void isArray_test(const char *expr, const QScriptValue &value); - - void isBool_initData(); - void isBool_makeData(const char *expr); - void isBool_test(const char *expr, const QScriptValue &value); - - void isBoolean_initData(); - void isBoolean_makeData(const char *expr); - void isBoolean_test(const char *expr, const QScriptValue &value); - - void isDate_initData(); - void isDate_makeData(const char *expr); - void isDate_test(const char *expr, const QScriptValue &value); - - void isError_initData(); - void isError_makeData(const char *expr); - void isError_test(const char *expr, const QScriptValue &value); - - void isFunction_initData(); - void isFunction_makeData(const char *expr); - void isFunction_test(const char *expr, const QScriptValue &value); - - void isNull_initData(); - void isNull_makeData(const char *expr); - void isNull_test(const char *expr, const QScriptValue &value); - - void isNumber_initData(); - void isNumber_makeData(const char *expr); - void isNumber_test(const char *expr, const QScriptValue &value); - - void isObject_initData(); - void isObject_makeData(const char *expr); - void isObject_test(const char *expr, const QScriptValue &value); - - void isQMetaObject_initData(); - void isQMetaObject_makeData(const char *expr); - void isQMetaObject_test(const char *expr, const QScriptValue &value); - - void isQObject_initData(); - void isQObject_makeData(const char *expr); - void isQObject_test(const char *expr, const QScriptValue &value); - - void isRegExp_initData(); - void isRegExp_makeData(const char *expr); - void isRegExp_test(const char *expr, const QScriptValue &value); - - void isString_initData(); - void isString_makeData(const char *expr); - void isString_test(const char *expr, const QScriptValue &value); - - void isUndefined_initData(); - void isUndefined_makeData(const char *expr); - void isUndefined_test(const char *expr, const QScriptValue &value); - - void isValid_initData(); - void isValid_makeData(const char *expr); - void isValid_test(const char *expr, const QScriptValue &value); - - void isVariant_initData(); - void isVariant_makeData(const char *expr); - void isVariant_test(const char *expr, const QScriptValue &value); - - void toBool_initData(); - void toBool_makeData(const char *); - void toBool_test(const char *, const QScriptValue &value); - - void toBoolean_initData(); - void toBoolean_makeData(const char *); - void toBoolean_test(const char *, const QScriptValue &value); - - void toDateTime_initData(); - void toDateTime_makeData(const char *); - void toDateTime_test(const char *, const QScriptValue &value); - - void toInt32_initData(); - void toInt32_makeData(const char *); - void toInt32_test(const char *, const QScriptValue &value); - - void toInteger_initData(); - void toInteger_makeData(const char *); - void toInteger_test(const char *, const QScriptValue &value); - - void toNumber_initData(); - void toNumber_makeData(const char *); - void toNumber_test(const char *, const QScriptValue &value); - - void toQMetaObject_initData(); - void toQMetaObject_makeData(const char *); - void toQMetaObject_test(const char *, const QScriptValue &value); - - void toQObject_initData(); - void toQObject_makeData(const char *); - void toQObject_test(const char *, const QScriptValue &value); - - void toRegExp_initData(); - void toRegExp_makeData(const char *); - void toRegExp_test(const char *, const QScriptValue &value); - - void toString_initData(); - void toString_makeData(const char *); - void toString_test(const char *, const QScriptValue &value); - - void toUInt16_initData(); - void toUInt16_makeData(const char *); - void toUInt16_test(const char *, const QScriptValue &value); - - void toUInt32_initData(); - void toUInt32_makeData(const char *); - void toUInt32_test(const char *, const QScriptValue &value); - - void toVariant_initData(); - void toVariant_makeData(const char *); - void toVariant_test(const char *, const QScriptValue &value); - - void equals_initData(); - void equals_makeData(const char *); - void equals_test(const char *, const QScriptValue &value); - - void strictlyEquals_initData(); - void strictlyEquals_makeData(const char *); - void strictlyEquals_test(const char *, const QScriptValue &value); - - void lessThan_initData(); - void lessThan_makeData(const char *); - void lessThan_test(const char *, const QScriptValue &value); - - void instanceOf_initData(); - void instanceOf_makeData(const char *); - void instanceOf_test(const char *, const QScriptValue &value); - - void assignAndCopyConstruct_initData(); - void assignAndCopyConstruct_makeData(const char *); - void assignAndCopyConstruct_test(const char *, const QScriptValue &value); - - void qscriptvalue_castQString_initData(); - void qscriptvalue_castQString_makeData(const char *); - void qscriptvalue_castQString_test(const char *, const QScriptValue &value); - - void qscriptvalue_castqsreal_initData(); - void qscriptvalue_castqsreal_makeData(const char *); - void qscriptvalue_castqsreal_test(const char *, const QScriptValue &value); - - void qscriptvalue_castbool_initData(); - void qscriptvalue_castbool_makeData(const char *); - void qscriptvalue_castbool_test(const char *, const QScriptValue &value); - - void qscriptvalue_castqint32_initData(); - void qscriptvalue_castqint32_makeData(const char *); - void qscriptvalue_castqint32_test(const char *, const QScriptValue &value); - - void qscriptvalue_castquint32_initData(); - void qscriptvalue_castquint32_makeData(const char *); - void qscriptvalue_castquint32_test(const char *, const QScriptValue &value); - - void qscriptvalue_castquint16_initData(); - void qscriptvalue_castquint16_makeData(const char *); - void qscriptvalue_castquint16_test(const char *, const QScriptValue &value); - -private: QScriptEngine *engine; - QHash m_values; - QString m_currentExpression; }; -#define DEFINE_TEST_FUNCTION(name) \ -void tst_QScriptValue::name##_data() { dataHelper(&tst_QScriptValue::name##_initData, &tst_QScriptValue::name##_makeData); } \ -void tst_QScriptValue::name() { testHelper(&tst_QScriptValue::name##_test); } - #endif diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue_generated_cast.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue_generated_cast.cpp deleted file mode 100644 index e651810..0000000 --- a/tests/auto/qscriptvalue/tst_qscriptvalue_generated_cast.cpp +++ /dev/null @@ -1,1453 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/**************************************************************************** -*************** This file has been generated. DO NOT MODIFY! **************** -****************************************************************************/ - -#include "tst_qscriptvalue.h" - - - -void tst_QScriptValue::qscriptvalue_castQString_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString 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(\"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->newVariant(QVariant())", - "engine->newVariant(QVariant(123))", - "engine->newVariant(QVariant(false))", - "engine->newQObject(0)", - "engine->newQObject(engine)",}; -static QString 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", "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]", "undefined", - "123", "false", - "", "QScriptEngine(name = \"\")", }; -void tst_QScriptValue::qscriptvalue_castQString_makeData(const char* expr) -{ - static QHash value; - if (value.isEmpty()) { - value.reserve(142); - for (unsigned i = 0; i < 142; ++i) - value.insert(qscriptvalue_castQString_tagArray[i], qscriptvalue_castQString_valueArray[i]); - } - newRow(expr) << value.value(expr); -} - -void tst_QScriptValue::qscriptvalue_castQString_test(const char*, const QScriptValue& value) -{ - QFETCH(QString, expected); - QCOMPARE(qscriptvalue_cast(value), expected); - QCOMPARE(qscriptvalue_cast(value), expected); -} - -DEFINE_TEST_FUNCTION(qscriptvalue_castQString) - - -void tst_QScriptValue::qscriptvalue_castqsreal_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString 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(\"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->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(), 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(), 123, 0, - 0, qQNaN(), }; -void tst_QScriptValue::qscriptvalue_castqsreal_makeData(const char* expr) -{ - static QHash value; - if (value.isEmpty()) { - value.reserve(142); - for (unsigned i = 0; i < 142; ++i) - value.insert(qscriptvalue_castqsreal_tagArray[i], qscriptvalue_castqsreal_valueArray[i]); - } - newRow(expr) << value.value(expr); -} - -void tst_QScriptValue::qscriptvalue_castqsreal_test(const char*, const QScriptValue& value) -{ - QFETCH(qsreal, expected); - if (qIsNaN(expected)) { - QVERIFY(qIsNaN(qscriptvalue_cast(value))); - QVERIFY(qIsNaN(qscriptvalue_cast(value))); - return; - } - if (qIsInf(expected)) { - QVERIFY(qIsInf(qscriptvalue_cast(value))); - QVERIFY(qIsInf(qscriptvalue_cast(value))); - return; - } - QCOMPARE(qscriptvalue_cast(value), expected); - QCOMPARE(qscriptvalue_cast(value), expected); -} - -DEFINE_TEST_FUNCTION(qscriptvalue_castqsreal) - - -void tst_QScriptValue::qscriptvalue_castbool_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString 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(\"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->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, - 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, - false, true, }; -void tst_QScriptValue::qscriptvalue_castbool_makeData(const char* expr) -{ - static QHash value; - if (value.isEmpty()) { - value.reserve(142); - for (unsigned i = 0; i < 142; ++i) - value.insert(qscriptvalue_castbool_tagArray[i], qscriptvalue_castbool_valueArray[i]); - } - newRow(expr) << value.value(expr); -} - -void tst_QScriptValue::qscriptvalue_castbool_test(const char*, const QScriptValue& value) -{ - QFETCH(bool, expected); - QCOMPARE(qscriptvalue_cast(value), expected); - QCOMPARE(qscriptvalue_cast(value), expected); -} - -DEFINE_TEST_FUNCTION(qscriptvalue_castbool) - - -void tst_QScriptValue::qscriptvalue_castqint32_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString 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(\"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->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, 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, - 123, 0, - 0, 0, }; -void tst_QScriptValue::qscriptvalue_castqint32_makeData(const char* expr) -{ - static QHash value; - if (value.isEmpty()) { - value.reserve(142); - for (unsigned i = 0; i < 142; ++i) - value.insert(qscriptvalue_castqint32_tagArray[i], qscriptvalue_castqint32_valueArray[i]); - } - newRow(expr) << value.value(expr); -} - -void tst_QScriptValue::qscriptvalue_castqint32_test(const char*, const QScriptValue& value) -{ - QFETCH(qint32, expected); - QCOMPARE(qscriptvalue_cast(value), expected); - QCOMPARE(qscriptvalue_cast(value), expected); -} - -DEFINE_TEST_FUNCTION(qscriptvalue_castqint32) - - -void tst_QScriptValue::qscriptvalue_castquint32_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString 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(\"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->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, 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, - 123, 0, - 0, 0, }; -void tst_QScriptValue::qscriptvalue_castquint32_makeData(const char* expr) -{ - static QHash value; - if (value.isEmpty()) { - value.reserve(142); - for (unsigned i = 0; i < 142; ++i) - value.insert(qscriptvalue_castquint32_tagArray[i], qscriptvalue_castquint32_valueArray[i]); - } - newRow(expr) << value.value(expr); -} - -void tst_QScriptValue::qscriptvalue_castquint32_test(const char*, const QScriptValue& value) -{ - QFETCH(quint32, expected); - QCOMPARE(qscriptvalue_cast(value), expected); - QCOMPARE(qscriptvalue_cast(value), expected); -} - -DEFINE_TEST_FUNCTION(qscriptvalue_castquint32) - - -void tst_QScriptValue::qscriptvalue_castquint16_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString 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(\"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->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, 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, - 123, 0, - 0, 0, }; -void tst_QScriptValue::qscriptvalue_castquint16_makeData(const char* expr) -{ - static QHash value; - if (value.isEmpty()) { - value.reserve(142); - for (unsigned i = 0; i < 142; ++i) - value.insert(qscriptvalue_castquint16_tagArray[i], qscriptvalue_castquint16_valueArray[i]); - } - newRow(expr) << value.value(expr); -} - -void tst_QScriptValue::qscriptvalue_castquint16_test(const char*, const QScriptValue& value) -{ - QFETCH(quint16, expected); - QCOMPARE(qscriptvalue_cast(value), expected); - QCOMPARE(qscriptvalue_cast(value), expected); -} - -DEFINE_TEST_FUNCTION(qscriptvalue_castquint16) diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue_generated_comparison.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue_generated_comparison.cpp deleted file mode 100644 index 6e1f8ee..0000000 --- a/tests/auto/qscriptvalue/tst_qscriptvalue_generated_comparison.cpp +++ /dev/null @@ -1,7026 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/**************************************************************************** -*************** This file has been generated. DO NOT MODIFY! **************** -****************************************************************************/ - -#include "tst_qscriptvalue.h" - - - -void tst_QScriptValue::equals_initData() -{ - QTest::addColumn("other"); - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString equals_array [] = { - "QScriptValue() <=> QScriptValue()", - "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")", - "QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")", - "QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"null\")", - "QScriptValue(QScriptValue::UndefinedValue) <=> engine->nullValue()", - "QScriptValue(QScriptValue::UndefinedValue) <=> engine->undefinedValue()", - "QScriptValue(QScriptValue::UndefinedValue) <=> engine->newQObject(0)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"{}\")", - "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"undefined\")", - "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"null\")", - "QScriptValue(QScriptValue::NullValue) <=> engine->nullValue()", - "QScriptValue(QScriptValue::NullValue) <=> engine->undefinedValue()", - "QScriptValue(QScriptValue::NullValue) <=> engine->newQObject(0)", - "QScriptValue(true) <=> QScriptValue(true)", - "QScriptValue(true) <=> QScriptValue(0, true)", - "QScriptValue(true) <=> QScriptValue(engine, true)", - "QScriptValue(true) <=> engine->evaluate(\"true\")", - "QScriptValue(false) <=> QScriptValue(false)", - "QScriptValue(false) <=> QScriptValue(0)", - "QScriptValue(false) <=> QScriptValue(0.0)", - "QScriptValue(false) <=> QScriptValue(QString(\"\"))", - "QScriptValue(false) <=> QScriptValue(QString())", - "QScriptValue(false) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(false) <=> QScriptValue(0, false)", - "QScriptValue(false) <=> QScriptValue(0, 0)", - "QScriptValue(false) <=> QScriptValue(0, 0.0)", - "QScriptValue(false) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(false) <=> QScriptValue(0, QString())", - "QScriptValue(false) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(false) <=> QScriptValue(engine, false)", - "QScriptValue(false) <=> QScriptValue(engine, 0)", - "QScriptValue(false) <=> QScriptValue(engine, 0.0)", - "QScriptValue(false) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(false) <=> QScriptValue(engine, QString())", - "QScriptValue(false) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(false) <=> engine->evaluate(\"[]\")", - "QScriptValue(false) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(false) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(false) <=> engine->evaluate(\"false\")", - "QScriptValue(false) <=> engine->evaluate(\"0\")", - "QScriptValue(false) <=> engine->evaluate(\"0.0\")", - "QScriptValue(false) <=> engine->evaluate(\"''\")", - "QScriptValue(false) <=> engine->evaluate(\"'0'\")", - "QScriptValue(false) <=> engine->newArray()", - "QScriptValue(false) <=> engine->newVariant(QVariant(false))", - "QScriptValue(int(122)) <=> QScriptValue(int(122))", - "QScriptValue(int(122)) <=> QScriptValue(0, int(122))", - "QScriptValue(int(122)) <=> QScriptValue(engine, int(122))", - "QScriptValue(int(122)) <=> engine->evaluate(\"122\")", - "QScriptValue(uint(124)) <=> QScriptValue(uint(124))", - "QScriptValue(uint(124)) <=> QScriptValue(0, uint(124))", - "QScriptValue(uint(124)) <=> QScriptValue(engine, uint(124))", - "QScriptValue(uint(124)) <=> engine->evaluate(\"124\")", - "QScriptValue(0) <=> QScriptValue(false)", - "QScriptValue(0) <=> QScriptValue(0)", - "QScriptValue(0) <=> QScriptValue(0.0)", - "QScriptValue(0) <=> QScriptValue(QString(\"\"))", - "QScriptValue(0) <=> QScriptValue(QString())", - "QScriptValue(0) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(0) <=> QScriptValue(0, false)", - "QScriptValue(0) <=> QScriptValue(0, 0)", - "QScriptValue(0) <=> QScriptValue(0, 0.0)", - "QScriptValue(0) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(0) <=> QScriptValue(0, QString())", - "QScriptValue(0) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(0) <=> QScriptValue(engine, false)", - "QScriptValue(0) <=> QScriptValue(engine, 0)", - "QScriptValue(0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(0) <=> QScriptValue(engine, QString())", - "QScriptValue(0) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(0) <=> engine->evaluate(\"[]\")", - "QScriptValue(0) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(0) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(0) <=> engine->evaluate(\"false\")", - "QScriptValue(0) <=> engine->evaluate(\"0\")", - "QScriptValue(0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0) <=> engine->evaluate(\"''\")", - "QScriptValue(0) <=> engine->evaluate(\"'0'\")", - "QScriptValue(0) <=> engine->newArray()", - "QScriptValue(0) <=> engine->newVariant(QVariant(false))", - "QScriptValue(0.0) <=> QScriptValue(false)", - "QScriptValue(0.0) <=> QScriptValue(0)", - "QScriptValue(0.0) <=> QScriptValue(0.0)", - "QScriptValue(0.0) <=> QScriptValue(QString(\"\"))", - "QScriptValue(0.0) <=> QScriptValue(QString())", - "QScriptValue(0.0) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(0.0) <=> QScriptValue(0, false)", - "QScriptValue(0.0) <=> QScriptValue(0, 0)", - "QScriptValue(0.0) <=> QScriptValue(0, 0.0)", - "QScriptValue(0.0) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(0.0) <=> QScriptValue(0, QString())", - "QScriptValue(0.0) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(0.0) <=> QScriptValue(engine, false)", - "QScriptValue(0.0) <=> QScriptValue(engine, 0)", - "QScriptValue(0.0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0.0) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(0.0) <=> QScriptValue(engine, QString())", - "QScriptValue(0.0) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(0.0) <=> engine->evaluate(\"[]\")", - "QScriptValue(0.0) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(0.0) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(0.0) <=> engine->evaluate(\"false\")", - "QScriptValue(0.0) <=> engine->evaluate(\"0\")", - "QScriptValue(0.0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0.0) <=> engine->evaluate(\"''\")", - "QScriptValue(0.0) <=> engine->evaluate(\"'0'\")", - "QScriptValue(0.0) <=> engine->newArray()", - "QScriptValue(0.0) <=> engine->newVariant(QVariant(false))", - "QScriptValue(123.0) <=> QScriptValue(123.0)", - "QScriptValue(123.0) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(123.0) <=> QScriptValue(0, 123.0)", - "QScriptValue(123.0) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(123.0) <=> QScriptValue(engine, 123.0)", - "QScriptValue(123.0) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(123.0) <=> engine->evaluate(\"123.0\")", - "QScriptValue(123.0) <=> engine->evaluate(\"'123'\")", - "QScriptValue(123.0) <=> engine->newVariant(QVariant(123))", - "QScriptValue(6.37e-8) <=> QScriptValue(6.37e-8)", - "QScriptValue(6.37e-8) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(6.37e-8) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(6.37e-8) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(-6.37e-8) <=> QScriptValue(-6.37e-8)", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, -6.37e-8)", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, -6.37e-8)", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"-6.37e-8\")", - "QScriptValue(0x43211234) <=> QScriptValue(0x43211234)", - "QScriptValue(0x43211234) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0x43211234) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0x43211234) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0x10000) <=> QScriptValue(0x10000)", - "QScriptValue(0x10000) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0x10000) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0x10000) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0x10001) <=> QScriptValue(0x10001)", - "QScriptValue(0x10001) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0x10001) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0x10001) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(qInf()) <=> QScriptValue(qInf())", - "QScriptValue(qInf()) <=> QScriptValue(\"Infinity\")", - "QScriptValue(qInf()) <=> QScriptValue(0, qInf())", - "QScriptValue(qInf()) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(qInf()) <=> QScriptValue(engine, qInf())", - "QScriptValue(qInf()) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(qInf()) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(-qInf()) <=> QScriptValue(-qInf())", - "QScriptValue(-qInf()) <=> QScriptValue(\"-Infinity\")", - "QScriptValue(-qInf()) <=> QScriptValue(0, -qInf())", - "QScriptValue(-qInf()) <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(-qInf()) <=> QScriptValue(engine, -qInf())", - "QScriptValue(-qInf()) <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"-Infinity\")", - "QScriptValue(\"NaN\") <=> QScriptValue(\"NaN\")", - "QScriptValue(\"NaN\") <=> QScriptValue(0, \"NaN\")", - "QScriptValue(\"NaN\") <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(\"Infinity\") <=> QScriptValue(qInf())", - "QScriptValue(\"Infinity\") <=> QScriptValue(\"Infinity\")", - "QScriptValue(\"Infinity\") <=> QScriptValue(0, qInf())", - "QScriptValue(\"Infinity\") <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(\"Infinity\") <=> QScriptValue(engine, qInf())", - "QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Infinity\")", - "QScriptValue(\"-Infinity\") <=> QScriptValue(-qInf())", - "QScriptValue(\"-Infinity\") <=> QScriptValue(\"-Infinity\")", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, -qInf())", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, -qInf())", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"-Infinity\")", - "QScriptValue(\"ciao\") <=> QScriptValue(\"ciao\")", - "QScriptValue(\"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(\"ciao\") <=> QScriptValue(0, \"ciao\")", - "QScriptValue(\"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(\"ciao\") <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(\"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(\"ciao\") <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(QString(\"\")) <=> QScriptValue(false)", - "QScriptValue(QString(\"\")) <=> QScriptValue(0)", - "QScriptValue(QString(\"\")) <=> QScriptValue(0.0)", - "QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(QString())", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, false)", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, 0)", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, 0.0)", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString())", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, false)", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0)", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0.0)", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString())", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"[]\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"false\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"0\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"0.0\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"''\")", - "QScriptValue(QString(\"\")) <=> engine->newArray()", - "QScriptValue(QString(\"\")) <=> engine->newVariant(QVariant(false))", - "QScriptValue(QString()) <=> QScriptValue(false)", - "QScriptValue(QString()) <=> QScriptValue(0)", - "QScriptValue(QString()) <=> QScriptValue(0.0)", - "QScriptValue(QString()) <=> QScriptValue(QString(\"\"))", - "QScriptValue(QString()) <=> QScriptValue(QString())", - "QScriptValue(QString()) <=> QScriptValue(0, false)", - "QScriptValue(QString()) <=> QScriptValue(0, 0)", - "QScriptValue(QString()) <=> QScriptValue(0, 0.0)", - "QScriptValue(QString()) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(QString()) <=> QScriptValue(0, QString())", - "QScriptValue(QString()) <=> QScriptValue(engine, false)", - "QScriptValue(QString()) <=> QScriptValue(engine, 0)", - "QScriptValue(QString()) <=> QScriptValue(engine, 0.0)", - "QScriptValue(QString()) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(QString()) <=> QScriptValue(engine, QString())", - "QScriptValue(QString()) <=> engine->evaluate(\"[]\")", - "QScriptValue(QString()) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(QString()) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(QString()) <=> engine->evaluate(\"false\")", - "QScriptValue(QString()) <=> engine->evaluate(\"0\")", - "QScriptValue(QString()) <=> engine->evaluate(\"0.0\")", - "QScriptValue(QString()) <=> engine->evaluate(\"''\")", - "QScriptValue(QString()) <=> engine->newArray()", - "QScriptValue(QString()) <=> engine->newVariant(QVariant(false))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(false)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0.0)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, false)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0.0)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, false)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0.0)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"false\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"0\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"0.0\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"'0'\")", - "QScriptValue(QString(\"0\")) <=> engine->newVariant(QVariant(false))", - "QScriptValue(QString(\"123\")) <=> QScriptValue(123.0)", - "QScriptValue(QString(\"123\")) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(QString(\"123\")) <=> QScriptValue(0, 123.0)", - "QScriptValue(QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 123.0)", - "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"123.0\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"'123'\")", - "QScriptValue(QString(\"123\")) <=> engine->newVariant(QVariant(123))", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"null\")", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->nullValue()", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->undefinedValue()", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->newQObject(0)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"{}\")", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"undefined\")", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"null\")", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->nullValue()", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->undefinedValue()", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->newQObject(0)", - "QScriptValue(0, true) <=> QScriptValue(true)", - "QScriptValue(0, true) <=> QScriptValue(0, true)", - "QScriptValue(0, true) <=> QScriptValue(engine, true)", - "QScriptValue(0, true) <=> engine->evaluate(\"true\")", - "QScriptValue(0, false) <=> QScriptValue(false)", - "QScriptValue(0, false) <=> QScriptValue(0)", - "QScriptValue(0, false) <=> QScriptValue(0.0)", - "QScriptValue(0, false) <=> QScriptValue(QString(\"\"))", - "QScriptValue(0, false) <=> QScriptValue(QString())", - "QScriptValue(0, false) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(0, false) <=> QScriptValue(0, false)", - "QScriptValue(0, false) <=> QScriptValue(0, 0)", - "QScriptValue(0, false) <=> QScriptValue(0, 0.0)", - "QScriptValue(0, false) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(0, false) <=> QScriptValue(0, QString())", - "QScriptValue(0, false) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, false) <=> QScriptValue(engine, false)", - "QScriptValue(0, false) <=> QScriptValue(engine, 0)", - "QScriptValue(0, false) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0, false) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(0, false) <=> QScriptValue(engine, QString())", - "QScriptValue(0, false) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(0, false) <=> engine->evaluate(\"[]\")", - "QScriptValue(0, false) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(0, false) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(0, false) <=> engine->evaluate(\"false\")", - "QScriptValue(0, false) <=> engine->evaluate(\"0\")", - "QScriptValue(0, false) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0, false) <=> engine->evaluate(\"''\")", - "QScriptValue(0, false) <=> engine->evaluate(\"'0'\")", - "QScriptValue(0, false) <=> engine->newArray()", - "QScriptValue(0, false) <=> engine->newVariant(QVariant(false))", - "QScriptValue(0, int(122)) <=> QScriptValue(int(122))", - "QScriptValue(0, int(122)) <=> QScriptValue(0, int(122))", - "QScriptValue(0, int(122)) <=> QScriptValue(engine, int(122))", - "QScriptValue(0, int(122)) <=> engine->evaluate(\"122\")", - "QScriptValue(0, uint(124)) <=> QScriptValue(uint(124))", - "QScriptValue(0, uint(124)) <=> QScriptValue(0, uint(124))", - "QScriptValue(0, uint(124)) <=> QScriptValue(engine, uint(124))", - "QScriptValue(0, uint(124)) <=> engine->evaluate(\"124\")", - "QScriptValue(0, 0) <=> QScriptValue(false)", - "QScriptValue(0, 0) <=> QScriptValue(0)", - "QScriptValue(0, 0) <=> QScriptValue(0.0)", - "QScriptValue(0, 0) <=> QScriptValue(QString(\"\"))", - "QScriptValue(0, 0) <=> QScriptValue(QString())", - "QScriptValue(0, 0) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(0, 0) <=> QScriptValue(0, false)", - "QScriptValue(0, 0) <=> QScriptValue(0, 0)", - "QScriptValue(0, 0) <=> QScriptValue(0, 0.0)", - "QScriptValue(0, 0) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(0, 0) <=> QScriptValue(0, QString())", - "QScriptValue(0, 0) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, 0) <=> QScriptValue(engine, false)", - "QScriptValue(0, 0) <=> QScriptValue(engine, 0)", - "QScriptValue(0, 0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(0, 0) <=> QScriptValue(engine, QString())", - "QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(0, 0) <=> engine->evaluate(\"[]\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"false\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"0\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"''\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"'0'\")", - "QScriptValue(0, 0) <=> engine->newArray()", - "QScriptValue(0, 0) <=> engine->newVariant(QVariant(false))", - "QScriptValue(0, 0.0) <=> QScriptValue(false)", - "QScriptValue(0, 0.0) <=> QScriptValue(0)", - "QScriptValue(0, 0.0) <=> QScriptValue(0.0)", - "QScriptValue(0, 0.0) <=> QScriptValue(QString(\"\"))", - "QScriptValue(0, 0.0) <=> QScriptValue(QString())", - "QScriptValue(0, 0.0) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(0, 0.0) <=> QScriptValue(0, false)", - "QScriptValue(0, 0.0) <=> QScriptValue(0, 0)", - "QScriptValue(0, 0.0) <=> QScriptValue(0, 0.0)", - "QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(0, 0.0) <=> QScriptValue(0, QString())", - "QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, false)", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0)", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, QString())", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"[]\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"false\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"0\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"''\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"'0'\")", - "QScriptValue(0, 0.0) <=> engine->newArray()", - "QScriptValue(0, 0.0) <=> engine->newVariant(QVariant(false))", - "QScriptValue(0, 123.0) <=> QScriptValue(123.0)", - "QScriptValue(0, 123.0) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(0, 123.0) <=> QScriptValue(0, 123.0)", - "QScriptValue(0, 123.0) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, 123.0) <=> QScriptValue(engine, 123.0)", - "QScriptValue(0, 123.0) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(0, 123.0) <=> engine->evaluate(\"123.0\")", - "QScriptValue(0, 123.0) <=> engine->evaluate(\"'123'\")", - "QScriptValue(0, 123.0) <=> engine->newVariant(QVariant(123))", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(6.37e-8)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(-6.37e-8)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, -6.37e-8)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"-6.37e-8\")", - "QScriptValue(0, 0x43211234) <=> QScriptValue(0x43211234)", - "QScriptValue(0, 0x43211234) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, 0x43211234) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, 0x43211234) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, 0x10000) <=> QScriptValue(0x10000)", - "QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0, 0x10000) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0, 0x10001) <=> QScriptValue(0x10001)", - "QScriptValue(0, 0x10001) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0, 0x10001) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0, 0x10001) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0, qInf()) <=> QScriptValue(qInf())", - "QScriptValue(0, qInf()) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, qInf()) <=> QScriptValue(0, qInf())", - "QScriptValue(0, qInf()) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, qInf()) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, qInf()) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, qInf()) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, -qInf()) <=> QScriptValue(-qInf())", - "QScriptValue(0, -qInf()) <=> QScriptValue(\"-Infinity\")", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, -qInf())", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, -qInf())", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"-Infinity\")", - "QScriptValue(0, \"NaN\") <=> QScriptValue(\"NaN\")", - "QScriptValue(0, \"NaN\") <=> QScriptValue(0, \"NaN\")", - "QScriptValue(0, \"NaN\") <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(qInf())", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(0, qInf())", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, qInf())", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(-qInf())", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"-Infinity\")", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, -qInf())", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, -qInf())", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"-Infinity\")", - "QScriptValue(0, \"ciao\") <=> QScriptValue(\"ciao\")", - "QScriptValue(0, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, \"ciao\") <=> QScriptValue(0, \"ciao\")", - "QScriptValue(0, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, \"ciao\") <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(0, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(false)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0.0)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString())", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, false)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0.0)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString())", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, false)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString())", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"[]\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"false\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"0\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"''\")", - "QScriptValue(0, QString(\"\")) <=> engine->newArray()", - "QScriptValue(0, QString(\"\")) <=> engine->newVariant(QVariant(false))", - "QScriptValue(0, QString()) <=> QScriptValue(false)", - "QScriptValue(0, QString()) <=> QScriptValue(0)", - "QScriptValue(0, QString()) <=> QScriptValue(0.0)", - "QScriptValue(0, QString()) <=> QScriptValue(QString(\"\"))", - "QScriptValue(0, QString()) <=> QScriptValue(QString())", - "QScriptValue(0, QString()) <=> QScriptValue(0, false)", - "QScriptValue(0, QString()) <=> QScriptValue(0, 0)", - "QScriptValue(0, QString()) <=> QScriptValue(0, 0.0)", - "QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(0, QString()) <=> QScriptValue(0, QString())", - "QScriptValue(0, QString()) <=> QScriptValue(engine, false)", - "QScriptValue(0, QString()) <=> QScriptValue(engine, 0)", - "QScriptValue(0, QString()) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(0, QString()) <=> QScriptValue(engine, QString())", - "QScriptValue(0, QString()) <=> engine->evaluate(\"[]\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"false\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"0\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"''\")", - "QScriptValue(0, QString()) <=> engine->newArray()", - "QScriptValue(0, QString()) <=> engine->newVariant(QVariant(false))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(false)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0.0)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, false)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0.0)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, false)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"false\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"0\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"'0'\")", - "QScriptValue(0, QString(\"0\")) <=> engine->newVariant(QVariant(false))", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(123.0)", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 123.0)", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 123.0)", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"123.0\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"'123'\")", - "QScriptValue(0, QString(\"123\")) <=> engine->newVariant(QVariant(123))", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"null\")", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->nullValue()", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->undefinedValue()", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->newQObject(0)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"{}\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"undefined\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"null\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->nullValue()", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->undefinedValue()", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->newQObject(0)", - "QScriptValue(engine, true) <=> QScriptValue(true)", - "QScriptValue(engine, true) <=> QScriptValue(0, true)", - "QScriptValue(engine, true) <=> QScriptValue(engine, true)", - "QScriptValue(engine, true) <=> engine->evaluate(\"true\")", - "QScriptValue(engine, false) <=> QScriptValue(false)", - "QScriptValue(engine, false) <=> QScriptValue(0)", - "QScriptValue(engine, false) <=> QScriptValue(0.0)", - "QScriptValue(engine, false) <=> QScriptValue(QString(\"\"))", - "QScriptValue(engine, false) <=> QScriptValue(QString())", - "QScriptValue(engine, false) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(engine, false) <=> QScriptValue(0, false)", - "QScriptValue(engine, false) <=> QScriptValue(0, 0)", - "QScriptValue(engine, false) <=> QScriptValue(0, 0.0)", - "QScriptValue(engine, false) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(engine, false) <=> QScriptValue(0, QString())", - "QScriptValue(engine, false) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(engine, false) <=> QScriptValue(engine, false)", - "QScriptValue(engine, false) <=> QScriptValue(engine, 0)", - "QScriptValue(engine, false) <=> QScriptValue(engine, 0.0)", - "QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, false) <=> QScriptValue(engine, QString())", - "QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, false) <=> engine->evaluate(\"[]\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"false\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"0\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"0.0\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"''\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"'0'\")", - "QScriptValue(engine, false) <=> engine->newArray()", - "QScriptValue(engine, false) <=> engine->newVariant(QVariant(false))", - "QScriptValue(engine, int(122)) <=> QScriptValue(int(122))", - "QScriptValue(engine, int(122)) <=> QScriptValue(0, int(122))", - "QScriptValue(engine, int(122)) <=> QScriptValue(engine, int(122))", - "QScriptValue(engine, int(122)) <=> engine->evaluate(\"122\")", - "QScriptValue(engine, uint(124)) <=> QScriptValue(uint(124))", - "QScriptValue(engine, uint(124)) <=> QScriptValue(0, uint(124))", - "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, uint(124))", - "QScriptValue(engine, uint(124)) <=> engine->evaluate(\"124\")", - "QScriptValue(engine, 0) <=> QScriptValue(false)", - "QScriptValue(engine, 0) <=> QScriptValue(0)", - "QScriptValue(engine, 0) <=> QScriptValue(0.0)", - "QScriptValue(engine, 0) <=> QScriptValue(QString(\"\"))", - "QScriptValue(engine, 0) <=> QScriptValue(QString())", - "QScriptValue(engine, 0) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(engine, 0) <=> QScriptValue(0, false)", - "QScriptValue(engine, 0) <=> QScriptValue(0, 0)", - "QScriptValue(engine, 0) <=> QScriptValue(0, 0.0)", - "QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(engine, 0) <=> QScriptValue(0, QString())", - "QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(engine, 0) <=> QScriptValue(engine, false)", - "QScriptValue(engine, 0) <=> QScriptValue(engine, 0)", - "QScriptValue(engine, 0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, 0) <=> QScriptValue(engine, QString())", - "QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, 0) <=> engine->evaluate(\"[]\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"false\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"0\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"''\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"'0'\")", - "QScriptValue(engine, 0) <=> engine->newArray()", - "QScriptValue(engine, 0) <=> engine->newVariant(QVariant(false))", - "QScriptValue(engine, 0.0) <=> QScriptValue(false)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0.0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"\"))", - "QScriptValue(engine, 0.0) <=> QScriptValue(QString())", - "QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, false)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0.0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, QString())", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, false)", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString())", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"[]\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"false\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"''\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"'0'\")", - "QScriptValue(engine, 0.0) <=> engine->newArray()", - "QScriptValue(engine, 0.0) <=> engine->newVariant(QVariant(false))", - "QScriptValue(engine, 123.0) <=> QScriptValue(123.0)", - "QScriptValue(engine, 123.0) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(engine, 123.0) <=> QScriptValue(0, 123.0)", - "QScriptValue(engine, 123.0) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(engine, 123.0) <=> QScriptValue(engine, 123.0)", - "QScriptValue(engine, 123.0) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, 123.0) <=> engine->evaluate(\"123.0\")", - "QScriptValue(engine, 123.0) <=> engine->evaluate(\"'123'\")", - "QScriptValue(engine, 123.0) <=> engine->newVariant(QVariant(123))", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(6.37e-8)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(-6.37e-8)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, -6.37e-8)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"-6.37e-8\")", - "QScriptValue(engine, 0x43211234) <=> QScriptValue(0x43211234)", - "QScriptValue(engine, 0x43211234) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, 0x43211234) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, 0x10000) <=> QScriptValue(0x10000)", - "QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x10000)", - "QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(engine, 0x10000) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(engine, 0x10001) <=> QScriptValue(0x10001)", - "QScriptValue(engine, 0x10001) <=> QScriptValue(0, 0x10001)", - "QScriptValue(engine, 0x10001) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(engine, 0x10001) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(engine, qInf()) <=> QScriptValue(qInf())", - "QScriptValue(engine, qInf()) <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, qInf()) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, qInf()) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, qInf()) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, qInf()) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, qInf()) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, -qInf()) <=> QScriptValue(-qInf())", - "QScriptValue(engine, -qInf()) <=> QScriptValue(\"-Infinity\")", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, -qInf())", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, -qInf())", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"-Infinity\")", - "QScriptValue(engine, \"NaN\") <=> QScriptValue(\"NaN\")", - "QScriptValue(engine, \"NaN\") <=> QScriptValue(0, \"NaN\")", - "QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(qInf())", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, qInf())", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(-qInf())", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"-Infinity\")", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, -qInf())", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, -qInf())", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"-Infinity\")", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(\"ciao\")", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(0, \"ciao\")", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(false)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0.0)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString())", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, false)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0.0)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString())", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, false)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0.0)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString())", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"[]\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"false\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"0\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"0.0\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"''\")", - "QScriptValue(engine, QString(\"\")) <=> engine->newArray()", - "QScriptValue(engine, QString(\"\")) <=> engine->newVariant(QVariant(false))", - "QScriptValue(engine, QString()) <=> QScriptValue(false)", - "QScriptValue(engine, QString()) <=> QScriptValue(0)", - "QScriptValue(engine, QString()) <=> QScriptValue(0.0)", - "QScriptValue(engine, QString()) <=> QScriptValue(QString(\"\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(QString())", - "QScriptValue(engine, QString()) <=> QScriptValue(0, false)", - "QScriptValue(engine, QString()) <=> QScriptValue(0, 0)", - "QScriptValue(engine, QString()) <=> QScriptValue(0, 0.0)", - "QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(0, QString())", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, false)", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, 0)", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, 0.0)", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString())", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"[]\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"false\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"0\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"0.0\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"''\")", - "QScriptValue(engine, QString()) <=> engine->newArray()", - "QScriptValue(engine, QString()) <=> engine->newVariant(QVariant(false))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(false)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0.0)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, false)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0.0)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, false)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0.0)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"false\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"0\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"0.0\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"'0'\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->newVariant(QVariant(false))", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(123.0)", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 123.0)", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 123.0)", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"123.0\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"'123'\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->newVariant(QVariant(123))", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"[]\") <=> QScriptValue(false)", - "engine->evaluate(\"[]\") <=> QScriptValue(0)", - "engine->evaluate(\"[]\") <=> QScriptValue(0.0)", - "engine->evaluate(\"[]\") <=> QScriptValue(QString(\"\"))", - "engine->evaluate(\"[]\") <=> QScriptValue(QString())", - "engine->evaluate(\"[]\") <=> QScriptValue(0, false)", - "engine->evaluate(\"[]\") <=> QScriptValue(0, 0)", - "engine->evaluate(\"[]\") <=> QScriptValue(0, 0.0)", - "engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"\"))", - "engine->evaluate(\"[]\") <=> QScriptValue(0, QString())", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, false)", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, 0)", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, 0.0)", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"\"))", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, QString())", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"[]\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"false\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"0\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"0.0\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"''\")", - "engine->evaluate(\"{}\") <=> QScriptValue(QScriptValue::UndefinedValue)", - "engine->evaluate(\"{}\") <=> QScriptValue(QScriptValue::NullValue)", - "engine->evaluate(\"{}\") <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "engine->evaluate(\"{}\") <=> QScriptValue(0, QScriptValue::NullValue)", - "engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::NullValue)", - "engine->evaluate(\"{}\") <=> engine->evaluate(\"{}\")", - "engine->evaluate(\"{}\") <=> engine->evaluate(\"undefined\")", - "engine->evaluate(\"{}\") <=> engine->evaluate(\"null\")", - "engine->evaluate(\"{}\") <=> engine->nullValue()", - "engine->evaluate(\"{}\") <=> engine->undefinedValue()", - "engine->evaluate(\"{}\") <=> engine->newQObject(0)", - "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Date.prototype\")", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(false)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0.0)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"\"))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString())", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, false)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0.0)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"\"))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString())", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, false)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0.0)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"\"))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString())", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"false\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"0\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"0.0\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"''\")", - "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"Object\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Array\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"Number\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"Function\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"/foo/\")", - "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"new Object()\")", - "engine->evaluate(\"new Array()\") <=> QScriptValue(false)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0.0)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"\"))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(QString())", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, false)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0.0)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"\"))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString())", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, false)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0.0)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"\"))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString())", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Array()\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"false\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"0\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"0.0\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"''\")", - "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"new Error()\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Undefined\")", - "engine->evaluate(\"Null\") <=> engine->evaluate(\"Null\")", - "engine->evaluate(\"True\") <=> engine->evaluate(\"True\")", - "engine->evaluate(\"False\") <=> engine->evaluate(\"False\")", - "engine->evaluate(\"undefined\") <=> QScriptValue(QScriptValue::UndefinedValue)", - "engine->evaluate(\"undefined\") <=> QScriptValue(QScriptValue::NullValue)", - "engine->evaluate(\"undefined\") <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "engine->evaluate(\"undefined\") <=> QScriptValue(0, QScriptValue::NullValue)", - "engine->evaluate(\"undefined\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "engine->evaluate(\"undefined\") <=> QScriptValue(engine, QScriptValue::NullValue)", - "engine->evaluate(\"undefined\") <=> engine->evaluate(\"{}\")", - "engine->evaluate(\"undefined\") <=> engine->evaluate(\"undefined\")", - "engine->evaluate(\"undefined\") <=> engine->evaluate(\"null\")", - "engine->evaluate(\"undefined\") <=> engine->nullValue()", - "engine->evaluate(\"undefined\") <=> engine->undefinedValue()", - "engine->evaluate(\"undefined\") <=> engine->newQObject(0)", - "engine->evaluate(\"null\") <=> QScriptValue(QScriptValue::UndefinedValue)", - "engine->evaluate(\"null\") <=> QScriptValue(QScriptValue::NullValue)", - "engine->evaluate(\"null\") <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "engine->evaluate(\"null\") <=> QScriptValue(0, QScriptValue::NullValue)", - "engine->evaluate(\"null\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "engine->evaluate(\"null\") <=> QScriptValue(engine, QScriptValue::NullValue)", - "engine->evaluate(\"null\") <=> engine->evaluate(\"{}\")", - "engine->evaluate(\"null\") <=> engine->evaluate(\"undefined\")", - "engine->evaluate(\"null\") <=> engine->evaluate(\"null\")", - "engine->evaluate(\"null\") <=> engine->nullValue()", - "engine->evaluate(\"null\") <=> engine->undefinedValue()", - "engine->evaluate(\"null\") <=> engine->newQObject(0)", - "engine->evaluate(\"true\") <=> QScriptValue(true)", - "engine->evaluate(\"true\") <=> QScriptValue(0, true)", - "engine->evaluate(\"true\") <=> QScriptValue(engine, true)", - "engine->evaluate(\"true\") <=> engine->evaluate(\"true\")", - "engine->evaluate(\"false\") <=> QScriptValue(false)", - "engine->evaluate(\"false\") <=> QScriptValue(0)", - "engine->evaluate(\"false\") <=> QScriptValue(0.0)", - "engine->evaluate(\"false\") <=> QScriptValue(QString(\"\"))", - "engine->evaluate(\"false\") <=> QScriptValue(QString())", - "engine->evaluate(\"false\") <=> QScriptValue(QString(\"0\"))", - "engine->evaluate(\"false\") <=> QScriptValue(0, false)", - "engine->evaluate(\"false\") <=> QScriptValue(0, 0)", - "engine->evaluate(\"false\") <=> QScriptValue(0, 0.0)", - "engine->evaluate(\"false\") <=> QScriptValue(0, QString(\"\"))", - "engine->evaluate(\"false\") <=> QScriptValue(0, QString())", - "engine->evaluate(\"false\") <=> QScriptValue(0, QString(\"0\"))", - "engine->evaluate(\"false\") <=> QScriptValue(engine, false)", - "engine->evaluate(\"false\") <=> QScriptValue(engine, 0)", - "engine->evaluate(\"false\") <=> QScriptValue(engine, 0.0)", - "engine->evaluate(\"false\") <=> QScriptValue(engine, QString(\"\"))", - "engine->evaluate(\"false\") <=> QScriptValue(engine, QString())", - "engine->evaluate(\"false\") <=> QScriptValue(engine, QString(\"0\"))", - "engine->evaluate(\"false\") <=> engine->evaluate(\"[]\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"new Array()\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"false\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"0\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"0.0\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"''\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"'0'\")", - "engine->evaluate(\"false\") <=> engine->newArray()", - "engine->evaluate(\"false\") <=> engine->newVariant(QVariant(false))", - "engine->evaluate(\"122\") <=> QScriptValue(int(122))", - "engine->evaluate(\"122\") <=> QScriptValue(0, int(122))", - "engine->evaluate(\"122\") <=> QScriptValue(engine, int(122))", - "engine->evaluate(\"122\") <=> engine->evaluate(\"122\")", - "engine->evaluate(\"124\") <=> QScriptValue(uint(124))", - "engine->evaluate(\"124\") <=> QScriptValue(0, uint(124))", - "engine->evaluate(\"124\") <=> QScriptValue(engine, uint(124))", - "engine->evaluate(\"124\") <=> engine->evaluate(\"124\")", - "engine->evaluate(\"0\") <=> QScriptValue(false)", - "engine->evaluate(\"0\") <=> QScriptValue(0)", - "engine->evaluate(\"0\") <=> QScriptValue(0.0)", - "engine->evaluate(\"0\") <=> QScriptValue(QString(\"\"))", - "engine->evaluate(\"0\") <=> QScriptValue(QString())", - "engine->evaluate(\"0\") <=> QScriptValue(QString(\"0\"))", - "engine->evaluate(\"0\") <=> QScriptValue(0, false)", - "engine->evaluate(\"0\") <=> QScriptValue(0, 0)", - "engine->evaluate(\"0\") <=> QScriptValue(0, 0.0)", - "engine->evaluate(\"0\") <=> QScriptValue(0, QString(\"\"))", - "engine->evaluate(\"0\") <=> QScriptValue(0, QString())", - "engine->evaluate(\"0\") <=> QScriptValue(0, QString(\"0\"))", - "engine->evaluate(\"0\") <=> QScriptValue(engine, false)", - "engine->evaluate(\"0\") <=> QScriptValue(engine, 0)", - "engine->evaluate(\"0\") <=> QScriptValue(engine, 0.0)", - "engine->evaluate(\"0\") <=> QScriptValue(engine, QString(\"\"))", - "engine->evaluate(\"0\") <=> QScriptValue(engine, QString())", - "engine->evaluate(\"0\") <=> QScriptValue(engine, QString(\"0\"))", - "engine->evaluate(\"0\") <=> engine->evaluate(\"[]\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"new Array()\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"false\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"0\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"0.0\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"''\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"'0'\")", - "engine->evaluate(\"0\") <=> engine->newArray()", - "engine->evaluate(\"0\") <=> engine->newVariant(QVariant(false))", - "engine->evaluate(\"0.0\") <=> QScriptValue(false)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0.0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(QString(\"\"))", - "engine->evaluate(\"0.0\") <=> QScriptValue(QString())", - "engine->evaluate(\"0.0\") <=> QScriptValue(QString(\"0\"))", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, false)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0.0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, QString(\"\"))", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, QString())", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, QString(\"0\"))", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, false)", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0.0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString(\"\"))", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString())", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString(\"0\"))", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"[]\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"new Array()\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"false\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0.0\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"''\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"'0'\")", - "engine->evaluate(\"0.0\") <=> engine->newArray()", - "engine->evaluate(\"0.0\") <=> engine->newVariant(QVariant(false))", - "engine->evaluate(\"123.0\") <=> QScriptValue(123.0)", - "engine->evaluate(\"123.0\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"123.0\") <=> QScriptValue(0, 123.0)", - "engine->evaluate(\"123.0\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"123.0\") <=> QScriptValue(engine, 123.0)", - "engine->evaluate(\"123.0\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"123.0\") <=> engine->evaluate(\"123.0\")", - "engine->evaluate(\"123.0\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"123.0\") <=> engine->newVariant(QVariant(123))", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(6.37e-8)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 6.37e-8)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 6.37e-8)", - "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(-6.37e-8)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, -6.37e-8)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, -6.37e-8)", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"-6.37e-8\")", - "engine->evaluate(\"0x43211234\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"0x43211234\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"0x43211234\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"0x43211234\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"0x10000\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"0x10000\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"0x10000\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"0x10000\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"0x10001\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"0x10001\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"0x10001\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"0x10001\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"Infinity\") <=> QScriptValue(qInf())", - "engine->evaluate(\"Infinity\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"Infinity\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"Infinity\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"Infinity\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"Infinity\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"Infinity\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(-qInf())", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(\"-Infinity\")", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, -qInf())", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, \"-Infinity\")", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, -qInf())", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"-Infinity\")", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(\"ciao\")", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(0, \"ciao\")", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(engine, \"ciao\")", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"''\") <=> QScriptValue(false)", - "engine->evaluate(\"''\") <=> QScriptValue(0)", - "engine->evaluate(\"''\") <=> QScriptValue(0.0)", - "engine->evaluate(\"''\") <=> QScriptValue(QString(\"\"))", - "engine->evaluate(\"''\") <=> QScriptValue(QString())", - "engine->evaluate(\"''\") <=> QScriptValue(0, false)", - "engine->evaluate(\"''\") <=> QScriptValue(0, 0)", - "engine->evaluate(\"''\") <=> QScriptValue(0, 0.0)", - "engine->evaluate(\"''\") <=> QScriptValue(0, QString(\"\"))", - "engine->evaluate(\"''\") <=> QScriptValue(0, QString())", - "engine->evaluate(\"''\") <=> QScriptValue(engine, false)", - "engine->evaluate(\"''\") <=> QScriptValue(engine, 0)", - "engine->evaluate(\"''\") <=> QScriptValue(engine, 0.0)", - "engine->evaluate(\"''\") <=> QScriptValue(engine, QString(\"\"))", - "engine->evaluate(\"''\") <=> QScriptValue(engine, QString())", - "engine->evaluate(\"''\") <=> engine->evaluate(\"[]\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"new Array()\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"false\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"0\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"0.0\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"''\")", - "engine->evaluate(\"''\") <=> engine->newArray()", - "engine->evaluate(\"''\") <=> engine->newVariant(QVariant(false))", - "engine->evaluate(\"'0'\") <=> QScriptValue(false)", - "engine->evaluate(\"'0'\") <=> QScriptValue(0)", - "engine->evaluate(\"'0'\") <=> QScriptValue(0.0)", - "engine->evaluate(\"'0'\") <=> QScriptValue(QString(\"0\"))", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, false)", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, 0)", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, 0.0)", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, QString(\"0\"))", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, false)", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 0)", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 0.0)", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, QString(\"0\"))", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"false\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"0\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"0.0\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"'0'\")", - "engine->evaluate(\"'0'\") <=> engine->newVariant(QVariant(false))", - "engine->evaluate(\"'123'\") <=> QScriptValue(123.0)", - "engine->evaluate(\"'123'\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"'123'\") <=> QScriptValue(0, 123.0)", - "engine->evaluate(\"'123'\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"'123'\") <=> QScriptValue(engine, 123.0)", - "engine->evaluate(\"'123'\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"123.0\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"'123'\") <=> engine->newVariant(QVariant(123))", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(QString(\"12.4\"))", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"'12.4'\")", - "engine->nullValue() <=> QScriptValue(QScriptValue::UndefinedValue)", - "engine->nullValue() <=> QScriptValue(QScriptValue::NullValue)", - "engine->nullValue() <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "engine->nullValue() <=> QScriptValue(0, QScriptValue::NullValue)", - "engine->nullValue() <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "engine->nullValue() <=> QScriptValue(engine, QScriptValue::NullValue)", - "engine->nullValue() <=> engine->evaluate(\"{}\")", - "engine->nullValue() <=> engine->evaluate(\"undefined\")", - "engine->nullValue() <=> engine->evaluate(\"null\")", - "engine->nullValue() <=> engine->nullValue()", - "engine->nullValue() <=> engine->undefinedValue()", - "engine->nullValue() <=> engine->newQObject(0)", - "engine->undefinedValue() <=> QScriptValue(QScriptValue::UndefinedValue)", - "engine->undefinedValue() <=> QScriptValue(QScriptValue::NullValue)", - "engine->undefinedValue() <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "engine->undefinedValue() <=> QScriptValue(0, QScriptValue::NullValue)", - "engine->undefinedValue() <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "engine->undefinedValue() <=> QScriptValue(engine, QScriptValue::NullValue)", - "engine->undefinedValue() <=> engine->evaluate(\"{}\")", - "engine->undefinedValue() <=> engine->evaluate(\"undefined\")", - "engine->undefinedValue() <=> engine->evaluate(\"null\")", - "engine->undefinedValue() <=> engine->nullValue()", - "engine->undefinedValue() <=> engine->undefinedValue()", - "engine->undefinedValue() <=> engine->newQObject(0)", - "engine->newObject() <=> engine->newObject()", - "engine->newArray() <=> QScriptValue(false)", - "engine->newArray() <=> QScriptValue(0)", - "engine->newArray() <=> QScriptValue(0.0)", - "engine->newArray() <=> QScriptValue(QString(\"\"))", - "engine->newArray() <=> QScriptValue(QString())", - "engine->newArray() <=> QScriptValue(0, false)", - "engine->newArray() <=> QScriptValue(0, 0)", - "engine->newArray() <=> QScriptValue(0, 0.0)", - "engine->newArray() <=> QScriptValue(0, QString(\"\"))", - "engine->newArray() <=> QScriptValue(0, QString())", - "engine->newArray() <=> QScriptValue(engine, false)", - "engine->newArray() <=> QScriptValue(engine, 0)", - "engine->newArray() <=> QScriptValue(engine, 0.0)", - "engine->newArray() <=> QScriptValue(engine, QString(\"\"))", - "engine->newArray() <=> QScriptValue(engine, QString())", - "engine->newArray() <=> engine->evaluate(\"false\")", - "engine->newArray() <=> engine->evaluate(\"0\")", - "engine->newArray() <=> engine->evaluate(\"0.0\")", - "engine->newArray() <=> engine->evaluate(\"''\")", - "engine->newArray() <=> engine->newArray()", - "engine->newArray(10) <=> engine->newArray(10)", - "engine->newDate(QDateTime()) <=> engine->newDate(QDateTime())", - "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "engine->newVariant(QVariant()) <=> engine->newVariant(QVariant())", - "engine->newVariant(QVariant(123)) <=> QScriptValue(123.0)", - "engine->newVariant(QVariant(123)) <=> QScriptValue(QString(\"123\"))", - "engine->newVariant(QVariant(123)) <=> QScriptValue(0, 123.0)", - "engine->newVariant(QVariant(123)) <=> QScriptValue(0, QString(\"123\"))", - "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, 123.0)", - "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, QString(\"123\"))", - "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"123.0\")", - "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"'123'\")", - "engine->newVariant(QVariant(123)) <=> engine->newVariant(QVariant(123))", - "engine->newVariant(QVariant(false)) <=> QScriptValue(false)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0.0)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(QString(\"\"))", - "engine->newVariant(QVariant(false)) <=> QScriptValue(QString())", - "engine->newVariant(QVariant(false)) <=> QScriptValue(QString(\"0\"))", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0, false)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0, 0)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0, 0.0)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0, QString(\"\"))", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0, QString())", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0, QString(\"0\"))", - "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, false)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 0)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 0.0)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, QString(\"\"))", - "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, QString())", - "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, QString(\"0\"))", - "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"false\")", - "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"0\")", - "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"0.0\")", - "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"''\")", - "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"'0'\")", - "engine->newVariant(QVariant(false)) <=> engine->newVariant(QVariant(false))", - "engine->newQObject(0) <=> QScriptValue(QScriptValue::UndefinedValue)", - "engine->newQObject(0) <=> QScriptValue(QScriptValue::NullValue)", - "engine->newQObject(0) <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "engine->newQObject(0) <=> QScriptValue(0, QScriptValue::NullValue)", - "engine->newQObject(0) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "engine->newQObject(0) <=> QScriptValue(engine, QScriptValue::NullValue)", - "engine->newQObject(0) <=> engine->evaluate(\"{}\")", - "engine->newQObject(0) <=> engine->evaluate(\"undefined\")", - "engine->newQObject(0) <=> engine->evaluate(\"null\")", - "engine->newQObject(0) <=> engine->nullValue()", - "engine->newQObject(0) <=> engine->undefinedValue()", - "engine->newQObject(0) <=> engine->newQObject(0)", - "engine->newQObject(engine) <=> engine->newQObject(engine)",}; - -void tst_QScriptValue::equals_makeData(const char *expr) -{ - static QSet equals; - if (equals.isEmpty()) { - equals.reserve(1217); - for (unsigned i = 0; i < 1217; ++i) - equals.insert(equals_array[i]); - } - QHash::const_iterator it; - for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) { - QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key()); - newRow(tag.toLatin1()) << it.value() << equals.contains(tag); - } -} - -void tst_QScriptValue::equals_test(const char *, const QScriptValue& value) -{ - QFETCH(QScriptValue, other); - QFETCH(bool, expected); - QCOMPARE(value.equals(other), expected); -} - -DEFINE_TEST_FUNCTION(equals) - - -void tst_QScriptValue::strictlyEquals_initData() -{ - QTest::addColumn("other"); - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString strictlyEquals_array [] = { - "QScriptValue() <=> QScriptValue()", - "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")", - "QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")", - "QScriptValue(QScriptValue::UndefinedValue) <=> engine->undefinedValue()", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"null\")", - "QScriptValue(QScriptValue::NullValue) <=> engine->nullValue()", - "QScriptValue(QScriptValue::NullValue) <=> engine->newQObject(0)", - "QScriptValue(true) <=> QScriptValue(true)", - "QScriptValue(true) <=> QScriptValue(0, true)", - "QScriptValue(true) <=> QScriptValue(engine, true)", - "QScriptValue(true) <=> engine->evaluate(\"true\")", - "QScriptValue(false) <=> QScriptValue(false)", - "QScriptValue(false) <=> QScriptValue(0, false)", - "QScriptValue(false) <=> QScriptValue(engine, false)", - "QScriptValue(false) <=> engine->evaluate(\"false\")", - "QScriptValue(int(122)) <=> QScriptValue(int(122))", - "QScriptValue(int(122)) <=> QScriptValue(0, int(122))", - "QScriptValue(int(122)) <=> QScriptValue(engine, int(122))", - "QScriptValue(int(122)) <=> engine->evaluate(\"122\")", - "QScriptValue(uint(124)) <=> QScriptValue(uint(124))", - "QScriptValue(uint(124)) <=> QScriptValue(0, uint(124))", - "QScriptValue(uint(124)) <=> QScriptValue(engine, uint(124))", - "QScriptValue(uint(124)) <=> engine->evaluate(\"124\")", - "QScriptValue(0) <=> QScriptValue(0)", - "QScriptValue(0) <=> QScriptValue(0.0)", - "QScriptValue(0) <=> QScriptValue(0, 0)", - "QScriptValue(0) <=> QScriptValue(0, 0.0)", - "QScriptValue(0) <=> QScriptValue(engine, 0)", - "QScriptValue(0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0) <=> engine->evaluate(\"0\")", - "QScriptValue(0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0.0) <=> QScriptValue(0)", - "QScriptValue(0.0) <=> QScriptValue(0.0)", - "QScriptValue(0.0) <=> QScriptValue(0, 0)", - "QScriptValue(0.0) <=> QScriptValue(0, 0.0)", - "QScriptValue(0.0) <=> QScriptValue(engine, 0)", - "QScriptValue(0.0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0.0) <=> engine->evaluate(\"0\")", - "QScriptValue(0.0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(123.0) <=> QScriptValue(123.0)", - "QScriptValue(123.0) <=> QScriptValue(0, 123.0)", - "QScriptValue(123.0) <=> QScriptValue(engine, 123.0)", - "QScriptValue(123.0) <=> engine->evaluate(\"123.0\")", - "QScriptValue(6.37e-8) <=> QScriptValue(6.37e-8)", - "QScriptValue(6.37e-8) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(6.37e-8) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(6.37e-8) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(-6.37e-8) <=> QScriptValue(-6.37e-8)", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, -6.37e-8)", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, -6.37e-8)", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"-6.37e-8\")", - "QScriptValue(0x43211234) <=> QScriptValue(0x43211234)", - "QScriptValue(0x43211234) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0x43211234) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0x43211234) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0x10000) <=> QScriptValue(0x10000)", - "QScriptValue(0x10000) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0x10000) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0x10000) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0x10001) <=> QScriptValue(0x10001)", - "QScriptValue(0x10001) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0x10001) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0x10001) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(qInf()) <=> QScriptValue(qInf())", - "QScriptValue(qInf()) <=> QScriptValue(0, qInf())", - "QScriptValue(qInf()) <=> QScriptValue(engine, qInf())", - "QScriptValue(qInf()) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(-qInf()) <=> QScriptValue(-qInf())", - "QScriptValue(-qInf()) <=> QScriptValue(0, -qInf())", - "QScriptValue(-qInf()) <=> QScriptValue(engine, -qInf())", - "QScriptValue(-qInf()) <=> engine->evaluate(\"-Infinity\")", - "QScriptValue(\"NaN\") <=> QScriptValue(\"NaN\")", - "QScriptValue(\"NaN\") <=> QScriptValue(0, \"NaN\")", - "QScriptValue(\"NaN\") <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(\"Infinity\") <=> QScriptValue(\"Infinity\")", - "QScriptValue(\"Infinity\") <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(\"-Infinity\") <=> QScriptValue(\"-Infinity\")", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(\"ciao\") <=> QScriptValue(\"ciao\")", - "QScriptValue(\"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(\"ciao\") <=> QScriptValue(0, \"ciao\")", - "QScriptValue(\"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(\"ciao\") <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(\"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(\"ciao\") <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(QString())", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString())", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString())", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"''\")", - "QScriptValue(QString()) <=> QScriptValue(QString(\"\"))", - "QScriptValue(QString()) <=> QScriptValue(QString())", - "QScriptValue(QString()) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(QString()) <=> QScriptValue(0, QString())", - "QScriptValue(QString()) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(QString()) <=> QScriptValue(engine, QString())", - "QScriptValue(QString()) <=> engine->evaluate(\"''\")", - "QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"'0'\")", - "QScriptValue(QString(\"123\")) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"'123'\")", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->undefinedValue()", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"null\")", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->nullValue()", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->newQObject(0)", - "QScriptValue(0, true) <=> QScriptValue(true)", - "QScriptValue(0, true) <=> QScriptValue(0, true)", - "QScriptValue(0, true) <=> QScriptValue(engine, true)", - "QScriptValue(0, true) <=> engine->evaluate(\"true\")", - "QScriptValue(0, false) <=> QScriptValue(false)", - "QScriptValue(0, false) <=> QScriptValue(0, false)", - "QScriptValue(0, false) <=> QScriptValue(engine, false)", - "QScriptValue(0, false) <=> engine->evaluate(\"false\")", - "QScriptValue(0, int(122)) <=> QScriptValue(int(122))", - "QScriptValue(0, int(122)) <=> QScriptValue(0, int(122))", - "QScriptValue(0, int(122)) <=> QScriptValue(engine, int(122))", - "QScriptValue(0, int(122)) <=> engine->evaluate(\"122\")", - "QScriptValue(0, uint(124)) <=> QScriptValue(uint(124))", - "QScriptValue(0, uint(124)) <=> QScriptValue(0, uint(124))", - "QScriptValue(0, uint(124)) <=> QScriptValue(engine, uint(124))", - "QScriptValue(0, uint(124)) <=> engine->evaluate(\"124\")", - "QScriptValue(0, 0) <=> QScriptValue(0)", - "QScriptValue(0, 0) <=> QScriptValue(0.0)", - "QScriptValue(0, 0) <=> QScriptValue(0, 0)", - "QScriptValue(0, 0) <=> QScriptValue(0, 0.0)", - "QScriptValue(0, 0) <=> QScriptValue(engine, 0)", - "QScriptValue(0, 0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0, 0) <=> engine->evaluate(\"0\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0, 0.0) <=> QScriptValue(0)", - "QScriptValue(0, 0.0) <=> QScriptValue(0.0)", - "QScriptValue(0, 0.0) <=> QScriptValue(0, 0)", - "QScriptValue(0, 0.0) <=> QScriptValue(0, 0.0)", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0)", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"0\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0, 123.0) <=> QScriptValue(123.0)", - "QScriptValue(0, 123.0) <=> QScriptValue(0, 123.0)", - "QScriptValue(0, 123.0) <=> QScriptValue(engine, 123.0)", - "QScriptValue(0, 123.0) <=> engine->evaluate(\"123.0\")", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(6.37e-8)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(-6.37e-8)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, -6.37e-8)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"-6.37e-8\")", - "QScriptValue(0, 0x43211234) <=> QScriptValue(0x43211234)", - "QScriptValue(0, 0x43211234) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, 0x43211234) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, 0x43211234) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, 0x10000) <=> QScriptValue(0x10000)", - "QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0, 0x10000) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0, 0x10001) <=> QScriptValue(0x10001)", - "QScriptValue(0, 0x10001) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0, 0x10001) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0, 0x10001) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0, qInf()) <=> QScriptValue(qInf())", - "QScriptValue(0, qInf()) <=> QScriptValue(0, qInf())", - "QScriptValue(0, qInf()) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, qInf()) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, -qInf()) <=> QScriptValue(-qInf())", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, -qInf())", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, -qInf())", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"-Infinity\")", - "QScriptValue(0, \"NaN\") <=> QScriptValue(\"NaN\")", - "QScriptValue(0, \"NaN\") <=> QScriptValue(0, \"NaN\")", - "QScriptValue(0, \"NaN\") <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"-Infinity\")", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(0, \"ciao\") <=> QScriptValue(\"ciao\")", - "QScriptValue(0, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, \"ciao\") <=> QScriptValue(0, \"ciao\")", - "QScriptValue(0, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, \"ciao\") <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(0, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString())", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString())", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString())", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"''\")", - "QScriptValue(0, QString()) <=> QScriptValue(QString(\"\"))", - "QScriptValue(0, QString()) <=> QScriptValue(QString())", - "QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(0, QString()) <=> QScriptValue(0, QString())", - "QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(0, QString()) <=> QScriptValue(engine, QString())", - "QScriptValue(0, QString()) <=> engine->evaluate(\"''\")", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"'0'\")", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"'123'\")", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->undefinedValue()", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"null\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->nullValue()", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->newQObject(0)", - "QScriptValue(engine, true) <=> QScriptValue(true)", - "QScriptValue(engine, true) <=> QScriptValue(0, true)", - "QScriptValue(engine, true) <=> QScriptValue(engine, true)", - "QScriptValue(engine, true) <=> engine->evaluate(\"true\")", - "QScriptValue(engine, false) <=> QScriptValue(false)", - "QScriptValue(engine, false) <=> QScriptValue(0, false)", - "QScriptValue(engine, false) <=> QScriptValue(engine, false)", - "QScriptValue(engine, false) <=> engine->evaluate(\"false\")", - "QScriptValue(engine, int(122)) <=> QScriptValue(int(122))", - "QScriptValue(engine, int(122)) <=> QScriptValue(0, int(122))", - "QScriptValue(engine, int(122)) <=> QScriptValue(engine, int(122))", - "QScriptValue(engine, int(122)) <=> engine->evaluate(\"122\")", - "QScriptValue(engine, uint(124)) <=> QScriptValue(uint(124))", - "QScriptValue(engine, uint(124)) <=> QScriptValue(0, uint(124))", - "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, uint(124))", - "QScriptValue(engine, uint(124)) <=> engine->evaluate(\"124\")", - "QScriptValue(engine, 0) <=> QScriptValue(0)", - "QScriptValue(engine, 0) <=> QScriptValue(0.0)", - "QScriptValue(engine, 0) <=> QScriptValue(0, 0)", - "QScriptValue(engine, 0) <=> QScriptValue(0, 0.0)", - "QScriptValue(engine, 0) <=> QScriptValue(engine, 0)", - "QScriptValue(engine, 0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(engine, 0) <=> engine->evaluate(\"0\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(engine, 0.0) <=> QScriptValue(0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0.0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0.0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(engine, 123.0) <=> QScriptValue(123.0)", - "QScriptValue(engine, 123.0) <=> QScriptValue(0, 123.0)", - "QScriptValue(engine, 123.0) <=> QScriptValue(engine, 123.0)", - "QScriptValue(engine, 123.0) <=> engine->evaluate(\"123.0\")", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(6.37e-8)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(-6.37e-8)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, -6.37e-8)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"-6.37e-8\")", - "QScriptValue(engine, 0x43211234) <=> QScriptValue(0x43211234)", - "QScriptValue(engine, 0x43211234) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, 0x43211234) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, 0x10000) <=> QScriptValue(0x10000)", - "QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x10000)", - "QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(engine, 0x10000) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(engine, 0x10001) <=> QScriptValue(0x10001)", - "QScriptValue(engine, 0x10001) <=> QScriptValue(0, 0x10001)", - "QScriptValue(engine, 0x10001) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(engine, 0x10001) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(engine, qInf()) <=> QScriptValue(qInf())", - "QScriptValue(engine, qInf()) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, qInf()) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, qInf()) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, -qInf()) <=> QScriptValue(-qInf())", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, -qInf())", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, -qInf())", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"-Infinity\")", - "QScriptValue(engine, \"NaN\") <=> QScriptValue(\"NaN\")", - "QScriptValue(engine, \"NaN\") <=> QScriptValue(0, \"NaN\")", - "QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"-Infinity\")", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(\"ciao\")", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(0, \"ciao\")", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString())", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString())", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString())", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"''\")", - "QScriptValue(engine, QString()) <=> QScriptValue(QString(\"\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(QString())", - "QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(0, QString())", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString())", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"''\")", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"'0'\")", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"'123'\")", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"[]\")", - "engine->evaluate(\"{}\") <=> QScriptValue(QScriptValue::UndefinedValue)", - "engine->evaluate(\"{}\") <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "engine->evaluate(\"{}\") <=> engine->evaluate(\"{}\")", - "engine->evaluate(\"{}\") <=> engine->evaluate(\"undefined\")", - "engine->evaluate(\"{}\") <=> engine->undefinedValue()", - "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Date.prototype\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"Object\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Array\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"Number\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"Function\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"/foo/\")", - "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"new Object()\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Array()\")", - "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"new Error()\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Undefined\")", - "engine->evaluate(\"Null\") <=> engine->evaluate(\"Null\")", - "engine->evaluate(\"True\") <=> engine->evaluate(\"True\")", - "engine->evaluate(\"False\") <=> engine->evaluate(\"False\")", - "engine->evaluate(\"undefined\") <=> QScriptValue(QScriptValue::UndefinedValue)", - "engine->evaluate(\"undefined\") <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "engine->evaluate(\"undefined\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "engine->evaluate(\"undefined\") <=> engine->evaluate(\"{}\")", - "engine->evaluate(\"undefined\") <=> engine->evaluate(\"undefined\")", - "engine->evaluate(\"undefined\") <=> engine->undefinedValue()", - "engine->evaluate(\"null\") <=> QScriptValue(QScriptValue::NullValue)", - "engine->evaluate(\"null\") <=> QScriptValue(0, QScriptValue::NullValue)", - "engine->evaluate(\"null\") <=> QScriptValue(engine, QScriptValue::NullValue)", - "engine->evaluate(\"null\") <=> engine->evaluate(\"null\")", - "engine->evaluate(\"null\") <=> engine->nullValue()", - "engine->evaluate(\"null\") <=> engine->newQObject(0)", - "engine->evaluate(\"true\") <=> QScriptValue(true)", - "engine->evaluate(\"true\") <=> QScriptValue(0, true)", - "engine->evaluate(\"true\") <=> QScriptValue(engine, true)", - "engine->evaluate(\"true\") <=> engine->evaluate(\"true\")", - "engine->evaluate(\"false\") <=> QScriptValue(false)", - "engine->evaluate(\"false\") <=> QScriptValue(0, false)", - "engine->evaluate(\"false\") <=> QScriptValue(engine, false)", - "engine->evaluate(\"false\") <=> engine->evaluate(\"false\")", - "engine->evaluate(\"122\") <=> QScriptValue(int(122))", - "engine->evaluate(\"122\") <=> QScriptValue(0, int(122))", - "engine->evaluate(\"122\") <=> QScriptValue(engine, int(122))", - "engine->evaluate(\"122\") <=> engine->evaluate(\"122\")", - "engine->evaluate(\"124\") <=> QScriptValue(uint(124))", - "engine->evaluate(\"124\") <=> QScriptValue(0, uint(124))", - "engine->evaluate(\"124\") <=> QScriptValue(engine, uint(124))", - "engine->evaluate(\"124\") <=> engine->evaluate(\"124\")", - "engine->evaluate(\"0\") <=> QScriptValue(0)", - "engine->evaluate(\"0\") <=> QScriptValue(0.0)", - "engine->evaluate(\"0\") <=> QScriptValue(0, 0)", - "engine->evaluate(\"0\") <=> QScriptValue(0, 0.0)", - "engine->evaluate(\"0\") <=> QScriptValue(engine, 0)", - "engine->evaluate(\"0\") <=> QScriptValue(engine, 0.0)", - "engine->evaluate(\"0\") <=> engine->evaluate(\"0\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"0.0\")", - "engine->evaluate(\"0.0\") <=> QScriptValue(0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0.0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0.0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0.0)", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0.0\")", - "engine->evaluate(\"123.0\") <=> QScriptValue(123.0)", - "engine->evaluate(\"123.0\") <=> QScriptValue(0, 123.0)", - "engine->evaluate(\"123.0\") <=> QScriptValue(engine, 123.0)", - "engine->evaluate(\"123.0\") <=> engine->evaluate(\"123.0\")", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(6.37e-8)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 6.37e-8)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 6.37e-8)", - "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(-6.37e-8)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, -6.37e-8)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, -6.37e-8)", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"-6.37e-8\")", - "engine->evaluate(\"0x43211234\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"0x43211234\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"0x43211234\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"0x43211234\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"0x10000\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"0x10000\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"0x10000\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"0x10000\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"0x10001\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"0x10001\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"0x10001\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"0x10001\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"Infinity\") <=> QScriptValue(qInf())", - "engine->evaluate(\"Infinity\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"Infinity\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"Infinity\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(-qInf())", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, -qInf())", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, -qInf())", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"-Infinity\")", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(\"ciao\")", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(0, \"ciao\")", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(engine, \"ciao\")", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"''\") <=> QScriptValue(QString(\"\"))", - "engine->evaluate(\"''\") <=> QScriptValue(QString())", - "engine->evaluate(\"''\") <=> QScriptValue(0, QString(\"\"))", - "engine->evaluate(\"''\") <=> QScriptValue(0, QString())", - "engine->evaluate(\"''\") <=> QScriptValue(engine, QString(\"\"))", - "engine->evaluate(\"''\") <=> QScriptValue(engine, QString())", - "engine->evaluate(\"''\") <=> engine->evaluate(\"''\")", - "engine->evaluate(\"'0'\") <=> QScriptValue(QString(\"0\"))", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, QString(\"0\"))", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, QString(\"0\"))", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"'0'\")", - "engine->evaluate(\"'123'\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"'123'\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"'123'\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(QString(\"12.4\"))", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"'12.4'\")", - "engine->nullValue() <=> QScriptValue(QScriptValue::NullValue)", - "engine->nullValue() <=> QScriptValue(0, QScriptValue::NullValue)", - "engine->nullValue() <=> QScriptValue(engine, QScriptValue::NullValue)", - "engine->nullValue() <=> engine->evaluate(\"null\")", - "engine->nullValue() <=> engine->nullValue()", - "engine->nullValue() <=> engine->newQObject(0)", - "engine->undefinedValue() <=> QScriptValue(QScriptValue::UndefinedValue)", - "engine->undefinedValue() <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "engine->undefinedValue() <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "engine->undefinedValue() <=> engine->evaluate(\"{}\")", - "engine->undefinedValue() <=> engine->evaluate(\"undefined\")", - "engine->undefinedValue() <=> engine->undefinedValue()", - "engine->newObject() <=> engine->newObject()", - "engine->newArray() <=> engine->newArray()", - "engine->newArray(10) <=> engine->newArray(10)", - "engine->newDate(QDateTime()) <=> engine->newDate(QDateTime())", - "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "engine->newVariant(QVariant()) <=> engine->newVariant(QVariant())", - "engine->newVariant(QVariant(123)) <=> engine->newVariant(QVariant(123))", - "engine->newVariant(QVariant(false)) <=> engine->newVariant(QVariant(false))", - "engine->newQObject(0) <=> QScriptValue(QScriptValue::NullValue)", - "engine->newQObject(0) <=> QScriptValue(0, QScriptValue::NullValue)", - "engine->newQObject(0) <=> QScriptValue(engine, QScriptValue::NullValue)", - "engine->newQObject(0) <=> engine->evaluate(\"null\")", - "engine->newQObject(0) <=> engine->nullValue()", - "engine->newQObject(0) <=> engine->newQObject(0)", - "engine->newQObject(engine) <=> engine->newQObject(engine)",}; - -void tst_QScriptValue::strictlyEquals_makeData(const char *expr) -{ - static QSet equals; - if (equals.isEmpty()) { - equals.reserve(523); - for (unsigned i = 0; i < 523; ++i) - equals.insert(strictlyEquals_array[i]); - } - QHash::const_iterator it; - for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) { - QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key()); - newRow(tag.toLatin1()) << it.value() << equals.contains(tag); - } -} - -void tst_QScriptValue::strictlyEquals_test(const char *, const QScriptValue& value) -{ - QFETCH(QScriptValue, other); - QFETCH(bool, expected); - QCOMPARE(value.strictlyEquals(other), expected); -} - -DEFINE_TEST_FUNCTION(strictlyEquals) - - -void tst_QScriptValue::lessThan_initData() -{ - QTest::addColumn("other"); - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString lessThan_array [] = { - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(true)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(int(122))", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(uint(124))", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(123.0)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(6.37e-8)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0x43211234)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0x10000)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0x10001)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(qInf())", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(\"Infinity\")", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, true)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, int(122))", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, uint(124))", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 123.0)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 0x10000)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 0x10001)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, qInf())", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, true)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, int(122))", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, uint(124))", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 123.0)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, qInf())", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"true\")", - "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"122\")", - "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"124\")", - "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"123.0\")", - "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"'123'\")", - "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(QScriptValue::NullValue) <=> engine->newVariant(QVariant(123))", - "QScriptValue(true) <=> QScriptValue(int(122))", - "QScriptValue(true) <=> QScriptValue(uint(124))", - "QScriptValue(true) <=> QScriptValue(123.0)", - "QScriptValue(true) <=> QScriptValue(0x43211234)", - "QScriptValue(true) <=> QScriptValue(0x10000)", - "QScriptValue(true) <=> QScriptValue(0x10001)", - "QScriptValue(true) <=> QScriptValue(qInf())", - "QScriptValue(true) <=> QScriptValue(\"Infinity\")", - "QScriptValue(true) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(true) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(true) <=> QScriptValue(0, int(122))", - "QScriptValue(true) <=> QScriptValue(0, uint(124))", - "QScriptValue(true) <=> QScriptValue(0, 123.0)", - "QScriptValue(true) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(true) <=> QScriptValue(0, 0x10000)", - "QScriptValue(true) <=> QScriptValue(0, 0x10001)", - "QScriptValue(true) <=> QScriptValue(0, qInf())", - "QScriptValue(true) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(true) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(true) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(true) <=> QScriptValue(engine, int(122))", - "QScriptValue(true) <=> QScriptValue(engine, uint(124))", - "QScriptValue(true) <=> QScriptValue(engine, 123.0)", - "QScriptValue(true) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(true) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(true) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(true) <=> QScriptValue(engine, qInf())", - "QScriptValue(true) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(true) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(true) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(true) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(true) <=> engine->evaluate(\"122\")", - "QScriptValue(true) <=> engine->evaluate(\"124\")", - "QScriptValue(true) <=> engine->evaluate(\"123.0\")", - "QScriptValue(true) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(true) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(true) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(true) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(true) <=> engine->evaluate(\"'123'\")", - "QScriptValue(true) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(true) <=> engine->newVariant(QVariant(123))", - "QScriptValue(false) <=> QScriptValue(true)", - "QScriptValue(false) <=> QScriptValue(int(122))", - "QScriptValue(false) <=> QScriptValue(uint(124))", - "QScriptValue(false) <=> QScriptValue(123.0)", - "QScriptValue(false) <=> QScriptValue(6.37e-8)", - "QScriptValue(false) <=> QScriptValue(0x43211234)", - "QScriptValue(false) <=> QScriptValue(0x10000)", - "QScriptValue(false) <=> QScriptValue(0x10001)", - "QScriptValue(false) <=> QScriptValue(qInf())", - "QScriptValue(false) <=> QScriptValue(\"Infinity\")", - "QScriptValue(false) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(false) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(false) <=> QScriptValue(0, true)", - "QScriptValue(false) <=> QScriptValue(0, int(122))", - "QScriptValue(false) <=> QScriptValue(0, uint(124))", - "QScriptValue(false) <=> QScriptValue(0, 123.0)", - "QScriptValue(false) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(false) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(false) <=> QScriptValue(0, 0x10000)", - "QScriptValue(false) <=> QScriptValue(0, 0x10001)", - "QScriptValue(false) <=> QScriptValue(0, qInf())", - "QScriptValue(false) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(false) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(false) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(false) <=> QScriptValue(engine, true)", - "QScriptValue(false) <=> QScriptValue(engine, int(122))", - "QScriptValue(false) <=> QScriptValue(engine, uint(124))", - "QScriptValue(false) <=> QScriptValue(engine, 123.0)", - "QScriptValue(false) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(false) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(false) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(false) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(false) <=> QScriptValue(engine, qInf())", - "QScriptValue(false) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(false) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(false) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(false) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(false) <=> engine->evaluate(\"true\")", - "QScriptValue(false) <=> engine->evaluate(\"122\")", - "QScriptValue(false) <=> engine->evaluate(\"124\")", - "QScriptValue(false) <=> engine->evaluate(\"123.0\")", - "QScriptValue(false) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(false) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(false) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(false) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(false) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(false) <=> engine->evaluate(\"'123'\")", - "QScriptValue(false) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(false) <=> engine->newVariant(QVariant(123))", - "QScriptValue(int(122)) <=> QScriptValue(uint(124))", - "QScriptValue(int(122)) <=> QScriptValue(123.0)", - "QScriptValue(int(122)) <=> QScriptValue(0x43211234)", - "QScriptValue(int(122)) <=> QScriptValue(0x10000)", - "QScriptValue(int(122)) <=> QScriptValue(0x10001)", - "QScriptValue(int(122)) <=> QScriptValue(qInf())", - "QScriptValue(int(122)) <=> QScriptValue(\"Infinity\")", - "QScriptValue(int(122)) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(int(122)) <=> QScriptValue(0, uint(124))", - "QScriptValue(int(122)) <=> QScriptValue(0, 123.0)", - "QScriptValue(int(122)) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(int(122)) <=> QScriptValue(0, 0x10000)", - "QScriptValue(int(122)) <=> QScriptValue(0, 0x10001)", - "QScriptValue(int(122)) <=> QScriptValue(0, qInf())", - "QScriptValue(int(122)) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(int(122)) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(int(122)) <=> QScriptValue(engine, uint(124))", - "QScriptValue(int(122)) <=> QScriptValue(engine, 123.0)", - "QScriptValue(int(122)) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(int(122)) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(int(122)) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(int(122)) <=> QScriptValue(engine, qInf())", - "QScriptValue(int(122)) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(int(122)) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(int(122)) <=> engine->evaluate(\"124\")", - "QScriptValue(int(122)) <=> engine->evaluate(\"123.0\")", - "QScriptValue(int(122)) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(int(122)) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(int(122)) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(int(122)) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(int(122)) <=> engine->evaluate(\"'123'\")", - "QScriptValue(int(122)) <=> engine->newVariant(QVariant(123))", - "QScriptValue(uint(124)) <=> QScriptValue(0x43211234)", - "QScriptValue(uint(124)) <=> QScriptValue(0x10000)", - "QScriptValue(uint(124)) <=> QScriptValue(0x10001)", - "QScriptValue(uint(124)) <=> QScriptValue(qInf())", - "QScriptValue(uint(124)) <=> QScriptValue(\"Infinity\")", - "QScriptValue(uint(124)) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(uint(124)) <=> QScriptValue(0, 0x10000)", - "QScriptValue(uint(124)) <=> QScriptValue(0, 0x10001)", - "QScriptValue(uint(124)) <=> QScriptValue(0, qInf())", - "QScriptValue(uint(124)) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(uint(124)) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(uint(124)) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(uint(124)) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(uint(124)) <=> QScriptValue(engine, qInf())", - "QScriptValue(uint(124)) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(uint(124)) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(uint(124)) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(uint(124)) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(uint(124)) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0) <=> QScriptValue(true)", - "QScriptValue(0) <=> QScriptValue(int(122))", - "QScriptValue(0) <=> QScriptValue(uint(124))", - "QScriptValue(0) <=> QScriptValue(123.0)", - "QScriptValue(0) <=> QScriptValue(6.37e-8)", - "QScriptValue(0) <=> QScriptValue(0x43211234)", - "QScriptValue(0) <=> QScriptValue(0x10000)", - "QScriptValue(0) <=> QScriptValue(0x10001)", - "QScriptValue(0) <=> QScriptValue(qInf())", - "QScriptValue(0) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(0) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(0) <=> QScriptValue(0, true)", - "QScriptValue(0) <=> QScriptValue(0, int(122))", - "QScriptValue(0) <=> QScriptValue(0, uint(124))", - "QScriptValue(0) <=> QScriptValue(0, 123.0)", - "QScriptValue(0) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(0) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0) <=> QScriptValue(0, qInf())", - "QScriptValue(0) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(0) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(0) <=> QScriptValue(engine, true)", - "QScriptValue(0) <=> QScriptValue(engine, int(122))", - "QScriptValue(0) <=> QScriptValue(engine, uint(124))", - "QScriptValue(0) <=> QScriptValue(engine, 123.0)", - "QScriptValue(0) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(0) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0) <=> QScriptValue(engine, qInf())", - "QScriptValue(0) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(0) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(0) <=> engine->evaluate(\"true\")", - "QScriptValue(0) <=> engine->evaluate(\"122\")", - "QScriptValue(0) <=> engine->evaluate(\"124\")", - "QScriptValue(0) <=> engine->evaluate(\"123.0\")", - "QScriptValue(0) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(0) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0) <=> engine->evaluate(\"'123'\")", - "QScriptValue(0) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(0) <=> engine->newVariant(QVariant(123))", - "QScriptValue(0.0) <=> QScriptValue(true)", - "QScriptValue(0.0) <=> QScriptValue(int(122))", - "QScriptValue(0.0) <=> QScriptValue(uint(124))", - "QScriptValue(0.0) <=> QScriptValue(123.0)", - "QScriptValue(0.0) <=> QScriptValue(6.37e-8)", - "QScriptValue(0.0) <=> QScriptValue(0x43211234)", - "QScriptValue(0.0) <=> QScriptValue(0x10000)", - "QScriptValue(0.0) <=> QScriptValue(0x10001)", - "QScriptValue(0.0) <=> QScriptValue(qInf())", - "QScriptValue(0.0) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0.0) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(0.0) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(0.0) <=> QScriptValue(0, true)", - "QScriptValue(0.0) <=> QScriptValue(0, int(122))", - "QScriptValue(0.0) <=> QScriptValue(0, uint(124))", - "QScriptValue(0.0) <=> QScriptValue(0, 123.0)", - "QScriptValue(0.0) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(0.0) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0.0) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0.0) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0.0) <=> QScriptValue(0, qInf())", - "QScriptValue(0.0) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0.0) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(0.0) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(0.0) <=> QScriptValue(engine, true)", - "QScriptValue(0.0) <=> QScriptValue(engine, int(122))", - "QScriptValue(0.0) <=> QScriptValue(engine, uint(124))", - "QScriptValue(0.0) <=> QScriptValue(engine, 123.0)", - "QScriptValue(0.0) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(0.0) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0.0) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0.0) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0.0) <=> QScriptValue(engine, qInf())", - "QScriptValue(0.0) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0.0) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(0.0) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(0.0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(0.0) <=> engine->evaluate(\"true\")", - "QScriptValue(0.0) <=> engine->evaluate(\"122\")", - "QScriptValue(0.0) <=> engine->evaluate(\"124\")", - "QScriptValue(0.0) <=> engine->evaluate(\"123.0\")", - "QScriptValue(0.0) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(0.0) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0.0) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0.0) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0.0) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0.0) <=> engine->evaluate(\"'123'\")", - "QScriptValue(0.0) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(0.0) <=> engine->newVariant(QVariant(123))", - "QScriptValue(123.0) <=> QScriptValue(uint(124))", - "QScriptValue(123.0) <=> QScriptValue(0x43211234)", - "QScriptValue(123.0) <=> QScriptValue(0x10000)", - "QScriptValue(123.0) <=> QScriptValue(0x10001)", - "QScriptValue(123.0) <=> QScriptValue(qInf())", - "QScriptValue(123.0) <=> QScriptValue(\"Infinity\")", - "QScriptValue(123.0) <=> QScriptValue(0, uint(124))", - "QScriptValue(123.0) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(123.0) <=> QScriptValue(0, 0x10000)", - "QScriptValue(123.0) <=> QScriptValue(0, 0x10001)", - "QScriptValue(123.0) <=> QScriptValue(0, qInf())", - "QScriptValue(123.0) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(123.0) <=> QScriptValue(engine, uint(124))", - "QScriptValue(123.0) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(123.0) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(123.0) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(123.0) <=> QScriptValue(engine, qInf())", - "QScriptValue(123.0) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(123.0) <=> engine->evaluate(\"124\")", - "QScriptValue(123.0) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(123.0) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(123.0) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(123.0) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(6.37e-8) <=> QScriptValue(true)", - "QScriptValue(6.37e-8) <=> QScriptValue(int(122))", - "QScriptValue(6.37e-8) <=> QScriptValue(uint(124))", - "QScriptValue(6.37e-8) <=> QScriptValue(123.0)", - "QScriptValue(6.37e-8) <=> QScriptValue(0x43211234)", - "QScriptValue(6.37e-8) <=> QScriptValue(0x10000)", - "QScriptValue(6.37e-8) <=> QScriptValue(0x10001)", - "QScriptValue(6.37e-8) <=> QScriptValue(qInf())", - "QScriptValue(6.37e-8) <=> QScriptValue(\"Infinity\")", - "QScriptValue(6.37e-8) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(6.37e-8) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(6.37e-8) <=> QScriptValue(0, true)", - "QScriptValue(6.37e-8) <=> QScriptValue(0, int(122))", - "QScriptValue(6.37e-8) <=> QScriptValue(0, uint(124))", - "QScriptValue(6.37e-8) <=> QScriptValue(0, 123.0)", - "QScriptValue(6.37e-8) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(6.37e-8) <=> QScriptValue(0, 0x10000)", - "QScriptValue(6.37e-8) <=> QScriptValue(0, 0x10001)", - "QScriptValue(6.37e-8) <=> QScriptValue(0, qInf())", - "QScriptValue(6.37e-8) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(6.37e-8) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(6.37e-8) <=> QScriptValue(engine, true)", - "QScriptValue(6.37e-8) <=> QScriptValue(engine, int(122))", - "QScriptValue(6.37e-8) <=> QScriptValue(engine, uint(124))", - "QScriptValue(6.37e-8) <=> QScriptValue(engine, 123.0)", - "QScriptValue(6.37e-8) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(6.37e-8) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(6.37e-8) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(6.37e-8) <=> QScriptValue(engine, qInf())", - "QScriptValue(6.37e-8) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(6.37e-8) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(6.37e-8) <=> engine->evaluate(\"true\")", - "QScriptValue(6.37e-8) <=> engine->evaluate(\"122\")", - "QScriptValue(6.37e-8) <=> engine->evaluate(\"124\")", - "QScriptValue(6.37e-8) <=> engine->evaluate(\"123.0\")", - "QScriptValue(6.37e-8) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(6.37e-8) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(6.37e-8) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(6.37e-8) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(6.37e-8) <=> engine->evaluate(\"'123'\")", - "QScriptValue(6.37e-8) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(6.37e-8) <=> engine->newVariant(QVariant(123))", - "QScriptValue(-6.37e-8) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(-6.37e-8) <=> QScriptValue(true)", - "QScriptValue(-6.37e-8) <=> QScriptValue(false)", - "QScriptValue(-6.37e-8) <=> QScriptValue(int(122))", - "QScriptValue(-6.37e-8) <=> QScriptValue(uint(124))", - "QScriptValue(-6.37e-8) <=> QScriptValue(0)", - "QScriptValue(-6.37e-8) <=> QScriptValue(0.0)", - "QScriptValue(-6.37e-8) <=> QScriptValue(123.0)", - "QScriptValue(-6.37e-8) <=> QScriptValue(6.37e-8)", - "QScriptValue(-6.37e-8) <=> QScriptValue(0x43211234)", - "QScriptValue(-6.37e-8) <=> QScriptValue(0x10000)", - "QScriptValue(-6.37e-8) <=> QScriptValue(0x10001)", - "QScriptValue(-6.37e-8) <=> QScriptValue(qInf())", - "QScriptValue(-6.37e-8) <=> QScriptValue(\"Infinity\")", - "QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"\"))", - "QScriptValue(-6.37e-8) <=> QScriptValue(QString())", - "QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, true)", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, false)", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, int(122))", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, uint(124))", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, 0)", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, 0.0)", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, 123.0)", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, 0x10000)", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, 0x10001)", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, qInf())", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, QString())", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, true)", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, false)", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, int(122))", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, uint(124))", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0)", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0.0)", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, 123.0)", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, qInf())", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString())", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"[]\")", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"null\")", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"true\")", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"false\")", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"122\")", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"124\")", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"0\")", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"0.0\")", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"123.0\")", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"''\")", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"'0'\")", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"'123'\")", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(-6.37e-8) <=> engine->nullValue()", - "QScriptValue(-6.37e-8) <=> engine->newArray()", - "QScriptValue(-6.37e-8) <=> engine->newVariant(QVariant(123))", - "QScriptValue(-6.37e-8) <=> engine->newVariant(QVariant(false))", - "QScriptValue(-6.37e-8) <=> engine->newQObject(0)", - "QScriptValue(0x43211234) <=> QScriptValue(qInf())", - "QScriptValue(0x43211234) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0x43211234) <=> QScriptValue(0, qInf())", - "QScriptValue(0x43211234) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0x43211234) <=> QScriptValue(engine, qInf())", - "QScriptValue(0x43211234) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0x43211234) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0x10000) <=> QScriptValue(0x43211234)", - "QScriptValue(0x10000) <=> QScriptValue(0x10001)", - "QScriptValue(0x10000) <=> QScriptValue(qInf())", - "QScriptValue(0x10000) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0x10000) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0x10000) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0x10000) <=> QScriptValue(0, qInf())", - "QScriptValue(0x10000) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0x10000) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0x10000) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0x10000) <=> QScriptValue(engine, qInf())", - "QScriptValue(0x10000) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0x10000) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0x10000) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0x10000) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0x10001) <=> QScriptValue(0x43211234)", - "QScriptValue(0x10001) <=> QScriptValue(qInf())", - "QScriptValue(0x10001) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0x10001) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0x10001) <=> QScriptValue(0, qInf())", - "QScriptValue(0x10001) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0x10001) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0x10001) <=> QScriptValue(engine, qInf())", - "QScriptValue(0x10001) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0x10001) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0x10001) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(-qInf()) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(-qInf()) <=> QScriptValue(true)", - "QScriptValue(-qInf()) <=> QScriptValue(false)", - "QScriptValue(-qInf()) <=> QScriptValue(int(122))", - "QScriptValue(-qInf()) <=> QScriptValue(uint(124))", - "QScriptValue(-qInf()) <=> QScriptValue(0)", - "QScriptValue(-qInf()) <=> QScriptValue(0.0)", - "QScriptValue(-qInf()) <=> QScriptValue(123.0)", - "QScriptValue(-qInf()) <=> QScriptValue(6.37e-8)", - "QScriptValue(-qInf()) <=> QScriptValue(-6.37e-8)", - "QScriptValue(-qInf()) <=> QScriptValue(0x43211234)", - "QScriptValue(-qInf()) <=> QScriptValue(0x10000)", - "QScriptValue(-qInf()) <=> QScriptValue(0x10001)", - "QScriptValue(-qInf()) <=> QScriptValue(qInf())", - "QScriptValue(-qInf()) <=> QScriptValue(\"Infinity\")", - "QScriptValue(-qInf()) <=> QScriptValue(QString(\"\"))", - "QScriptValue(-qInf()) <=> QScriptValue(QString())", - "QScriptValue(-qInf()) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(-qInf()) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(-qInf()) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(-qInf()) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(-qInf()) <=> QScriptValue(0, true)", - "QScriptValue(-qInf()) <=> QScriptValue(0, false)", - "QScriptValue(-qInf()) <=> QScriptValue(0, int(122))", - "QScriptValue(-qInf()) <=> QScriptValue(0, uint(124))", - "QScriptValue(-qInf()) <=> QScriptValue(0, 0)", - "QScriptValue(-qInf()) <=> QScriptValue(0, 0.0)", - "QScriptValue(-qInf()) <=> QScriptValue(0, 123.0)", - "QScriptValue(-qInf()) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(-qInf()) <=> QScriptValue(0, -6.37e-8)", - "QScriptValue(-qInf()) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(-qInf()) <=> QScriptValue(0, 0x10000)", - "QScriptValue(-qInf()) <=> QScriptValue(0, 0x10001)", - "QScriptValue(-qInf()) <=> QScriptValue(0, qInf())", - "QScriptValue(-qInf()) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(-qInf()) <=> QScriptValue(0, QString())", - "QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(-qInf()) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(-qInf()) <=> QScriptValue(engine, true)", - "QScriptValue(-qInf()) <=> QScriptValue(engine, false)", - "QScriptValue(-qInf()) <=> QScriptValue(engine, int(122))", - "QScriptValue(-qInf()) <=> QScriptValue(engine, uint(124))", - "QScriptValue(-qInf()) <=> QScriptValue(engine, 0)", - "QScriptValue(-qInf()) <=> QScriptValue(engine, 0.0)", - "QScriptValue(-qInf()) <=> QScriptValue(engine, 123.0)", - "QScriptValue(-qInf()) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(-qInf()) <=> QScriptValue(engine, -6.37e-8)", - "QScriptValue(-qInf()) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(-qInf()) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(-qInf()) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(-qInf()) <=> QScriptValue(engine, qInf())", - "QScriptValue(-qInf()) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(-qInf()) <=> QScriptValue(engine, QString())", - "QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(-qInf()) <=> engine->evaluate(\"[]\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"null\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"true\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"false\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"122\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"124\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"0\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"0.0\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"123.0\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"-6.37e-8\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"''\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"'0'\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"'123'\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(-qInf()) <=> engine->nullValue()", - "QScriptValue(-qInf()) <=> engine->newArray()", - "QScriptValue(-qInf()) <=> engine->newVariant(QVariant(123))", - "QScriptValue(-qInf()) <=> engine->newVariant(QVariant(false))", - "QScriptValue(-qInf()) <=> engine->newQObject(0)", - "QScriptValue(\"NaN\") <=> QScriptValue(\"ciao\")", - "QScriptValue(\"NaN\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(\"NaN\") <=> QScriptValue(0, \"ciao\")", - "QScriptValue(\"NaN\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(\"NaN\") <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(\"NaN\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(\"NaN\") <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(\"NaN\") <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(\"NaN\") <=> engine->evaluate(\"Object\")", - "QScriptValue(\"NaN\") <=> engine->evaluate(\"Array\")", - "QScriptValue(\"NaN\") <=> engine->evaluate(\"Number\")", - "QScriptValue(\"NaN\") <=> engine->evaluate(\"Function\")", - "QScriptValue(\"NaN\") <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(\"NaN\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(\"NaN\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(\"NaN\") <=> engine->evaluate(\"new Object()\")", - "QScriptValue(\"NaN\") <=> engine->evaluate(\"Undefined\")", - "QScriptValue(\"NaN\") <=> engine->evaluate(\"Null\")", - "QScriptValue(\"NaN\") <=> engine->evaluate(\"True\")", - "QScriptValue(\"NaN\") <=> engine->evaluate(\"False\")", - "QScriptValue(\"NaN\") <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(\"NaN\") <=> engine->newObject()", - "QScriptValue(\"NaN\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(\"NaN\") <=> engine->newQObject(engine)", - "QScriptValue(\"Infinity\") <=> QScriptValue(\"NaN\")", - "QScriptValue(\"Infinity\") <=> QScriptValue(\"ciao\")", - "QScriptValue(\"Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(\"Infinity\") <=> QScriptValue(0, \"NaN\")", - "QScriptValue(\"Infinity\") <=> QScriptValue(0, \"ciao\")", - "QScriptValue(\"Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(\"Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Object\")", - "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Array\")", - "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Number\")", - "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Function\")", - "QScriptValue(\"Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(\"Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(\"Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(\"Infinity\") <=> engine->evaluate(\"new Object()\")", - "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Undefined\")", - "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Null\")", - "QScriptValue(\"Infinity\") <=> engine->evaluate(\"True\")", - "QScriptValue(\"Infinity\") <=> engine->evaluate(\"False\")", - "QScriptValue(\"Infinity\") <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(\"Infinity\") <=> engine->newObject()", - "QScriptValue(\"Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(\"Infinity\") <=> engine->newQObject(engine)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(true)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(false)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(int(122))", - "QScriptValue(\"-Infinity\") <=> QScriptValue(uint(124))", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0.0)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(123.0)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(6.37e-8)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(-6.37e-8)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0x43211234)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0x10000)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0x10001)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(qInf())", - "QScriptValue(\"-Infinity\") <=> QScriptValue(\"NaN\")", - "QScriptValue(\"-Infinity\") <=> QScriptValue(\"Infinity\")", - "QScriptValue(\"-Infinity\") <=> QScriptValue(\"ciao\")", - "QScriptValue(\"-Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(\"-Infinity\") <=> QScriptValue(QString(\"0\"))", - "QScriptValue(\"-Infinity\") <=> QScriptValue(QString(\"123\"))", - "QScriptValue(\"-Infinity\") <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, true)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, false)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, int(122))", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, uint(124))", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0.0)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, 123.0)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, -6.37e-8)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0x43211234)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0x10000)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0x10001)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, qInf())", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"NaN\")", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"ciao\")", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, true)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, false)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, int(122))", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, uint(124))", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0.0)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 123.0)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, -6.37e-8)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0x10000)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0x10001)", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, qInf())", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Error.prototype\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Object\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Array\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Number\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Function\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"/foo/\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"new Object()\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"new Error()\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Undefined\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Null\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"True\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"False\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"null\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"true\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"false\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"122\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"124\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"0\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"0.0\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"123.0\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"-6.37e-8\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"0x10000\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"0x10001\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Infinity\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"'0'\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"'123'\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(\"-Infinity\") <=> engine->nullValue()", - "QScriptValue(\"-Infinity\") <=> engine->newObject()", - "QScriptValue(\"-Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(\"-Infinity\") <=> engine->newVariant(QVariant(123))", - "QScriptValue(\"-Infinity\") <=> engine->newVariant(QVariant(false))", - "QScriptValue(\"-Infinity\") <=> engine->newQObject(0)", - "QScriptValue(\"-Infinity\") <=> engine->newQObject(engine)", - "QScriptValue(\"ciao\") <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(\"ciao\") <=> engine->evaluate(\"Object\")", - "QScriptValue(\"ciao\") <=> engine->evaluate(\"Array\")", - "QScriptValue(\"ciao\") <=> engine->evaluate(\"Number\")", - "QScriptValue(\"ciao\") <=> engine->evaluate(\"Function\")", - "QScriptValue(\"ciao\") <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(\"ciao\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(\"ciao\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Object\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Array\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Number\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(QString(\"\")) <=> QScriptValue(true)", - "QScriptValue(QString(\"\")) <=> QScriptValue(int(122))", - "QScriptValue(QString(\"\")) <=> QScriptValue(uint(124))", - "QScriptValue(QString(\"\")) <=> QScriptValue(123.0)", - "QScriptValue(QString(\"\")) <=> QScriptValue(6.37e-8)", - "QScriptValue(QString(\"\")) <=> QScriptValue(0x43211234)", - "QScriptValue(QString(\"\")) <=> QScriptValue(0x10000)", - "QScriptValue(QString(\"\")) <=> QScriptValue(0x10001)", - "QScriptValue(QString(\"\")) <=> QScriptValue(qInf())", - "QScriptValue(QString(\"\")) <=> QScriptValue(\"NaN\")", - "QScriptValue(QString(\"\")) <=> QScriptValue(\"Infinity\")", - "QScriptValue(QString(\"\")) <=> QScriptValue(\"-Infinity\")", - "QScriptValue(QString(\"\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(QString(\"\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, true)", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, int(122))", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, uint(124))", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, 123.0)", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, 0x10000)", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, 0x10001)", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, qInf())", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, \"NaN\")", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, true)", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, int(122))", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, uint(124))", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 123.0)", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, qInf())", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Error.prototype\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Object\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Array\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Number\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Function\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"/foo/\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"new Object()\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"new Error()\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Undefined\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Null\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"True\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"False\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"true\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"122\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"124\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"123.0\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"'0'\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"'123'\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(QString(\"\")) <=> engine->newObject()", - "QScriptValue(QString(\"\")) <=> engine->newArray(10)", - "QScriptValue(QString(\"\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(QString(\"\")) <=> engine->newVariant(QVariant(123))", - "QScriptValue(QString(\"\")) <=> engine->newQObject(engine)", - "QScriptValue(QString()) <=> QScriptValue(true)", - "QScriptValue(QString()) <=> QScriptValue(int(122))", - "QScriptValue(QString()) <=> QScriptValue(uint(124))", - "QScriptValue(QString()) <=> QScriptValue(123.0)", - "QScriptValue(QString()) <=> QScriptValue(6.37e-8)", - "QScriptValue(QString()) <=> QScriptValue(0x43211234)", - "QScriptValue(QString()) <=> QScriptValue(0x10000)", - "QScriptValue(QString()) <=> QScriptValue(0x10001)", - "QScriptValue(QString()) <=> QScriptValue(qInf())", - "QScriptValue(QString()) <=> QScriptValue(\"NaN\")", - "QScriptValue(QString()) <=> QScriptValue(\"Infinity\")", - "QScriptValue(QString()) <=> QScriptValue(\"-Infinity\")", - "QScriptValue(QString()) <=> QScriptValue(\"ciao\")", - "QScriptValue(QString()) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString()) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(QString()) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(QString()) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(QString()) <=> QScriptValue(0, true)", - "QScriptValue(QString()) <=> QScriptValue(0, int(122))", - "QScriptValue(QString()) <=> QScriptValue(0, uint(124))", - "QScriptValue(QString()) <=> QScriptValue(0, 123.0)", - "QScriptValue(QString()) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(QString()) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(QString()) <=> QScriptValue(0, 0x10000)", - "QScriptValue(QString()) <=> QScriptValue(0, 0x10001)", - "QScriptValue(QString()) <=> QScriptValue(0, qInf())", - "QScriptValue(QString()) <=> QScriptValue(0, \"NaN\")", - "QScriptValue(QString()) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(QString()) <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(QString()) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(QString()) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString()) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(QString()) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(QString()) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(QString()) <=> QScriptValue(engine, true)", - "QScriptValue(QString()) <=> QScriptValue(engine, int(122))", - "QScriptValue(QString()) <=> QScriptValue(engine, uint(124))", - "QScriptValue(QString()) <=> QScriptValue(engine, 123.0)", - "QScriptValue(QString()) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(QString()) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(QString()) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(QString()) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(QString()) <=> QScriptValue(engine, qInf())", - "QScriptValue(QString()) <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(QString()) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(QString()) <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(QString()) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(QString()) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString()) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(QString()) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(QString()) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(QString()) <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(QString()) <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(QString()) <=> engine->evaluate(\"Error.prototype\")", - "QScriptValue(QString()) <=> engine->evaluate(\"Object\")", - "QScriptValue(QString()) <=> engine->evaluate(\"Array\")", - "QScriptValue(QString()) <=> engine->evaluate(\"Number\")", - "QScriptValue(QString()) <=> engine->evaluate(\"Function\")", - "QScriptValue(QString()) <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(QString()) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(QString()) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(QString()) <=> engine->evaluate(\"/foo/\")", - "QScriptValue(QString()) <=> engine->evaluate(\"new Object()\")", - "QScriptValue(QString()) <=> engine->evaluate(\"new Error()\")", - "QScriptValue(QString()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(QString()) <=> engine->evaluate(\"Undefined\")", - "QScriptValue(QString()) <=> engine->evaluate(\"Null\")", - "QScriptValue(QString()) <=> engine->evaluate(\"True\")", - "QScriptValue(QString()) <=> engine->evaluate(\"False\")", - "QScriptValue(QString()) <=> engine->evaluate(\"true\")", - "QScriptValue(QString()) <=> engine->evaluate(\"122\")", - "QScriptValue(QString()) <=> engine->evaluate(\"124\")", - "QScriptValue(QString()) <=> engine->evaluate(\"123.0\")", - "QScriptValue(QString()) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(QString()) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(QString()) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(QString()) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(QString()) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(QString()) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(QString()) <=> engine->evaluate(\"'0'\")", - "QScriptValue(QString()) <=> engine->evaluate(\"'123'\")", - "QScriptValue(QString()) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(QString()) <=> engine->newObject()", - "QScriptValue(QString()) <=> engine->newArray(10)", - "QScriptValue(QString()) <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(QString()) <=> engine->newVariant(QVariant(123))", - "QScriptValue(QString()) <=> engine->newQObject(engine)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(true)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(int(122))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(uint(124))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(123.0)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(6.37e-8)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0x43211234)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0x10000)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0x10001)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(qInf())", - "QScriptValue(QString(\"0\")) <=> QScriptValue(\"NaN\")", - "QScriptValue(QString(\"0\")) <=> QScriptValue(\"Infinity\")", - "QScriptValue(QString(\"0\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(QString(\"0\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, true)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, int(122))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, uint(124))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 123.0)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0x10000)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0x10001)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, qInf())", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, \"NaN\")", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, true)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, int(122))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, uint(124))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 123.0)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, qInf())", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Error.prototype\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Object\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Array\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Number\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Function\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"new Object()\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"new Error()\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Undefined\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Null\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"True\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"False\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"true\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"122\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"124\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"123.0\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"'123'\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(QString(\"0\")) <=> engine->newObject()", - "QScriptValue(QString(\"0\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(QString(\"0\")) <=> engine->newVariant(QVariant(123))", - "QScriptValue(QString(\"0\")) <=> engine->newQObject(engine)", - "QScriptValue(QString(\"123\")) <=> QScriptValue(uint(124))", - "QScriptValue(QString(\"123\")) <=> QScriptValue(0x43211234)", - "QScriptValue(QString(\"123\")) <=> QScriptValue(0x10000)", - "QScriptValue(QString(\"123\")) <=> QScriptValue(0x10001)", - "QScriptValue(QString(\"123\")) <=> QScriptValue(qInf())", - "QScriptValue(QString(\"123\")) <=> QScriptValue(\"NaN\")", - "QScriptValue(QString(\"123\")) <=> QScriptValue(\"Infinity\")", - "QScriptValue(QString(\"123\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(QString(\"123\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString(\"123\")) <=> QScriptValue(0, uint(124))", - "QScriptValue(QString(\"123\")) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(QString(\"123\")) <=> QScriptValue(0, 0x10000)", - "QScriptValue(QString(\"123\")) <=> QScriptValue(0, 0x10001)", - "QScriptValue(QString(\"123\")) <=> QScriptValue(0, qInf())", - "QScriptValue(QString(\"123\")) <=> QScriptValue(0, \"NaN\")", - "QScriptValue(QString(\"123\")) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(QString(\"123\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(QString(\"123\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, uint(124))", - "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, qInf())", - "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Error.prototype\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Object\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Array\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Number\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Function\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"new Object()\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"new Error()\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Undefined\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Null\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"True\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"False\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"124\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(QString(\"123\")) <=> engine->newObject()", - "QScriptValue(QString(\"123\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(QString(\"123\")) <=> engine->newQObject(engine)", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(int(122))", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(uint(124))", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(123.0)", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0x43211234)", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0x10000)", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0x10001)", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(qInf())", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(\"NaN\")", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(\"Infinity\")", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, int(122))", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, uint(124))", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 123.0)", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 0x10000)", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 0x10001)", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, qInf())", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, \"NaN\")", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, int(122))", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, uint(124))", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 123.0)", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, qInf())", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Error.prototype\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Object\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Array\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Number\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Function\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"new Object()\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"new Error()\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Undefined\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Null\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"True\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"False\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"122\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"124\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"123.0\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"'123'\")", - "QScriptValue(QString(\"12.4\")) <=> engine->newObject()", - "QScriptValue(QString(\"12.4\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(QString(\"12.4\")) <=> engine->newVariant(QVariant(123))", - "QScriptValue(QString(\"12.4\")) <=> engine->newQObject(engine)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(true)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(int(122))", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(uint(124))", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(123.0)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(6.37e-8)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0x43211234)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0x10000)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0x10001)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(qInf())", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, true)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, int(122))", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, uint(124))", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 123.0)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, qInf())", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, true)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, int(122))", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, uint(124))", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 123.0)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"true\")", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"122\")", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"124\")", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"123.0\")", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"'123'\")", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->newVariant(QVariant(123))", - "QScriptValue(0, true) <=> QScriptValue(int(122))", - "QScriptValue(0, true) <=> QScriptValue(uint(124))", - "QScriptValue(0, true) <=> QScriptValue(123.0)", - "QScriptValue(0, true) <=> QScriptValue(0x43211234)", - "QScriptValue(0, true) <=> QScriptValue(0x10000)", - "QScriptValue(0, true) <=> QScriptValue(0x10001)", - "QScriptValue(0, true) <=> QScriptValue(qInf())", - "QScriptValue(0, true) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, true) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(0, true) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, true) <=> QScriptValue(0, int(122))", - "QScriptValue(0, true) <=> QScriptValue(0, uint(124))", - "QScriptValue(0, true) <=> QScriptValue(0, 123.0)", - "QScriptValue(0, true) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, true) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0, true) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0, true) <=> QScriptValue(0, qInf())", - "QScriptValue(0, true) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, true) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, true) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(0, true) <=> QScriptValue(engine, int(122))", - "QScriptValue(0, true) <=> QScriptValue(engine, uint(124))", - "QScriptValue(0, true) <=> QScriptValue(engine, 123.0)", - "QScriptValue(0, true) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, true) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0, true) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0, true) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, true) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, true) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(0, true) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(0, true) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(0, true) <=> engine->evaluate(\"122\")", - "QScriptValue(0, true) <=> engine->evaluate(\"124\")", - "QScriptValue(0, true) <=> engine->evaluate(\"123.0\")", - "QScriptValue(0, true) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, true) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0, true) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0, true) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, true) <=> engine->evaluate(\"'123'\")", - "QScriptValue(0, true) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(0, true) <=> engine->newVariant(QVariant(123))", - "QScriptValue(0, false) <=> QScriptValue(true)", - "QScriptValue(0, false) <=> QScriptValue(int(122))", - "QScriptValue(0, false) <=> QScriptValue(uint(124))", - "QScriptValue(0, false) <=> QScriptValue(123.0)", - "QScriptValue(0, false) <=> QScriptValue(6.37e-8)", - "QScriptValue(0, false) <=> QScriptValue(0x43211234)", - "QScriptValue(0, false) <=> QScriptValue(0x10000)", - "QScriptValue(0, false) <=> QScriptValue(0x10001)", - "QScriptValue(0, false) <=> QScriptValue(qInf())", - "QScriptValue(0, false) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, false) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(0, false) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, false) <=> QScriptValue(0, true)", - "QScriptValue(0, false) <=> QScriptValue(0, int(122))", - "QScriptValue(0, false) <=> QScriptValue(0, uint(124))", - "QScriptValue(0, false) <=> QScriptValue(0, 123.0)", - "QScriptValue(0, false) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(0, false) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, false) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0, false) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0, false) <=> QScriptValue(0, qInf())", - "QScriptValue(0, false) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, false) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, false) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(0, false) <=> QScriptValue(engine, true)", - "QScriptValue(0, false) <=> QScriptValue(engine, int(122))", - "QScriptValue(0, false) <=> QScriptValue(engine, uint(124))", - "QScriptValue(0, false) <=> QScriptValue(engine, 123.0)", - "QScriptValue(0, false) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(0, false) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, false) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0, false) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0, false) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, false) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, false) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(0, false) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(0, false) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(0, false) <=> engine->evaluate(\"true\")", - "QScriptValue(0, false) <=> engine->evaluate(\"122\")", - "QScriptValue(0, false) <=> engine->evaluate(\"124\")", - "QScriptValue(0, false) <=> engine->evaluate(\"123.0\")", - "QScriptValue(0, false) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(0, false) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, false) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0, false) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0, false) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, false) <=> engine->evaluate(\"'123'\")", - "QScriptValue(0, false) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(0, false) <=> engine->newVariant(QVariant(123))", - "QScriptValue(0, int(122)) <=> QScriptValue(uint(124))", - "QScriptValue(0, int(122)) <=> QScriptValue(123.0)", - "QScriptValue(0, int(122)) <=> QScriptValue(0x43211234)", - "QScriptValue(0, int(122)) <=> QScriptValue(0x10000)", - "QScriptValue(0, int(122)) <=> QScriptValue(0x10001)", - "QScriptValue(0, int(122)) <=> QScriptValue(qInf())", - "QScriptValue(0, int(122)) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, int(122)) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(0, int(122)) <=> QScriptValue(0, uint(124))", - "QScriptValue(0, int(122)) <=> QScriptValue(0, 123.0)", - "QScriptValue(0, int(122)) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, int(122)) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0, int(122)) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0, int(122)) <=> QScriptValue(0, qInf())", - "QScriptValue(0, int(122)) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, int(122)) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, int(122)) <=> QScriptValue(engine, uint(124))", - "QScriptValue(0, int(122)) <=> QScriptValue(engine, 123.0)", - "QScriptValue(0, int(122)) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, int(122)) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0, int(122)) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0, int(122)) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, int(122)) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, int(122)) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(0, int(122)) <=> engine->evaluate(\"124\")", - "QScriptValue(0, int(122)) <=> engine->evaluate(\"123.0\")", - "QScriptValue(0, int(122)) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, int(122)) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0, int(122)) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0, int(122)) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, int(122)) <=> engine->evaluate(\"'123'\")", - "QScriptValue(0, int(122)) <=> engine->newVariant(QVariant(123))", - "QScriptValue(0, uint(124)) <=> QScriptValue(0x43211234)", - "QScriptValue(0, uint(124)) <=> QScriptValue(0x10000)", - "QScriptValue(0, uint(124)) <=> QScriptValue(0x10001)", - "QScriptValue(0, uint(124)) <=> QScriptValue(qInf())", - "QScriptValue(0, uint(124)) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, uint(124)) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, uint(124)) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0, uint(124)) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0, uint(124)) <=> QScriptValue(0, qInf())", - "QScriptValue(0, uint(124)) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, uint(124)) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, uint(124)) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0, uint(124)) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0, uint(124)) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, uint(124)) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, uint(124)) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, uint(124)) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0, uint(124)) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0, uint(124)) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, 0) <=> QScriptValue(true)", - "QScriptValue(0, 0) <=> QScriptValue(int(122))", - "QScriptValue(0, 0) <=> QScriptValue(uint(124))", - "QScriptValue(0, 0) <=> QScriptValue(123.0)", - "QScriptValue(0, 0) <=> QScriptValue(6.37e-8)", - "QScriptValue(0, 0) <=> QScriptValue(0x43211234)", - "QScriptValue(0, 0) <=> QScriptValue(0x10000)", - "QScriptValue(0, 0) <=> QScriptValue(0x10001)", - "QScriptValue(0, 0) <=> QScriptValue(qInf())", - "QScriptValue(0, 0) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, 0) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(0, 0) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, 0) <=> QScriptValue(0, true)", - "QScriptValue(0, 0) <=> QScriptValue(0, int(122))", - "QScriptValue(0, 0) <=> QScriptValue(0, uint(124))", - "QScriptValue(0, 0) <=> QScriptValue(0, 123.0)", - "QScriptValue(0, 0) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(0, 0) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, 0) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0, 0) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0, 0) <=> QScriptValue(0, qInf())", - "QScriptValue(0, 0) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, 0) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, 0) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(0, 0) <=> QScriptValue(engine, true)", - "QScriptValue(0, 0) <=> QScriptValue(engine, int(122))", - "QScriptValue(0, 0) <=> QScriptValue(engine, uint(124))", - "QScriptValue(0, 0) <=> QScriptValue(engine, 123.0)", - "QScriptValue(0, 0) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(0, 0) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, 0) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0, 0) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0, 0) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, 0) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(0, 0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"true\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"122\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"124\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"123.0\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"'123'\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(0, 0) <=> engine->newVariant(QVariant(123))", - "QScriptValue(0, 0.0) <=> QScriptValue(true)", - "QScriptValue(0, 0.0) <=> QScriptValue(int(122))", - "QScriptValue(0, 0.0) <=> QScriptValue(uint(124))", - "QScriptValue(0, 0.0) <=> QScriptValue(123.0)", - "QScriptValue(0, 0.0) <=> QScriptValue(6.37e-8)", - "QScriptValue(0, 0.0) <=> QScriptValue(0x43211234)", - "QScriptValue(0, 0.0) <=> QScriptValue(0x10000)", - "QScriptValue(0, 0.0) <=> QScriptValue(0x10001)", - "QScriptValue(0, 0.0) <=> QScriptValue(qInf())", - "QScriptValue(0, 0.0) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, 0.0) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(0, 0.0) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, 0.0) <=> QScriptValue(0, true)", - "QScriptValue(0, 0.0) <=> QScriptValue(0, int(122))", - "QScriptValue(0, 0.0) <=> QScriptValue(0, uint(124))", - "QScriptValue(0, 0.0) <=> QScriptValue(0, 123.0)", - "QScriptValue(0, 0.0) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(0, 0.0) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, 0.0) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0, 0.0) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0, 0.0) <=> QScriptValue(0, qInf())", - "QScriptValue(0, 0.0) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, true)", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, int(122))", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, uint(124))", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, 123.0)", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"true\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"122\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"124\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"123.0\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"'123'\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(0, 0.0) <=> engine->newVariant(QVariant(123))", - "QScriptValue(0, 123.0) <=> QScriptValue(uint(124))", - "QScriptValue(0, 123.0) <=> QScriptValue(0x43211234)", - "QScriptValue(0, 123.0) <=> QScriptValue(0x10000)", - "QScriptValue(0, 123.0) <=> QScriptValue(0x10001)", - "QScriptValue(0, 123.0) <=> QScriptValue(qInf())", - "QScriptValue(0, 123.0) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, 123.0) <=> QScriptValue(0, uint(124))", - "QScriptValue(0, 123.0) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, 123.0) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0, 123.0) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0, 123.0) <=> QScriptValue(0, qInf())", - "QScriptValue(0, 123.0) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, 123.0) <=> QScriptValue(engine, uint(124))", - "QScriptValue(0, 123.0) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, 123.0) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0, 123.0) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0, 123.0) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, 123.0) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, 123.0) <=> engine->evaluate(\"124\")", - "QScriptValue(0, 123.0) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, 123.0) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0, 123.0) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0, 123.0) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(true)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(int(122))", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(uint(124))", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(123.0)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(0x43211234)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(0x10000)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(0x10001)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(qInf())", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, true)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, int(122))", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, uint(124))", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 123.0)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, qInf())", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, true)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, int(122))", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, uint(124))", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 123.0)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"true\")", - "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"122\")", - "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"124\")", - "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"123.0\")", - "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"'123'\")", - "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(0, 6.37e-8) <=> engine->newVariant(QVariant(123))", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(true)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(false)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(int(122))", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(uint(124))", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0.0)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(123.0)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(6.37e-8)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0x43211234)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0x10000)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0x10001)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(qInf())", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"\"))", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(QString())", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, true)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, false)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, int(122))", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, uint(124))", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0.0)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 123.0)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, qInf())", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString())", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, true)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, false)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, int(122))", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, uint(124))", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 123.0)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString())", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"[]\")", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"null\")", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"true\")", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"false\")", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"122\")", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"124\")", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"0\")", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"123.0\")", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"''\")", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"'0'\")", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"'123'\")", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(0, -6.37e-8) <=> engine->nullValue()", - "QScriptValue(0, -6.37e-8) <=> engine->newArray()", - "QScriptValue(0, -6.37e-8) <=> engine->newVariant(QVariant(123))", - "QScriptValue(0, -6.37e-8) <=> engine->newVariant(QVariant(false))", - "QScriptValue(0, -6.37e-8) <=> engine->newQObject(0)", - "QScriptValue(0, 0x43211234) <=> QScriptValue(qInf())", - "QScriptValue(0, 0x43211234) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, 0x43211234) <=> QScriptValue(0, qInf())", - "QScriptValue(0, 0x43211234) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, 0x43211234) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, 0x43211234) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, 0x43211234) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, 0x10000) <=> QScriptValue(0x43211234)", - "QScriptValue(0, 0x10000) <=> QScriptValue(0x10001)", - "QScriptValue(0, 0x10000) <=> QScriptValue(qInf())", - "QScriptValue(0, 0x10000) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0, 0x10000) <=> QScriptValue(0, qInf())", - "QScriptValue(0, 0x10000) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0, 0x10000) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, 0x10000) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, 0x10000) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, 0x10000) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0, 0x10000) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, 0x10001) <=> QScriptValue(0x43211234)", - "QScriptValue(0, 0x10001) <=> QScriptValue(qInf())", - "QScriptValue(0, 0x10001) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, 0x10001) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, 0x10001) <=> QScriptValue(0, qInf())", - "QScriptValue(0, 0x10001) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, 0x10001) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, 0x10001) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, 0x10001) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, 0x10001) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, 0x10001) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, -qInf()) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(0, -qInf()) <=> QScriptValue(true)", - "QScriptValue(0, -qInf()) <=> QScriptValue(false)", - "QScriptValue(0, -qInf()) <=> QScriptValue(int(122))", - "QScriptValue(0, -qInf()) <=> QScriptValue(uint(124))", - "QScriptValue(0, -qInf()) <=> QScriptValue(0)", - "QScriptValue(0, -qInf()) <=> QScriptValue(0.0)", - "QScriptValue(0, -qInf()) <=> QScriptValue(123.0)", - "QScriptValue(0, -qInf()) <=> QScriptValue(6.37e-8)", - "QScriptValue(0, -qInf()) <=> QScriptValue(-6.37e-8)", - "QScriptValue(0, -qInf()) <=> QScriptValue(0x43211234)", - "QScriptValue(0, -qInf()) <=> QScriptValue(0x10000)", - "QScriptValue(0, -qInf()) <=> QScriptValue(0x10001)", - "QScriptValue(0, -qInf()) <=> QScriptValue(qInf())", - "QScriptValue(0, -qInf()) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"\"))", - "QScriptValue(0, -qInf()) <=> QScriptValue(QString())", - "QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, true)", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, false)", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, int(122))", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, uint(124))", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, 0)", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, 0.0)", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, 123.0)", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, -6.37e-8)", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, qInf())", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, QString())", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, true)", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, false)", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, int(122))", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, uint(124))", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0)", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, 123.0)", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, -6.37e-8)", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString())", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"[]\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"null\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"true\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"false\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"122\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"124\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"0\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"123.0\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"-6.37e-8\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"''\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"'0'\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"'123'\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(0, -qInf()) <=> engine->nullValue()", - "QScriptValue(0, -qInf()) <=> engine->newArray()", - "QScriptValue(0, -qInf()) <=> engine->newVariant(QVariant(123))", - "QScriptValue(0, -qInf()) <=> engine->newVariant(QVariant(false))", - "QScriptValue(0, -qInf()) <=> engine->newQObject(0)", - "QScriptValue(0, \"NaN\") <=> QScriptValue(\"ciao\")", - "QScriptValue(0, \"NaN\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, \"NaN\") <=> QScriptValue(0, \"ciao\")", - "QScriptValue(0, \"NaN\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, \"NaN\") <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(0, \"NaN\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Object\")", - "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Array\")", - "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Number\")", - "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Function\")", - "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"new Object()\")", - "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Undefined\")", - "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Null\")", - "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"True\")", - "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"False\")", - "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(0, \"NaN\") <=> engine->newObject()", - "QScriptValue(0, \"NaN\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(0, \"NaN\") <=> engine->newQObject(engine)", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(\"NaN\")", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(\"ciao\")", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"NaN\")", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"ciao\")", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Object\")", - "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Array\")", - "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Number\")", - "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Function\")", - "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"new Object()\")", - "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Undefined\")", - "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Null\")", - "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"True\")", - "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"False\")", - "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(0, \"Infinity\") <=> engine->newObject()", - "QScriptValue(0, \"Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(0, \"Infinity\") <=> engine->newQObject(engine)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(true)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(false)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(int(122))", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(uint(124))", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0.0)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(123.0)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(6.37e-8)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(-6.37e-8)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0x43211234)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0x10000)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0x10001)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(qInf())", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"NaN\")", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"ciao\")", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString(\"0\"))", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString(\"123\"))", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, true)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, false)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, int(122))", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, uint(124))", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0.0)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 123.0)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, -6.37e-8)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0x10000)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0x10001)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, qInf())", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"NaN\")", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"ciao\")", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, true)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, false)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, int(122))", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, uint(124))", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0.0)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 123.0)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, -6.37e-8)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, qInf())", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Error.prototype\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Object\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Array\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Number\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Function\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"/foo/\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"new Object()\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"new Error()\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Undefined\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Null\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"True\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"False\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"null\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"true\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"false\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"122\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"124\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"0\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"0.0\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"123.0\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"-6.37e-8\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"'0'\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"'123'\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(0, \"-Infinity\") <=> engine->nullValue()", - "QScriptValue(0, \"-Infinity\") <=> engine->newObject()", - "QScriptValue(0, \"-Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(0, \"-Infinity\") <=> engine->newVariant(QVariant(123))", - "QScriptValue(0, \"-Infinity\") <=> engine->newVariant(QVariant(false))", - "QScriptValue(0, \"-Infinity\") <=> engine->newQObject(0)", - "QScriptValue(0, \"-Infinity\") <=> engine->newQObject(engine)", - "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Object\")", - "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Array\")", - "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Number\")", - "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Function\")", - "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Object\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Array\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Number\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(true)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(int(122))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(uint(124))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(123.0)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(6.37e-8)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0x43211234)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0x10000)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0x10001)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(qInf())", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(\"NaN\")", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(\"-Infinity\")", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, true)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, int(122))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, uint(124))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 123.0)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, qInf())", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"NaN\")", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, true)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, int(122))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, uint(124))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 123.0)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Error.prototype\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Object\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Array\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Number\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Function\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"/foo/\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"new Object()\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"new Error()\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Undefined\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Null\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"True\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"False\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"true\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"122\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"124\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"123.0\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"'0'\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"'123'\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(0, QString(\"\")) <=> engine->newObject()", - "QScriptValue(0, QString(\"\")) <=> engine->newArray(10)", - "QScriptValue(0, QString(\"\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(0, QString(\"\")) <=> engine->newVariant(QVariant(123))", - "QScriptValue(0, QString(\"\")) <=> engine->newQObject(engine)", - "QScriptValue(0, QString()) <=> QScriptValue(true)", - "QScriptValue(0, QString()) <=> QScriptValue(int(122))", - "QScriptValue(0, QString()) <=> QScriptValue(uint(124))", - "QScriptValue(0, QString()) <=> QScriptValue(123.0)", - "QScriptValue(0, QString()) <=> QScriptValue(6.37e-8)", - "QScriptValue(0, QString()) <=> QScriptValue(0x43211234)", - "QScriptValue(0, QString()) <=> QScriptValue(0x10000)", - "QScriptValue(0, QString()) <=> QScriptValue(0x10001)", - "QScriptValue(0, QString()) <=> QScriptValue(qInf())", - "QScriptValue(0, QString()) <=> QScriptValue(\"NaN\")", - "QScriptValue(0, QString()) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, QString()) <=> QScriptValue(\"-Infinity\")", - "QScriptValue(0, QString()) <=> QScriptValue(\"ciao\")", - "QScriptValue(0, QString()) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString()) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(0, QString()) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(0, QString()) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, QString()) <=> QScriptValue(0, true)", - "QScriptValue(0, QString()) <=> QScriptValue(0, int(122))", - "QScriptValue(0, QString()) <=> QScriptValue(0, uint(124))", - "QScriptValue(0, QString()) <=> QScriptValue(0, 123.0)", - "QScriptValue(0, QString()) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(0, QString()) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, QString()) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0, QString()) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0, QString()) <=> QScriptValue(0, qInf())", - "QScriptValue(0, QString()) <=> QScriptValue(0, \"NaN\")", - "QScriptValue(0, QString()) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, QString()) <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(0, QString()) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(0, QString()) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(0, QString()) <=> QScriptValue(engine, true)", - "QScriptValue(0, QString()) <=> QScriptValue(engine, int(122))", - "QScriptValue(0, QString()) <=> QScriptValue(engine, uint(124))", - "QScriptValue(0, QString()) <=> QScriptValue(engine, 123.0)", - "QScriptValue(0, QString()) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(0, QString()) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, QString()) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0, QString()) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0, QString()) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, QString()) <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(0, QString()) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, QString()) <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(0, QString()) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(0, QString()) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(0, QString()) <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"Error.prototype\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"Object\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"Array\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"Number\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"Function\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"/foo/\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"new Object()\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"new Error()\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"Undefined\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"Null\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"True\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"False\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"true\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"122\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"124\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"123.0\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"'0'\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"'123'\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(0, QString()) <=> engine->newObject()", - "QScriptValue(0, QString()) <=> engine->newArray(10)", - "QScriptValue(0, QString()) <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(0, QString()) <=> engine->newVariant(QVariant(123))", - "QScriptValue(0, QString()) <=> engine->newQObject(engine)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(true)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(int(122))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(uint(124))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(123.0)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(6.37e-8)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0x43211234)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0x10000)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0x10001)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(qInf())", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(\"NaN\")", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, true)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, int(122))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, uint(124))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 123.0)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, qInf())", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, \"NaN\")", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, true)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, int(122))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, uint(124))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 123.0)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Error.prototype\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Object\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Array\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Number\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Function\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"new Object()\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"new Error()\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Undefined\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Null\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"True\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"False\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"true\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"122\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"124\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"123.0\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"'123'\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(0, QString(\"0\")) <=> engine->newObject()", - "QScriptValue(0, QString(\"0\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(0, QString(\"0\")) <=> engine->newVariant(QVariant(123))", - "QScriptValue(0, QString(\"0\")) <=> engine->newQObject(engine)", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(uint(124))", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0x43211234)", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0x10000)", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0x10001)", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(qInf())", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(\"NaN\")", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, uint(124))", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, qInf())", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, \"NaN\")", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, uint(124))", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Error.prototype\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Object\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Array\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Number\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Function\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"new Object()\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"new Error()\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Undefined\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Null\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"True\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"False\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"124\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(0, QString(\"123\")) <=> engine->newObject()", - "QScriptValue(0, QString(\"123\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(0, QString(\"123\")) <=> engine->newQObject(engine)", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(int(122))", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(uint(124))", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(123.0)", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0x43211234)", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0x10000)", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0x10001)", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(qInf())", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(\"NaN\")", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, int(122))", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, uint(124))", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 123.0)", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, qInf())", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, \"NaN\")", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, int(122))", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, uint(124))", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 123.0)", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Error.prototype\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Object\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Array\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Number\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Function\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"new Object()\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"new Error()\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Undefined\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Null\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"True\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"False\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"122\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"124\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"123.0\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"'123'\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(0, QString(\"12.3\")) <=> engine->newObject()", - "QScriptValue(0, QString(\"12.3\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(0, QString(\"12.3\")) <=> engine->newVariant(QVariant(123))", - "QScriptValue(0, QString(\"12.3\")) <=> engine->newQObject(engine)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(true)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(int(122))", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(uint(124))", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(123.0)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(6.37e-8)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0x43211234)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0x10000)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0x10001)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(qInf())", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, true)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, int(122))", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, uint(124))", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 123.0)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 0x10000)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 0x10001)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, true)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, int(122))", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, uint(124))", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 123.0)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"true\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"122\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"124\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"123.0\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"'123'\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->newVariant(QVariant(123))", - "QScriptValue(engine, true) <=> QScriptValue(int(122))", - "QScriptValue(engine, true) <=> QScriptValue(uint(124))", - "QScriptValue(engine, true) <=> QScriptValue(123.0)", - "QScriptValue(engine, true) <=> QScriptValue(0x43211234)", - "QScriptValue(engine, true) <=> QScriptValue(0x10000)", - "QScriptValue(engine, true) <=> QScriptValue(0x10001)", - "QScriptValue(engine, true) <=> QScriptValue(qInf())", - "QScriptValue(engine, true) <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, true) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(engine, true) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(engine, true) <=> QScriptValue(0, int(122))", - "QScriptValue(engine, true) <=> QScriptValue(0, uint(124))", - "QScriptValue(engine, true) <=> QScriptValue(0, 123.0)", - "QScriptValue(engine, true) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, true) <=> QScriptValue(0, 0x10000)", - "QScriptValue(engine, true) <=> QScriptValue(0, 0x10001)", - "QScriptValue(engine, true) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, true) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, true) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(engine, true) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, true) <=> QScriptValue(engine, int(122))", - "QScriptValue(engine, true) <=> QScriptValue(engine, uint(124))", - "QScriptValue(engine, true) <=> QScriptValue(engine, 123.0)", - "QScriptValue(engine, true) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, true) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(engine, true) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(engine, true) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, true) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, true) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, true) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(engine, true) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(engine, true) <=> engine->evaluate(\"122\")", - "QScriptValue(engine, true) <=> engine->evaluate(\"124\")", - "QScriptValue(engine, true) <=> engine->evaluate(\"123.0\")", - "QScriptValue(engine, true) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, true) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(engine, true) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(engine, true) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, true) <=> engine->evaluate(\"'123'\")", - "QScriptValue(engine, true) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(engine, true) <=> engine->newVariant(QVariant(123))", - "QScriptValue(engine, false) <=> QScriptValue(true)", - "QScriptValue(engine, false) <=> QScriptValue(int(122))", - "QScriptValue(engine, false) <=> QScriptValue(uint(124))", - "QScriptValue(engine, false) <=> QScriptValue(123.0)", - "QScriptValue(engine, false) <=> QScriptValue(6.37e-8)", - "QScriptValue(engine, false) <=> QScriptValue(0x43211234)", - "QScriptValue(engine, false) <=> QScriptValue(0x10000)", - "QScriptValue(engine, false) <=> QScriptValue(0x10001)", - "QScriptValue(engine, false) <=> QScriptValue(qInf())", - "QScriptValue(engine, false) <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, false) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(engine, false) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(engine, false) <=> QScriptValue(0, true)", - "QScriptValue(engine, false) <=> QScriptValue(0, int(122))", - "QScriptValue(engine, false) <=> QScriptValue(0, uint(124))", - "QScriptValue(engine, false) <=> QScriptValue(0, 123.0)", - "QScriptValue(engine, false) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(engine, false) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, false) <=> QScriptValue(0, 0x10000)", - "QScriptValue(engine, false) <=> QScriptValue(0, 0x10001)", - "QScriptValue(engine, false) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, false) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, false) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(engine, false) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, false) <=> QScriptValue(engine, true)", - "QScriptValue(engine, false) <=> QScriptValue(engine, int(122))", - "QScriptValue(engine, false) <=> QScriptValue(engine, uint(124))", - "QScriptValue(engine, false) <=> QScriptValue(engine, 123.0)", - "QScriptValue(engine, false) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, false) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, false) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(engine, false) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(engine, false) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, false) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(engine, false) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"true\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"122\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"124\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"123.0\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"'123'\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(engine, false) <=> engine->newVariant(QVariant(123))", - "QScriptValue(engine, int(122)) <=> QScriptValue(uint(124))", - "QScriptValue(engine, int(122)) <=> QScriptValue(123.0)", - "QScriptValue(engine, int(122)) <=> QScriptValue(0x43211234)", - "QScriptValue(engine, int(122)) <=> QScriptValue(0x10000)", - "QScriptValue(engine, int(122)) <=> QScriptValue(0x10001)", - "QScriptValue(engine, int(122)) <=> QScriptValue(qInf())", - "QScriptValue(engine, int(122)) <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, int(122)) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(engine, int(122)) <=> QScriptValue(0, uint(124))", - "QScriptValue(engine, int(122)) <=> QScriptValue(0, 123.0)", - "QScriptValue(engine, int(122)) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, int(122)) <=> QScriptValue(0, 0x10000)", - "QScriptValue(engine, int(122)) <=> QScriptValue(0, 0x10001)", - "QScriptValue(engine, int(122)) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, int(122)) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, int(122)) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(engine, int(122)) <=> QScriptValue(engine, uint(124))", - "QScriptValue(engine, int(122)) <=> QScriptValue(engine, 123.0)", - "QScriptValue(engine, int(122)) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, int(122)) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(engine, int(122)) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(engine, int(122)) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, int(122)) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, int(122)) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, int(122)) <=> engine->evaluate(\"124\")", - "QScriptValue(engine, int(122)) <=> engine->evaluate(\"123.0\")", - "QScriptValue(engine, int(122)) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, int(122)) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(engine, int(122)) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(engine, int(122)) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, int(122)) <=> engine->evaluate(\"'123'\")", - "QScriptValue(engine, int(122)) <=> engine->newVariant(QVariant(123))", - "QScriptValue(engine, uint(124)) <=> QScriptValue(0x43211234)", - "QScriptValue(engine, uint(124)) <=> QScriptValue(0x10000)", - "QScriptValue(engine, uint(124)) <=> QScriptValue(0x10001)", - "QScriptValue(engine, uint(124)) <=> QScriptValue(qInf())", - "QScriptValue(engine, uint(124)) <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, uint(124)) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, uint(124)) <=> QScriptValue(0, 0x10000)", - "QScriptValue(engine, uint(124)) <=> QScriptValue(0, 0x10001)", - "QScriptValue(engine, uint(124)) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, uint(124)) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, uint(124)) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, uint(124)) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(engine, uint(124)) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(engine, uint(124)) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, 0) <=> QScriptValue(true)", - "QScriptValue(engine, 0) <=> QScriptValue(int(122))", - "QScriptValue(engine, 0) <=> QScriptValue(uint(124))", - "QScriptValue(engine, 0) <=> QScriptValue(123.0)", - "QScriptValue(engine, 0) <=> QScriptValue(6.37e-8)", - "QScriptValue(engine, 0) <=> QScriptValue(0x43211234)", - "QScriptValue(engine, 0) <=> QScriptValue(0x10000)", - "QScriptValue(engine, 0) <=> QScriptValue(0x10001)", - "QScriptValue(engine, 0) <=> QScriptValue(qInf())", - "QScriptValue(engine, 0) <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, 0) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(engine, 0) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(engine, 0) <=> QScriptValue(0, true)", - "QScriptValue(engine, 0) <=> QScriptValue(0, int(122))", - "QScriptValue(engine, 0) <=> QScriptValue(0, uint(124))", - "QScriptValue(engine, 0) <=> QScriptValue(0, 123.0)", - "QScriptValue(engine, 0) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(engine, 0) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, 0) <=> QScriptValue(0, 0x10000)", - "QScriptValue(engine, 0) <=> QScriptValue(0, 0x10001)", - "QScriptValue(engine, 0) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, 0) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, 0) <=> QScriptValue(engine, true)", - "QScriptValue(engine, 0) <=> QScriptValue(engine, int(122))", - "QScriptValue(engine, 0) <=> QScriptValue(engine, uint(124))", - "QScriptValue(engine, 0) <=> QScriptValue(engine, 123.0)", - "QScriptValue(engine, 0) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, 0) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, 0) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(engine, 0) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(engine, 0) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, 0) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(engine, 0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"true\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"122\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"124\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"123.0\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"'123'\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(engine, 0) <=> engine->newVariant(QVariant(123))", - "QScriptValue(engine, 0.0) <=> QScriptValue(true)", - "QScriptValue(engine, 0.0) <=> QScriptValue(int(122))", - "QScriptValue(engine, 0.0) <=> QScriptValue(uint(124))", - "QScriptValue(engine, 0.0) <=> QScriptValue(123.0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(6.37e-8)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0x43211234)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0x10000)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0x10001)", - "QScriptValue(engine, 0.0) <=> QScriptValue(qInf())", - "QScriptValue(engine, 0.0) <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, true)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, int(122))", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, uint(124))", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, 123.0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0x10000)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0x10001)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, true)", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, int(122))", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, uint(124))", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 123.0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"true\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"122\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"124\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"123.0\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"'123'\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(engine, 0.0) <=> engine->newVariant(QVariant(123))", - "QScriptValue(engine, 123.0) <=> QScriptValue(uint(124))", - "QScriptValue(engine, 123.0) <=> QScriptValue(0x43211234)", - "QScriptValue(engine, 123.0) <=> QScriptValue(0x10000)", - "QScriptValue(engine, 123.0) <=> QScriptValue(0x10001)", - "QScriptValue(engine, 123.0) <=> QScriptValue(qInf())", - "QScriptValue(engine, 123.0) <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, 123.0) <=> QScriptValue(0, uint(124))", - "QScriptValue(engine, 123.0) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, 123.0) <=> QScriptValue(0, 0x10000)", - "QScriptValue(engine, 123.0) <=> QScriptValue(0, 0x10001)", - "QScriptValue(engine, 123.0) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, 123.0) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, 123.0) <=> QScriptValue(engine, uint(124))", - "QScriptValue(engine, 123.0) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, 123.0) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(engine, 123.0) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(engine, 123.0) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, 123.0) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, 123.0) <=> engine->evaluate(\"124\")", - "QScriptValue(engine, 123.0) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, 123.0) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(engine, 123.0) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(engine, 123.0) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(true)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(int(122))", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(uint(124))", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(123.0)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0x43211234)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0x10000)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0x10001)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(qInf())", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, true)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, int(122))", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, uint(124))", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 123.0)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 0x10000)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 0x10001)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, true)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, int(122))", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, uint(124))", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 123.0)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"true\")", - "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"122\")", - "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"124\")", - "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"123.0\")", - "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"'123'\")", - "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(engine, 6.37e-8) <=> engine->newVariant(QVariant(123))", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(true)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(false)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(int(122))", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(uint(124))", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0.0)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(123.0)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(6.37e-8)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0x43211234)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0x10000)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0x10001)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(qInf())", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"\"))", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString())", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, true)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, false)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, int(122))", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, uint(124))", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0.0)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 123.0)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0x10000)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0x10001)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString())", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, true)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, false)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, int(122))", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, uint(124))", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0.0)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 123.0)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString())", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"[]\")", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"null\")", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"true\")", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"false\")", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"122\")", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"124\")", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"0\")", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"0.0\")", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"123.0\")", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"''\")", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"'0'\")", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"'123'\")", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(engine, -6.37e-8) <=> engine->nullValue()", - "QScriptValue(engine, -6.37e-8) <=> engine->newArray()", - "QScriptValue(engine, -6.37e-8) <=> engine->newVariant(QVariant(123))", - "QScriptValue(engine, -6.37e-8) <=> engine->newVariant(QVariant(false))", - "QScriptValue(engine, -6.37e-8) <=> engine->newQObject(0)", - "QScriptValue(engine, 0x43211234) <=> QScriptValue(qInf())", - "QScriptValue(engine, 0x43211234) <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, 0x43211234) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, 0x43211234) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, 0x43211234) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, 0x10000) <=> QScriptValue(0x43211234)", - "QScriptValue(engine, 0x10000) <=> QScriptValue(0x10001)", - "QScriptValue(engine, 0x10000) <=> QScriptValue(qInf())", - "QScriptValue(engine, 0x10000) <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x10001)", - "QScriptValue(engine, 0x10000) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, 0x10000) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(engine, 0x10000) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, 0x10000) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, 0x10000) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, 0x10000) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(engine, 0x10000) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, 0x10001) <=> QScriptValue(0x43211234)", - "QScriptValue(engine, 0x10001) <=> QScriptValue(qInf())", - "QScriptValue(engine, 0x10001) <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, 0x10001) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, 0x10001) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, 0x10001) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, 0x10001) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, 0x10001) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, 0x10001) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, 0x10001) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, 0x10001) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, -qInf()) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(true)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(false)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(int(122))", - "QScriptValue(engine, -qInf()) <=> QScriptValue(uint(124))", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0.0)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(123.0)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(6.37e-8)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(-6.37e-8)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0x43211234)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0x10000)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0x10001)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(qInf())", - "QScriptValue(engine, -qInf()) <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"\"))", - "QScriptValue(engine, -qInf()) <=> QScriptValue(QString())", - "QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, true)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, false)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, int(122))", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, uint(124))", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0.0)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, 123.0)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, -6.37e-8)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0x10000)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0x10001)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString())", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, true)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, false)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, int(122))", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, uint(124))", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0.0)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 123.0)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, -6.37e-8)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString())", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"[]\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"null\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"true\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"false\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"122\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"124\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"0\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"0.0\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"123.0\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"-6.37e-8\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"''\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"'0'\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"'123'\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(engine, -qInf()) <=> engine->nullValue()", - "QScriptValue(engine, -qInf()) <=> engine->newArray()", - "QScriptValue(engine, -qInf()) <=> engine->newVariant(QVariant(123))", - "QScriptValue(engine, -qInf()) <=> engine->newVariant(QVariant(false))", - "QScriptValue(engine, -qInf()) <=> engine->newQObject(0)", - "QScriptValue(engine, \"NaN\") <=> QScriptValue(\"ciao\")", - "QScriptValue(engine, \"NaN\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, \"NaN\") <=> QScriptValue(0, \"ciao\")", - "QScriptValue(engine, \"NaN\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Object\")", - "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Array\")", - "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Number\")", - "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Function\")", - "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"new Object()\")", - "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Undefined\")", - "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Null\")", - "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"True\")", - "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"False\")", - "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(engine, \"NaN\") <=> engine->newObject()", - "QScriptValue(engine, \"NaN\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(engine, \"NaN\") <=> engine->newQObject(engine)", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"NaN\")", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"ciao\")", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"NaN\")", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"ciao\")", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Object\")", - "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Array\")", - "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Number\")", - "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Function\")", - "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"new Object()\")", - "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Undefined\")", - "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Null\")", - "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"True\")", - "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"False\")", - "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(engine, \"Infinity\") <=> engine->newObject()", - "QScriptValue(engine, \"Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(engine, \"Infinity\") <=> engine->newQObject(engine)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(true)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(false)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(int(122))", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(uint(124))", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0.0)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(123.0)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(6.37e-8)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(-6.37e-8)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0x43211234)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0x10000)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0x10001)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(qInf())", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"NaN\")", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"ciao\")", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString(\"0\"))", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString(\"123\"))", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, true)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, false)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, int(122))", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, uint(124))", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0.0)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 123.0)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, -6.37e-8)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0x10000)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0x10001)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, qInf())", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"NaN\")", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"ciao\")", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, true)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, false)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, int(122))", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, uint(124))", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0.0)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 123.0)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, -6.37e-8)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0x10000)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0x10001)", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Error.prototype\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Object\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Array\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Number\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Function\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"/foo/\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"new Object()\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"new Error()\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Undefined\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Null\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"True\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"False\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"null\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"true\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"false\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"122\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"124\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"0\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"0.0\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"123.0\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"-6.37e-8\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"0x10000\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"0x10001\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"'0'\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"'123'\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->nullValue()", - "QScriptValue(engine, \"-Infinity\") <=> engine->newObject()", - "QScriptValue(engine, \"-Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(engine, \"-Infinity\") <=> engine->newVariant(QVariant(123))", - "QScriptValue(engine, \"-Infinity\") <=> engine->newVariant(QVariant(false))", - "QScriptValue(engine, \"-Infinity\") <=> engine->newQObject(0)", - "QScriptValue(engine, \"-Infinity\") <=> engine->newQObject(engine)", - "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Object\")", - "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Array\")", - "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Number\")", - "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Function\")", - "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Object\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Array\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Number\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(true)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(int(122))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(uint(124))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(123.0)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(6.37e-8)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0x43211234)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0x10000)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0x10001)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(qInf())", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"NaN\")", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"-Infinity\")", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, true)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, int(122))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, uint(124))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 123.0)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0x10000)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0x10001)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"NaN\")", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, true)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, int(122))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, uint(124))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 123.0)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Error.prototype\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Object\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Array\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Number\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Function\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"/foo/\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"new Object()\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"new Error()\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Undefined\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Null\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"True\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"False\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"true\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"122\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"124\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"123.0\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"'0'\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"'123'\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(engine, QString(\"\")) <=> engine->newObject()", - "QScriptValue(engine, QString(\"\")) <=> engine->newArray(10)", - "QScriptValue(engine, QString(\"\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(engine, QString(\"\")) <=> engine->newVariant(QVariant(123))", - "QScriptValue(engine, QString(\"\")) <=> engine->newQObject(engine)", - "QScriptValue(engine, QString()) <=> QScriptValue(true)", - "QScriptValue(engine, QString()) <=> QScriptValue(int(122))", - "QScriptValue(engine, QString()) <=> QScriptValue(uint(124))", - "QScriptValue(engine, QString()) <=> QScriptValue(123.0)", - "QScriptValue(engine, QString()) <=> QScriptValue(6.37e-8)", - "QScriptValue(engine, QString()) <=> QScriptValue(0x43211234)", - "QScriptValue(engine, QString()) <=> QScriptValue(0x10000)", - "QScriptValue(engine, QString()) <=> QScriptValue(0x10001)", - "QScriptValue(engine, QString()) <=> QScriptValue(qInf())", - "QScriptValue(engine, QString()) <=> QScriptValue(\"NaN\")", - "QScriptValue(engine, QString()) <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, QString()) <=> QScriptValue(\"-Infinity\")", - "QScriptValue(engine, QString()) <=> QScriptValue(\"ciao\")", - "QScriptValue(engine, QString()) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(0, true)", - "QScriptValue(engine, QString()) <=> QScriptValue(0, int(122))", - "QScriptValue(engine, QString()) <=> QScriptValue(0, uint(124))", - "QScriptValue(engine, QString()) <=> QScriptValue(0, 123.0)", - "QScriptValue(engine, QString()) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(engine, QString()) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, QString()) <=> QScriptValue(0, 0x10000)", - "QScriptValue(engine, QString()) <=> QScriptValue(0, 0x10001)", - "QScriptValue(engine, QString()) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, QString()) <=> QScriptValue(0, \"NaN\")", - "QScriptValue(engine, QString()) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, QString()) <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(engine, QString()) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(engine, QString()) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, true)", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, int(122))", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, uint(124))", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, 123.0)", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"Error.prototype\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"Object\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"Array\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"Number\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"Function\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"/foo/\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"new Object()\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"new Error()\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"Undefined\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"Null\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"True\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"False\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"true\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"122\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"124\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"123.0\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"'0'\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"'123'\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(engine, QString()) <=> engine->newObject()", - "QScriptValue(engine, QString()) <=> engine->newArray(10)", - "QScriptValue(engine, QString()) <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(engine, QString()) <=> engine->newVariant(QVariant(123))", - "QScriptValue(engine, QString()) <=> engine->newQObject(engine)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(true)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(int(122))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(uint(124))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(123.0)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(6.37e-8)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0x43211234)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0x10000)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0x10001)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(qInf())", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(\"NaN\")", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, true)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, int(122))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, uint(124))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 123.0)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0x10000)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0x10001)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, \"NaN\")", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, true)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, int(122))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, uint(124))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 123.0)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"1.23\"))", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Error.prototype\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Object\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Array\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Number\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Function\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"new Object()\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"new Error()\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Undefined\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Null\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"True\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"False\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"true\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"122\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"124\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"123.0\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"'123'\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->newObject()", - "QScriptValue(engine, QString(\"0\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(engine, QString(\"0\")) <=> engine->newVariant(QVariant(123))", - "QScriptValue(engine, QString(\"0\")) <=> engine->newQObject(engine)", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(uint(124))", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0x43211234)", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0x10000)", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0x10001)", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(qInf())", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(\"NaN\")", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, uint(124))", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 0x10000)", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 0x10001)", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, \"NaN\")", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, uint(124))", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Error.prototype\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Object\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Array\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Number\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Function\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"new Object()\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"new Error()\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Undefined\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Null\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"True\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"False\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"124\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->newObject()", - "QScriptValue(engine, QString(\"123\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(engine, QString(\"123\")) <=> engine->newQObject(engine)", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(int(122))", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(uint(124))", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(123.0)", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0x43211234)", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0x10000)", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0x10001)", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(qInf())", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(\"NaN\")", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, int(122))", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, uint(124))", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 123.0)", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 0x10000)", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 0x10001)", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, \"NaN\")", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, int(122))", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, uint(124))", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 123.0)", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Object.prototype\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Function.prototype\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Error.prototype\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Object\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Array\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Number\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Function\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"(function() { return 1; })\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"new Object()\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"new Error()\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Undefined\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Null\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"True\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"False\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"122\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"124\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"123.0\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"'123'\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->newObject()", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->newVariant(QVariant(123))", - "QScriptValue(engine, QString(\"1.23\")) <=> engine->newQObject(engine)", - "engine->evaluate(\"[]\") <=> QScriptValue(true)", - "engine->evaluate(\"[]\") <=> QScriptValue(int(122))", - "engine->evaluate(\"[]\") <=> QScriptValue(uint(124))", - "engine->evaluate(\"[]\") <=> QScriptValue(123.0)", - "engine->evaluate(\"[]\") <=> QScriptValue(6.37e-8)", - "engine->evaluate(\"[]\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"[]\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"[]\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"[]\") <=> QScriptValue(qInf())", - "engine->evaluate(\"[]\") <=> QScriptValue(\"NaN\")", - "engine->evaluate(\"[]\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"[]\") <=> QScriptValue(\"-Infinity\")", - "engine->evaluate(\"[]\") <=> QScriptValue(\"ciao\")", - "engine->evaluate(\"[]\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"[]\") <=> QScriptValue(QString(\"0\"))", - "engine->evaluate(\"[]\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"[]\") <=> QScriptValue(QString(\"12.4\"))", - "engine->evaluate(\"[]\") <=> QScriptValue(0, true)", - "engine->evaluate(\"[]\") <=> QScriptValue(0, int(122))", - "engine->evaluate(\"[]\") <=> QScriptValue(0, uint(124))", - "engine->evaluate(\"[]\") <=> QScriptValue(0, 123.0)", - "engine->evaluate(\"[]\") <=> QScriptValue(0, 6.37e-8)", - "engine->evaluate(\"[]\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"[]\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"[]\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"[]\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"[]\") <=> QScriptValue(0, \"NaN\")", - "engine->evaluate(\"[]\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"[]\") <=> QScriptValue(0, \"-Infinity\")", - "engine->evaluate(\"[]\") <=> QScriptValue(0, \"ciao\")", - "engine->evaluate(\"[]\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"0\"))", - "engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"12.3\"))", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, true)", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, int(122))", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, uint(124))", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, 123.0)", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, 6.37e-8)", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, \"NaN\")", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, \"-Infinity\")", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, \"ciao\")", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"0\"))", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"/foo/\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"new Object()\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"new Error()\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"Undefined\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"Null\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"True\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"False\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"true\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"122\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"124\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"123.0\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"'0'\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"'12.4'\")", - "engine->evaluate(\"[]\") <=> engine->newObject()", - "engine->evaluate(\"[]\") <=> engine->newArray(10)", - "engine->evaluate(\"[]\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "engine->evaluate(\"[]\") <=> engine->newVariant(QVariant(123))", - "engine->evaluate(\"[]\") <=> engine->newQObject(engine)", - "engine->evaluate(\"Object.prototype\") <=> QScriptValue(\"ciao\")", - "engine->evaluate(\"Object.prototype\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"Object.prototype\") <=> QScriptValue(0, \"ciao\")", - "engine->evaluate(\"Object.prototype\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"Object.prototype\") <=> QScriptValue(engine, \"ciao\")", - "engine->evaluate(\"Object.prototype\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"Object.prototype\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(true)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(int(122))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(uint(124))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(123.0)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(6.37e-8)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(qInf())", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"NaN\")", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"-Infinity\")", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"ciao\")", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"0\"))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"12.4\"))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, true)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, int(122))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, uint(124))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 123.0)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 6.37e-8)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"NaN\")", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"-Infinity\")", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"ciao\")", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"0\"))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"12.3\"))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, true)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, int(122))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, uint(124))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 123.0)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 6.37e-8)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"NaN\")", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"-Infinity\")", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"ciao\")", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"0\"))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"/foo/\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"new Object()\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"new Error()\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Undefined\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Null\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"True\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"False\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"true\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"122\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"124\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"123.0\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"'0'\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"'12.4'\")", - "engine->evaluate(\"Array.prototype\") <=> engine->newObject()", - "engine->evaluate(\"Array.prototype\") <=> engine->newArray(10)", - "engine->evaluate(\"Array.prototype\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "engine->evaluate(\"Array.prototype\") <=> engine->newVariant(QVariant(123))", - "engine->evaluate(\"Array.prototype\") <=> engine->newQObject(engine)", - "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"Error.prototype\") <=> QScriptValue(\"NaN\")", - "engine->evaluate(\"Error.prototype\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"Error.prototype\") <=> QScriptValue(\"ciao\")", - "engine->evaluate(\"Error.prototype\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, \"NaN\")", - "engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, \"ciao\")", - "engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, \"NaN\")", - "engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, \"ciao\")", - "engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"new Object()\")", - "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Undefined\")", - "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Null\")", - "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"True\")", - "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"False\")", - "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"Error.prototype\") <=> engine->newObject()", - "engine->evaluate(\"Error.prototype\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "engine->evaluate(\"Error.prototype\") <=> engine->newQObject(engine)", - "engine->evaluate(\"Array\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Array\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"Array\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"Number\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Function\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Function\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"/foo/\") <=> QScriptValue(\"NaN\")", - "engine->evaluate(\"/foo/\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"/foo/\") <=> QScriptValue(\"ciao\")", - "engine->evaluate(\"/foo/\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"/foo/\") <=> QScriptValue(QString(\"0\"))", - "engine->evaluate(\"/foo/\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"/foo/\") <=> QScriptValue(QString(\"12.4\"))", - "engine->evaluate(\"/foo/\") <=> QScriptValue(0, \"NaN\")", - "engine->evaluate(\"/foo/\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"/foo/\") <=> QScriptValue(0, \"ciao\")", - "engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString(\"0\"))", - "engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString(\"12.3\"))", - "engine->evaluate(\"/foo/\") <=> QScriptValue(engine, \"NaN\")", - "engine->evaluate(\"/foo/\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"/foo/\") <=> QScriptValue(engine, \"ciao\")", - "engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString(\"0\"))", - "engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"new Object()\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"new Error()\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Undefined\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Null\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"True\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"False\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"'0'\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"'12.4'\")", - "engine->evaluate(\"/foo/\") <=> engine->newObject()", - "engine->evaluate(\"/foo/\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "engine->evaluate(\"/foo/\") <=> engine->newQObject(engine)", - "engine->evaluate(\"new Object()\") <=> QScriptValue(\"ciao\")", - "engine->evaluate(\"new Object()\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"new Object()\") <=> QScriptValue(0, \"ciao\")", - "engine->evaluate(\"new Object()\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"new Object()\") <=> QScriptValue(engine, \"ciao\")", - "engine->evaluate(\"new Object()\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"new Object()\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(true)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(int(122))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(uint(124))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(123.0)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(6.37e-8)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(qInf())", - "engine->evaluate(\"new Array()\") <=> QScriptValue(\"NaN\")", - "engine->evaluate(\"new Array()\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"new Array()\") <=> QScriptValue(\"-Infinity\")", - "engine->evaluate(\"new Array()\") <=> QScriptValue(\"ciao\")", - "engine->evaluate(\"new Array()\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"0\"))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"12.4\"))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, true)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, int(122))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, uint(124))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 123.0)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 6.37e-8)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"NaN\")", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"-Infinity\")", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"ciao\")", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"0\"))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"12.3\"))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, true)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, int(122))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, uint(124))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 123.0)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 6.37e-8)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"NaN\")", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"-Infinity\")", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"ciao\")", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"0\"))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"/foo/\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Object()\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Error()\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Undefined\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Null\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"True\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"False\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"true\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"122\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"124\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"123.0\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"'0'\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"'12.4'\")", - "engine->evaluate(\"new Array()\") <=> engine->newObject()", - "engine->evaluate(\"new Array()\") <=> engine->newArray(10)", - "engine->evaluate(\"new Array()\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "engine->evaluate(\"new Array()\") <=> engine->newVariant(QVariant(123))", - "engine->evaluate(\"new Array()\") <=> engine->newQObject(engine)", - "engine->evaluate(\"new Error()\") <=> QScriptValue(\"NaN\")", - "engine->evaluate(\"new Error()\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"new Error()\") <=> QScriptValue(\"ciao\")", - "engine->evaluate(\"new Error()\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"new Error()\") <=> QScriptValue(0, \"NaN\")", - "engine->evaluate(\"new Error()\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"new Error()\") <=> QScriptValue(0, \"ciao\")", - "engine->evaluate(\"new Error()\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"new Error()\") <=> QScriptValue(engine, \"NaN\")", - "engine->evaluate(\"new Error()\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"new Error()\") <=> QScriptValue(engine, \"ciao\")", - "engine->evaluate(\"new Error()\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"new Object()\")", - "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Undefined\")", - "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Null\")", - "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"True\")", - "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"False\")", - "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"new Error()\") <=> engine->newObject()", - "engine->evaluate(\"new Error()\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "engine->evaluate(\"new Error()\") <=> engine->newQObject(engine)", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(int(122))", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(uint(124))", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(123.0)", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(qInf())", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, int(122))", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, uint(124))", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, 123.0)", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, int(122))", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, uint(124))", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, 123.0)", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"122\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"124\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"123.0\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->newVariant(QVariant(123))", - "engine->evaluate(\"Undefined\") <=> QScriptValue(\"ciao\")", - "engine->evaluate(\"Undefined\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"Undefined\") <=> QScriptValue(0, \"ciao\")", - "engine->evaluate(\"Undefined\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"Undefined\") <=> QScriptValue(engine, \"ciao\")", - "engine->evaluate(\"Undefined\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"new Object()\")", - "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"Undefined\") <=> engine->newObject()", - "engine->evaluate(\"Undefined\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "engine->evaluate(\"Null\") <=> QScriptValue(\"ciao\")", - "engine->evaluate(\"Null\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"Null\") <=> QScriptValue(0, \"ciao\")", - "engine->evaluate(\"Null\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"Null\") <=> QScriptValue(engine, \"ciao\")", - "engine->evaluate(\"Null\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"Null\") <=> engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"Null\") <=> engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"Null\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Null\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"Null\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"Null\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"Null\") <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"Null\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"Null\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"Null\") <=> engine->evaluate(\"new Object()\")", - "engine->evaluate(\"Null\") <=> engine->evaluate(\"Undefined\")", - "engine->evaluate(\"Null\") <=> engine->evaluate(\"True\")", - "engine->evaluate(\"Null\") <=> engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"Null\") <=> engine->newObject()", - "engine->evaluate(\"Null\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "engine->evaluate(\"True\") <=> QScriptValue(\"ciao\")", - "engine->evaluate(\"True\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"True\") <=> QScriptValue(0, \"ciao\")", - "engine->evaluate(\"True\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"True\") <=> QScriptValue(engine, \"ciao\")", - "engine->evaluate(\"True\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"True\") <=> engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"True\") <=> engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"True\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"True\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"True\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"True\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"True\") <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"True\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"True\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"True\") <=> engine->evaluate(\"new Object()\")", - "engine->evaluate(\"True\") <=> engine->evaluate(\"Undefined\")", - "engine->evaluate(\"True\") <=> engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"True\") <=> engine->newObject()", - "engine->evaluate(\"True\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "engine->evaluate(\"False\") <=> QScriptValue(\"ciao\")", - "engine->evaluate(\"False\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"False\") <=> QScriptValue(0, \"ciao\")", - "engine->evaluate(\"False\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"False\") <=> QScriptValue(engine, \"ciao\")", - "engine->evaluate(\"False\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"False\") <=> engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"False\") <=> engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"False\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"False\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"False\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"False\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"False\") <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"False\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"False\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"False\") <=> engine->evaluate(\"new Object()\")", - "engine->evaluate(\"False\") <=> engine->evaluate(\"Undefined\")", - "engine->evaluate(\"False\") <=> engine->evaluate(\"Null\")", - "engine->evaluate(\"False\") <=> engine->evaluate(\"True\")", - "engine->evaluate(\"False\") <=> engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"False\") <=> engine->newObject()", - "engine->evaluate(\"False\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "engine->evaluate(\"null\") <=> QScriptValue(true)", - "engine->evaluate(\"null\") <=> QScriptValue(int(122))", - "engine->evaluate(\"null\") <=> QScriptValue(uint(124))", - "engine->evaluate(\"null\") <=> QScriptValue(123.0)", - "engine->evaluate(\"null\") <=> QScriptValue(6.37e-8)", - "engine->evaluate(\"null\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"null\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"null\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"null\") <=> QScriptValue(qInf())", - "engine->evaluate(\"null\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"null\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"null\") <=> QScriptValue(QString(\"12.4\"))", - "engine->evaluate(\"null\") <=> QScriptValue(0, true)", - "engine->evaluate(\"null\") <=> QScriptValue(0, int(122))", - "engine->evaluate(\"null\") <=> QScriptValue(0, uint(124))", - "engine->evaluate(\"null\") <=> QScriptValue(0, 123.0)", - "engine->evaluate(\"null\") <=> QScriptValue(0, 6.37e-8)", - "engine->evaluate(\"null\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"null\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"null\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"null\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"null\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"null\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"null\") <=> QScriptValue(0, QString(\"12.3\"))", - "engine->evaluate(\"null\") <=> QScriptValue(engine, true)", - "engine->evaluate(\"null\") <=> QScriptValue(engine, int(122))", - "engine->evaluate(\"null\") <=> QScriptValue(engine, uint(124))", - "engine->evaluate(\"null\") <=> QScriptValue(engine, 123.0)", - "engine->evaluate(\"null\") <=> QScriptValue(engine, 6.37e-8)", - "engine->evaluate(\"null\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"null\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"null\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"null\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"null\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"null\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"null\") <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"null\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"null\") <=> engine->evaluate(\"true\")", - "engine->evaluate(\"null\") <=> engine->evaluate(\"122\")", - "engine->evaluate(\"null\") <=> engine->evaluate(\"124\")", - "engine->evaluate(\"null\") <=> engine->evaluate(\"123.0\")", - "engine->evaluate(\"null\") <=> engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"null\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"null\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"null\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"null\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"null\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"null\") <=> engine->evaluate(\"'12.4'\")", - "engine->evaluate(\"null\") <=> engine->newVariant(QVariant(123))", - "engine->evaluate(\"true\") <=> QScriptValue(int(122))", - "engine->evaluate(\"true\") <=> QScriptValue(uint(124))", - "engine->evaluate(\"true\") <=> QScriptValue(123.0)", - "engine->evaluate(\"true\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"true\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"true\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"true\") <=> QScriptValue(qInf())", - "engine->evaluate(\"true\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"true\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"true\") <=> QScriptValue(QString(\"12.4\"))", - "engine->evaluate(\"true\") <=> QScriptValue(0, int(122))", - "engine->evaluate(\"true\") <=> QScriptValue(0, uint(124))", - "engine->evaluate(\"true\") <=> QScriptValue(0, 123.0)", - "engine->evaluate(\"true\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"true\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"true\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"true\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"true\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"true\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"true\") <=> QScriptValue(0, QString(\"12.3\"))", - "engine->evaluate(\"true\") <=> QScriptValue(engine, int(122))", - "engine->evaluate(\"true\") <=> QScriptValue(engine, uint(124))", - "engine->evaluate(\"true\") <=> QScriptValue(engine, 123.0)", - "engine->evaluate(\"true\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"true\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"true\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"true\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"true\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"true\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"true\") <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"true\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"true\") <=> engine->evaluate(\"122\")", - "engine->evaluate(\"true\") <=> engine->evaluate(\"124\")", - "engine->evaluate(\"true\") <=> engine->evaluate(\"123.0\")", - "engine->evaluate(\"true\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"true\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"true\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"true\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"true\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"true\") <=> engine->evaluate(\"'12.4'\")", - "engine->evaluate(\"true\") <=> engine->newVariant(QVariant(123))", - "engine->evaluate(\"false\") <=> QScriptValue(true)", - "engine->evaluate(\"false\") <=> QScriptValue(int(122))", - "engine->evaluate(\"false\") <=> QScriptValue(uint(124))", - "engine->evaluate(\"false\") <=> QScriptValue(123.0)", - "engine->evaluate(\"false\") <=> QScriptValue(6.37e-8)", - "engine->evaluate(\"false\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"false\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"false\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"false\") <=> QScriptValue(qInf())", - "engine->evaluate(\"false\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"false\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"false\") <=> QScriptValue(QString(\"12.4\"))", - "engine->evaluate(\"false\") <=> QScriptValue(0, true)", - "engine->evaluate(\"false\") <=> QScriptValue(0, int(122))", - "engine->evaluate(\"false\") <=> QScriptValue(0, uint(124))", - "engine->evaluate(\"false\") <=> QScriptValue(0, 123.0)", - "engine->evaluate(\"false\") <=> QScriptValue(0, 6.37e-8)", - "engine->evaluate(\"false\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"false\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"false\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"false\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"false\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"false\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"false\") <=> QScriptValue(0, QString(\"12.3\"))", - "engine->evaluate(\"false\") <=> QScriptValue(engine, true)", - "engine->evaluate(\"false\") <=> QScriptValue(engine, int(122))", - "engine->evaluate(\"false\") <=> QScriptValue(engine, uint(124))", - "engine->evaluate(\"false\") <=> QScriptValue(engine, 123.0)", - "engine->evaluate(\"false\") <=> QScriptValue(engine, 6.37e-8)", - "engine->evaluate(\"false\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"false\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"false\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"false\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"false\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"false\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"false\") <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"false\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"true\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"122\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"124\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"123.0\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"'12.4'\")", - "engine->evaluate(\"false\") <=> engine->newVariant(QVariant(123))", - "engine->evaluate(\"122\") <=> QScriptValue(uint(124))", - "engine->evaluate(\"122\") <=> QScriptValue(123.0)", - "engine->evaluate(\"122\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"122\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"122\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"122\") <=> QScriptValue(qInf())", - "engine->evaluate(\"122\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"122\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"122\") <=> QScriptValue(0, uint(124))", - "engine->evaluate(\"122\") <=> QScriptValue(0, 123.0)", - "engine->evaluate(\"122\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"122\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"122\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"122\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"122\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"122\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"122\") <=> QScriptValue(engine, uint(124))", - "engine->evaluate(\"122\") <=> QScriptValue(engine, 123.0)", - "engine->evaluate(\"122\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"122\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"122\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"122\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"122\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"122\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"122\") <=> engine->evaluate(\"124\")", - "engine->evaluate(\"122\") <=> engine->evaluate(\"123.0\")", - "engine->evaluate(\"122\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"122\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"122\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"122\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"122\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"122\") <=> engine->newVariant(QVariant(123))", - "engine->evaluate(\"124\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"124\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"124\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"124\") <=> QScriptValue(qInf())", - "engine->evaluate(\"124\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"124\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"124\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"124\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"124\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"124\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"124\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"124\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"124\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"124\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"124\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"124\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"124\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"124\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"124\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"0\") <=> QScriptValue(true)", - "engine->evaluate(\"0\") <=> QScriptValue(int(122))", - "engine->evaluate(\"0\") <=> QScriptValue(uint(124))", - "engine->evaluate(\"0\") <=> QScriptValue(123.0)", - "engine->evaluate(\"0\") <=> QScriptValue(6.37e-8)", - "engine->evaluate(\"0\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"0\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"0\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"0\") <=> QScriptValue(qInf())", - "engine->evaluate(\"0\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"0\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"0\") <=> QScriptValue(QString(\"12.4\"))", - "engine->evaluate(\"0\") <=> QScriptValue(0, true)", - "engine->evaluate(\"0\") <=> QScriptValue(0, int(122))", - "engine->evaluate(\"0\") <=> QScriptValue(0, uint(124))", - "engine->evaluate(\"0\") <=> QScriptValue(0, 123.0)", - "engine->evaluate(\"0\") <=> QScriptValue(0, 6.37e-8)", - "engine->evaluate(\"0\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"0\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"0\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"0\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"0\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"0\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"0\") <=> QScriptValue(0, QString(\"12.3\"))", - "engine->evaluate(\"0\") <=> QScriptValue(engine, true)", - "engine->evaluate(\"0\") <=> QScriptValue(engine, int(122))", - "engine->evaluate(\"0\") <=> QScriptValue(engine, uint(124))", - "engine->evaluate(\"0\") <=> QScriptValue(engine, 123.0)", - "engine->evaluate(\"0\") <=> QScriptValue(engine, 6.37e-8)", - "engine->evaluate(\"0\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"0\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"0\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"0\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"0\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"0\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"0\") <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"0\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"true\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"122\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"124\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"123.0\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"'12.4'\")", - "engine->evaluate(\"0\") <=> engine->newVariant(QVariant(123))", - "engine->evaluate(\"0.0\") <=> QScriptValue(true)", - "engine->evaluate(\"0.0\") <=> QScriptValue(int(122))", - "engine->evaluate(\"0.0\") <=> QScriptValue(uint(124))", - "engine->evaluate(\"0.0\") <=> QScriptValue(123.0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(6.37e-8)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"0.0\") <=> QScriptValue(qInf())", - "engine->evaluate(\"0.0\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"0.0\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"0.0\") <=> QScriptValue(QString(\"12.4\"))", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, true)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, int(122))", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, uint(124))", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, 123.0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, 6.37e-8)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, QString(\"12.3\"))", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, true)", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, int(122))", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, uint(124))", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 123.0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 6.37e-8)", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"true\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"122\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"124\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"123.0\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"'12.4'\")", - "engine->evaluate(\"0.0\") <=> engine->newVariant(QVariant(123))", - "engine->evaluate(\"123.0\") <=> QScriptValue(uint(124))", - "engine->evaluate(\"123.0\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"123.0\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"123.0\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"123.0\") <=> QScriptValue(qInf())", - "engine->evaluate(\"123.0\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"123.0\") <=> QScriptValue(0, uint(124))", - "engine->evaluate(\"123.0\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"123.0\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"123.0\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"123.0\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"123.0\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"123.0\") <=> QScriptValue(engine, uint(124))", - "engine->evaluate(\"123.0\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"123.0\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"123.0\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"123.0\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"123.0\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"123.0\") <=> engine->evaluate(\"124\")", - "engine->evaluate(\"123.0\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"123.0\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"123.0\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"123.0\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(true)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(int(122))", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(uint(124))", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(123.0)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(qInf())", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(QString(\"12.4\"))", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, true)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, int(122))", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, uint(124))", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 123.0)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, QString(\"12.3\"))", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, true)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, int(122))", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, uint(124))", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 123.0)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"true\")", - "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"122\")", - "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"124\")", - "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"123.0\")", - "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"'12.4'\")", - "engine->evaluate(\"6.37e-8\") <=> engine->newVariant(QVariant(123))", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QScriptValue::NullValue)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(true)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(false)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(int(122))", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(uint(124))", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0.0)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(123.0)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(6.37e-8)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(qInf())", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QString(\"\"))", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QString())", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QString(\"0\"))", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QString(\"12.4\"))", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QScriptValue::NullValue)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, true)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, false)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, int(122))", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, uint(124))", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 0)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 0.0)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 123.0)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 6.37e-8)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QString(\"\"))", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QString())", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QString(\"0\"))", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QString(\"12.3\"))", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QScriptValue::NullValue)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, true)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, false)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, int(122))", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, uint(124))", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 0)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 0.0)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 123.0)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 6.37e-8)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QString(\"\"))", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QString())", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QString(\"0\"))", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"[]\")", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"new Array()\")", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"null\")", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"true\")", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"false\")", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"122\")", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"124\")", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"0\")", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"0.0\")", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"123.0\")", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"''\")", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"'0'\")", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"'12.4'\")", - "engine->evaluate(\"-6.37e-8\") <=> engine->nullValue()", - "engine->evaluate(\"-6.37e-8\") <=> engine->newArray()", - "engine->evaluate(\"-6.37e-8\") <=> engine->newVariant(QVariant(123))", - "engine->evaluate(\"-6.37e-8\") <=> engine->newVariant(QVariant(false))", - "engine->evaluate(\"-6.37e-8\") <=> engine->newQObject(0)", - "engine->evaluate(\"0x43211234\") <=> QScriptValue(qInf())", - "engine->evaluate(\"0x43211234\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"0x43211234\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"0x43211234\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"0x43211234\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"0x43211234\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"0x43211234\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"0x10000\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"0x10000\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"0x10000\") <=> QScriptValue(qInf())", - "engine->evaluate(\"0x10000\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"0x10000\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"0x10000\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"0x10000\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"0x10000\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"0x10000\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"0x10000\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"0x10000\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"0x10000\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"0x10000\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"0x10000\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"0x10000\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"0x10001\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"0x10001\") <=> QScriptValue(qInf())", - "engine->evaluate(\"0x10001\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"0x10001\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"0x10001\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"0x10001\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"0x10001\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"0x10001\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"0x10001\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"0x10001\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"0x10001\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(QScriptValue::NullValue)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(true)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(false)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(int(122))", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(uint(124))", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0.0)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(123.0)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(6.37e-8)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(-6.37e-8)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(qInf())", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(QString(\"\"))", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(QString())", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(QString(\"0\"))", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(QString(\"12.4\"))", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QScriptValue::NullValue)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, true)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, false)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, int(122))", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, uint(124))", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 0)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 0.0)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 123.0)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 6.37e-8)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, -6.37e-8)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QString(\"\"))", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QString())", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QString(\"0\"))", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QString(\"12.3\"))", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QScriptValue::NullValue)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, true)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, false)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, int(122))", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, uint(124))", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 0)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 0.0)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 123.0)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 6.37e-8)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, -6.37e-8)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QString(\"\"))", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QString())", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QString(\"0\"))", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"[]\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"new Array()\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"null\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"true\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"false\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"122\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"124\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"0\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"0.0\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"123.0\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"-6.37e-8\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"''\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"'0'\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"'12.4'\")", - "engine->evaluate(\"-Infinity\") <=> engine->nullValue()", - "engine->evaluate(\"-Infinity\") <=> engine->newArray()", - "engine->evaluate(\"-Infinity\") <=> engine->newVariant(QVariant(123))", - "engine->evaluate(\"-Infinity\") <=> engine->newVariant(QVariant(false))", - "engine->evaluate(\"-Infinity\") <=> engine->newQObject(0)", - "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"''\") <=> QScriptValue(true)", - "engine->evaluate(\"''\") <=> QScriptValue(int(122))", - "engine->evaluate(\"''\") <=> QScriptValue(uint(124))", - "engine->evaluate(\"''\") <=> QScriptValue(123.0)", - "engine->evaluate(\"''\") <=> QScriptValue(6.37e-8)", - "engine->evaluate(\"''\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"''\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"''\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"''\") <=> QScriptValue(qInf())", - "engine->evaluate(\"''\") <=> QScriptValue(\"NaN\")", - "engine->evaluate(\"''\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"''\") <=> QScriptValue(\"-Infinity\")", - "engine->evaluate(\"''\") <=> QScriptValue(\"ciao\")", - "engine->evaluate(\"''\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"''\") <=> QScriptValue(QString(\"0\"))", - "engine->evaluate(\"''\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"''\") <=> QScriptValue(QString(\"12.4\"))", - "engine->evaluate(\"''\") <=> QScriptValue(0, true)", - "engine->evaluate(\"''\") <=> QScriptValue(0, int(122))", - "engine->evaluate(\"''\") <=> QScriptValue(0, uint(124))", - "engine->evaluate(\"''\") <=> QScriptValue(0, 123.0)", - "engine->evaluate(\"''\") <=> QScriptValue(0, 6.37e-8)", - "engine->evaluate(\"''\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"''\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"''\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"''\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"''\") <=> QScriptValue(0, \"NaN\")", - "engine->evaluate(\"''\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"''\") <=> QScriptValue(0, \"-Infinity\")", - "engine->evaluate(\"''\") <=> QScriptValue(0, \"ciao\")", - "engine->evaluate(\"''\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"''\") <=> QScriptValue(0, QString(\"0\"))", - "engine->evaluate(\"''\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"''\") <=> QScriptValue(0, QString(\"12.3\"))", - "engine->evaluate(\"''\") <=> QScriptValue(engine, true)", - "engine->evaluate(\"''\") <=> QScriptValue(engine, int(122))", - "engine->evaluate(\"''\") <=> QScriptValue(engine, uint(124))", - "engine->evaluate(\"''\") <=> QScriptValue(engine, 123.0)", - "engine->evaluate(\"''\") <=> QScriptValue(engine, 6.37e-8)", - "engine->evaluate(\"''\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"''\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"''\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"''\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"''\") <=> QScriptValue(engine, \"NaN\")", - "engine->evaluate(\"''\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"''\") <=> QScriptValue(engine, \"-Infinity\")", - "engine->evaluate(\"''\") <=> QScriptValue(engine, \"ciao\")", - "engine->evaluate(\"''\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"''\") <=> QScriptValue(engine, QString(\"0\"))", - "engine->evaluate(\"''\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"''\") <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"''\") <=> engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"/foo/\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"new Object()\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"new Error()\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"Undefined\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"Null\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"True\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"False\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"true\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"122\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"124\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"123.0\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"'0'\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"'12.4'\")", - "engine->evaluate(\"''\") <=> engine->newObject()", - "engine->evaluate(\"''\") <=> engine->newArray(10)", - "engine->evaluate(\"''\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "engine->evaluate(\"''\") <=> engine->newVariant(QVariant(123))", - "engine->evaluate(\"''\") <=> engine->newQObject(engine)", - "engine->evaluate(\"'0'\") <=> QScriptValue(true)", - "engine->evaluate(\"'0'\") <=> QScriptValue(int(122))", - "engine->evaluate(\"'0'\") <=> QScriptValue(uint(124))", - "engine->evaluate(\"'0'\") <=> QScriptValue(123.0)", - "engine->evaluate(\"'0'\") <=> QScriptValue(6.37e-8)", - "engine->evaluate(\"'0'\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"'0'\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"'0'\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"'0'\") <=> QScriptValue(qInf())", - "engine->evaluate(\"'0'\") <=> QScriptValue(\"NaN\")", - "engine->evaluate(\"'0'\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"'0'\") <=> QScriptValue(\"ciao\")", - "engine->evaluate(\"'0'\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"'0'\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"'0'\") <=> QScriptValue(QString(\"12.4\"))", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, true)", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, int(122))", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, uint(124))", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, 123.0)", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, 6.37e-8)", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, \"NaN\")", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, \"ciao\")", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, QString(\"12.3\"))", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, true)", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, int(122))", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, uint(124))", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 123.0)", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 6.37e-8)", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, \"NaN\")", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, \"ciao\")", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"new Object()\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"new Error()\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Undefined\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Null\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"True\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"False\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"true\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"122\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"124\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"123.0\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"'12.4'\")", - "engine->evaluate(\"'0'\") <=> engine->newObject()", - "engine->evaluate(\"'0'\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "engine->evaluate(\"'0'\") <=> engine->newVariant(QVariant(123))", - "engine->evaluate(\"'0'\") <=> engine->newQObject(engine)", - "engine->evaluate(\"'123'\") <=> QScriptValue(uint(124))", - "engine->evaluate(\"'123'\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"'123'\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"'123'\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"'123'\") <=> QScriptValue(qInf())", - "engine->evaluate(\"'123'\") <=> QScriptValue(\"NaN\")", - "engine->evaluate(\"'123'\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"'123'\") <=> QScriptValue(\"ciao\")", - "engine->evaluate(\"'123'\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"'123'\") <=> QScriptValue(0, uint(124))", - "engine->evaluate(\"'123'\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"'123'\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"'123'\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"'123'\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"'123'\") <=> QScriptValue(0, \"NaN\")", - "engine->evaluate(\"'123'\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"'123'\") <=> QScriptValue(0, \"ciao\")", - "engine->evaluate(\"'123'\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"'123'\") <=> QScriptValue(engine, uint(124))", - "engine->evaluate(\"'123'\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"'123'\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"'123'\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"'123'\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"'123'\") <=> QScriptValue(engine, \"NaN\")", - "engine->evaluate(\"'123'\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"'123'\") <=> QScriptValue(engine, \"ciao\")", - "engine->evaluate(\"'123'\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"new Object()\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"new Error()\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Undefined\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Null\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"True\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"False\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"124\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"'123'\") <=> engine->newObject()", - "engine->evaluate(\"'123'\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "engine->evaluate(\"'123'\") <=> engine->newQObject(engine)", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(int(122))", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(uint(124))", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(123.0)", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(qInf())", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(\"NaN\")", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(\"ciao\")", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, int(122))", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, uint(124))", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, 123.0)", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, \"NaN\")", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, \"ciao\")", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, int(122))", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, uint(124))", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, 123.0)", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, \"NaN\")", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, \"ciao\")", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"new Object()\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"new Error()\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Undefined\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Null\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"True\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"False\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"122\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"124\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"123.0\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"'12.4'\") <=> engine->newObject()", - "engine->evaluate(\"'12.4'\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "engine->evaluate(\"'12.4'\") <=> engine->newVariant(QVariant(123))", - "engine->evaluate(\"'12.4'\") <=> engine->newQObject(engine)", - "engine->nullValue() <=> QScriptValue(true)", - "engine->nullValue() <=> QScriptValue(int(122))", - "engine->nullValue() <=> QScriptValue(uint(124))", - "engine->nullValue() <=> QScriptValue(123.0)", - "engine->nullValue() <=> QScriptValue(6.37e-8)", - "engine->nullValue() <=> QScriptValue(0x43211234)", - "engine->nullValue() <=> QScriptValue(0x10000)", - "engine->nullValue() <=> QScriptValue(0x10001)", - "engine->nullValue() <=> QScriptValue(qInf())", - "engine->nullValue() <=> QScriptValue(\"Infinity\")", - "engine->nullValue() <=> QScriptValue(QString(\"123\"))", - "engine->nullValue() <=> QScriptValue(QString(\"12.4\"))", - "engine->nullValue() <=> QScriptValue(0, true)", - "engine->nullValue() <=> QScriptValue(0, int(122))", - "engine->nullValue() <=> QScriptValue(0, uint(124))", - "engine->nullValue() <=> QScriptValue(0, 123.0)", - "engine->nullValue() <=> QScriptValue(0, 6.37e-8)", - "engine->nullValue() <=> QScriptValue(0, 0x43211234)", - "engine->nullValue() <=> QScriptValue(0, 0x10000)", - "engine->nullValue() <=> QScriptValue(0, 0x10001)", - "engine->nullValue() <=> QScriptValue(0, qInf())", - "engine->nullValue() <=> QScriptValue(0, \"Infinity\")", - "engine->nullValue() <=> QScriptValue(0, QString(\"123\"))", - "engine->nullValue() <=> QScriptValue(0, QString(\"12.3\"))", - "engine->nullValue() <=> QScriptValue(engine, true)", - "engine->nullValue() <=> QScriptValue(engine, int(122))", - "engine->nullValue() <=> QScriptValue(engine, uint(124))", - "engine->nullValue() <=> QScriptValue(engine, 123.0)", - "engine->nullValue() <=> QScriptValue(engine, 6.37e-8)", - "engine->nullValue() <=> QScriptValue(engine, 0x43211234)", - "engine->nullValue() <=> QScriptValue(engine, 0x10000)", - "engine->nullValue() <=> QScriptValue(engine, 0x10001)", - "engine->nullValue() <=> QScriptValue(engine, qInf())", - "engine->nullValue() <=> QScriptValue(engine, \"Infinity\")", - "engine->nullValue() <=> QScriptValue(engine, QString(\"123\"))", - "engine->nullValue() <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->nullValue() <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->nullValue() <=> engine->evaluate(\"true\")", - "engine->nullValue() <=> engine->evaluate(\"122\")", - "engine->nullValue() <=> engine->evaluate(\"124\")", - "engine->nullValue() <=> engine->evaluate(\"123.0\")", - "engine->nullValue() <=> engine->evaluate(\"6.37e-8\")", - "engine->nullValue() <=> engine->evaluate(\"0x43211234\")", - "engine->nullValue() <=> engine->evaluate(\"0x10000\")", - "engine->nullValue() <=> engine->evaluate(\"0x10001\")", - "engine->nullValue() <=> engine->evaluate(\"Infinity\")", - "engine->nullValue() <=> engine->evaluate(\"'123'\")", - "engine->nullValue() <=> engine->evaluate(\"'12.4'\")", - "engine->nullValue() <=> engine->newVariant(QVariant(123))", - "engine->newObject() <=> QScriptValue(\"ciao\")", - "engine->newObject() <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->newObject() <=> QScriptValue(0, \"ciao\")", - "engine->newObject() <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->newObject() <=> QScriptValue(engine, \"ciao\")", - "engine->newObject() <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->newObject() <=> engine->evaluate(\"Function.prototype\")", - "engine->newObject() <=> engine->evaluate(\"Object\")", - "engine->newObject() <=> engine->evaluate(\"Array\")", - "engine->newObject() <=> engine->evaluate(\"Number\")", - "engine->newObject() <=> engine->evaluate(\"Function\")", - "engine->newObject() <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->newObject() <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->newObject() <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->newObject() <=> engine->evaluate(\"'ciao'\")", - "engine->newObject() <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "engine->newArray() <=> QScriptValue(true)", - "engine->newArray() <=> QScriptValue(int(122))", - "engine->newArray() <=> QScriptValue(uint(124))", - "engine->newArray() <=> QScriptValue(123.0)", - "engine->newArray() <=> QScriptValue(6.37e-8)", - "engine->newArray() <=> QScriptValue(0x43211234)", - "engine->newArray() <=> QScriptValue(0x10000)", - "engine->newArray() <=> QScriptValue(0x10001)", - "engine->newArray() <=> QScriptValue(qInf())", - "engine->newArray() <=> QScriptValue(\"NaN\")", - "engine->newArray() <=> QScriptValue(\"Infinity\")", - "engine->newArray() <=> QScriptValue(\"-Infinity\")", - "engine->newArray() <=> QScriptValue(\"ciao\")", - "engine->newArray() <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->newArray() <=> QScriptValue(QString(\"0\"))", - "engine->newArray() <=> QScriptValue(QString(\"123\"))", - "engine->newArray() <=> QScriptValue(QString(\"12.4\"))", - "engine->newArray() <=> QScriptValue(0, true)", - "engine->newArray() <=> QScriptValue(0, int(122))", - "engine->newArray() <=> QScriptValue(0, uint(124))", - "engine->newArray() <=> QScriptValue(0, 123.0)", - "engine->newArray() <=> QScriptValue(0, 6.37e-8)", - "engine->newArray() <=> QScriptValue(0, 0x43211234)", - "engine->newArray() <=> QScriptValue(0, 0x10000)", - "engine->newArray() <=> QScriptValue(0, 0x10001)", - "engine->newArray() <=> QScriptValue(0, qInf())", - "engine->newArray() <=> QScriptValue(0, \"NaN\")", - "engine->newArray() <=> QScriptValue(0, \"Infinity\")", - "engine->newArray() <=> QScriptValue(0, \"-Infinity\")", - "engine->newArray() <=> QScriptValue(0, \"ciao\")", - "engine->newArray() <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->newArray() <=> QScriptValue(0, QString(\"0\"))", - "engine->newArray() <=> QScriptValue(0, QString(\"123\"))", - "engine->newArray() <=> QScriptValue(0, QString(\"12.3\"))", - "engine->newArray() <=> QScriptValue(engine, true)", - "engine->newArray() <=> QScriptValue(engine, int(122))", - "engine->newArray() <=> QScriptValue(engine, uint(124))", - "engine->newArray() <=> QScriptValue(engine, 123.0)", - "engine->newArray() <=> QScriptValue(engine, 6.37e-8)", - "engine->newArray() <=> QScriptValue(engine, 0x43211234)", - "engine->newArray() <=> QScriptValue(engine, 0x10000)", - "engine->newArray() <=> QScriptValue(engine, 0x10001)", - "engine->newArray() <=> QScriptValue(engine, qInf())", - "engine->newArray() <=> QScriptValue(engine, \"NaN\")", - "engine->newArray() <=> QScriptValue(engine, \"Infinity\")", - "engine->newArray() <=> QScriptValue(engine, \"-Infinity\")", - "engine->newArray() <=> QScriptValue(engine, \"ciao\")", - "engine->newArray() <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->newArray() <=> QScriptValue(engine, QString(\"0\"))", - "engine->newArray() <=> QScriptValue(engine, QString(\"123\"))", - "engine->newArray() <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->newArray() <=> engine->evaluate(\"Object.prototype\")", - "engine->newArray() <=> engine->evaluate(\"Function.prototype\")", - "engine->newArray() <=> engine->evaluate(\"Error.prototype\")", - "engine->newArray() <=> engine->evaluate(\"Object\")", - "engine->newArray() <=> engine->evaluate(\"Array\")", - "engine->newArray() <=> engine->evaluate(\"Number\")", - "engine->newArray() <=> engine->evaluate(\"Function\")", - "engine->newArray() <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->newArray() <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->newArray() <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->newArray() <=> engine->evaluate(\"/foo/\")", - "engine->newArray() <=> engine->evaluate(\"new Object()\")", - "engine->newArray() <=> engine->evaluate(\"new Error()\")", - "engine->newArray() <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->newArray() <=> engine->evaluate(\"Undefined\")", - "engine->newArray() <=> engine->evaluate(\"Null\")", - "engine->newArray() <=> engine->evaluate(\"True\")", - "engine->newArray() <=> engine->evaluate(\"False\")", - "engine->newArray() <=> engine->evaluate(\"true\")", - "engine->newArray() <=> engine->evaluate(\"122\")", - "engine->newArray() <=> engine->evaluate(\"124\")", - "engine->newArray() <=> engine->evaluate(\"123.0\")", - "engine->newArray() <=> engine->evaluate(\"6.37e-8\")", - "engine->newArray() <=> engine->evaluate(\"0x43211234\")", - "engine->newArray() <=> engine->evaluate(\"0x10000\")", - "engine->newArray() <=> engine->evaluate(\"0x10001\")", - "engine->newArray() <=> engine->evaluate(\"Infinity\")", - "engine->newArray() <=> engine->evaluate(\"'ciao'\")", - "engine->newArray() <=> engine->evaluate(\"'0'\")", - "engine->newArray() <=> engine->evaluate(\"'123'\")", - "engine->newArray() <=> engine->evaluate(\"'12.4'\")", - "engine->newArray() <=> engine->newObject()", - "engine->newArray() <=> engine->newArray(10)", - "engine->newArray() <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "engine->newArray() <=> engine->newVariant(QVariant(123))", - "engine->newArray() <=> engine->newQObject(engine)", - "engine->newArray(10) <=> QScriptValue(\"NaN\")", - "engine->newArray(10) <=> QScriptValue(\"Infinity\")", - "engine->newArray(10) <=> QScriptValue(\"-Infinity\")", - "engine->newArray(10) <=> QScriptValue(\"ciao\")", - "engine->newArray(10) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->newArray(10) <=> QScriptValue(QString(\"0\"))", - "engine->newArray(10) <=> QScriptValue(QString(\"123\"))", - "engine->newArray(10) <=> QScriptValue(QString(\"12.4\"))", - "engine->newArray(10) <=> QScriptValue(0, \"NaN\")", - "engine->newArray(10) <=> QScriptValue(0, \"Infinity\")", - "engine->newArray(10) <=> QScriptValue(0, \"-Infinity\")", - "engine->newArray(10) <=> QScriptValue(0, \"ciao\")", - "engine->newArray(10) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->newArray(10) <=> QScriptValue(0, QString(\"0\"))", - "engine->newArray(10) <=> QScriptValue(0, QString(\"123\"))", - "engine->newArray(10) <=> QScriptValue(0, QString(\"12.3\"))", - "engine->newArray(10) <=> QScriptValue(engine, \"NaN\")", - "engine->newArray(10) <=> QScriptValue(engine, \"Infinity\")", - "engine->newArray(10) <=> QScriptValue(engine, \"-Infinity\")", - "engine->newArray(10) <=> QScriptValue(engine, \"ciao\")", - "engine->newArray(10) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->newArray(10) <=> QScriptValue(engine, QString(\"0\"))", - "engine->newArray(10) <=> QScriptValue(engine, QString(\"123\"))", - "engine->newArray(10) <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->newArray(10) <=> engine->evaluate(\"Object.prototype\")", - "engine->newArray(10) <=> engine->evaluate(\"Function.prototype\")", - "engine->newArray(10) <=> engine->evaluate(\"Error.prototype\")", - "engine->newArray(10) <=> engine->evaluate(\"Object\")", - "engine->newArray(10) <=> engine->evaluate(\"Array\")", - "engine->newArray(10) <=> engine->evaluate(\"Number\")", - "engine->newArray(10) <=> engine->evaluate(\"Function\")", - "engine->newArray(10) <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->newArray(10) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->newArray(10) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->newArray(10) <=> engine->evaluate(\"/foo/\")", - "engine->newArray(10) <=> engine->evaluate(\"new Object()\")", - "engine->newArray(10) <=> engine->evaluate(\"new Error()\")", - "engine->newArray(10) <=> engine->evaluate(\"Undefined\")", - "engine->newArray(10) <=> engine->evaluate(\"Null\")", - "engine->newArray(10) <=> engine->evaluate(\"True\")", - "engine->newArray(10) <=> engine->evaluate(\"False\")", - "engine->newArray(10) <=> engine->evaluate(\"'ciao'\")", - "engine->newArray(10) <=> engine->evaluate(\"'0'\")", - "engine->newArray(10) <=> engine->evaluate(\"'123'\")", - "engine->newArray(10) <=> engine->evaluate(\"'12.4'\")", - "engine->newArray(10) <=> engine->newObject()", - "engine->newArray(10) <=> engine->newQMetaObject(&QObject::staticMetaObject)", - "engine->newArray(10) <=> engine->newQObject(engine)", - "engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(\"ciao\")", - "engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(0, \"ciao\")", - "engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(engine, \"ciao\")", - "engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Function.prototype\")", - "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Object\")", - "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Array\")", - "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Number\")", - "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Function\")", - "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"'ciao'\")", - "engine->newVariant(QVariant(123)) <=> QScriptValue(uint(124))", - "engine->newVariant(QVariant(123)) <=> QScriptValue(0x43211234)", - "engine->newVariant(QVariant(123)) <=> QScriptValue(0x10000)", - "engine->newVariant(QVariant(123)) <=> QScriptValue(0x10001)", - "engine->newVariant(QVariant(123)) <=> QScriptValue(qInf())", - "engine->newVariant(QVariant(123)) <=> QScriptValue(\"Infinity\")", - "engine->newVariant(QVariant(123)) <=> QScriptValue(0, uint(124))", - "engine->newVariant(QVariant(123)) <=> QScriptValue(0, 0x43211234)", - "engine->newVariant(QVariant(123)) <=> QScriptValue(0, 0x10000)", - "engine->newVariant(QVariant(123)) <=> QScriptValue(0, 0x10001)", - "engine->newVariant(QVariant(123)) <=> QScriptValue(0, qInf())", - "engine->newVariant(QVariant(123)) <=> QScriptValue(0, \"Infinity\")", - "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, uint(124))", - "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, 0x43211234)", - "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, 0x10000)", - "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, 0x10001)", - "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, qInf())", - "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, \"Infinity\")", - "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"124\")", - "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"0x43211234\")", - "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"0x10000\")", - "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"0x10001\")", - "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"Infinity\")", - "engine->newVariant(QVariant(false)) <=> QScriptValue(true)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(int(122))", - "engine->newVariant(QVariant(false)) <=> QScriptValue(uint(124))", - "engine->newVariant(QVariant(false)) <=> QScriptValue(123.0)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(6.37e-8)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0x43211234)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0x10000)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0x10001)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(qInf())", - "engine->newVariant(QVariant(false)) <=> QScriptValue(\"Infinity\")", - "engine->newVariant(QVariant(false)) <=> QScriptValue(QString(\"123\"))", - "engine->newVariant(QVariant(false)) <=> QScriptValue(QString(\"12.4\"))", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0, true)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0, int(122))", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0, uint(124))", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0, 123.0)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0, 6.37e-8)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0, 0x43211234)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0, 0x10000)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0, 0x10001)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0, qInf())", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0, \"Infinity\")", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0, QString(\"123\"))", - "engine->newVariant(QVariant(false)) <=> QScriptValue(0, QString(\"12.3\"))", - "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, true)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, int(122))", - "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, uint(124))", - "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 123.0)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 6.37e-8)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 0x43211234)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 0x10000)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 0x10001)", - "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, qInf())", - "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, \"Infinity\")", - "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, QString(\"123\"))", - "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"true\")", - "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"122\")", - "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"124\")", - "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"123.0\")", - "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"6.37e-8\")", - "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"0x43211234\")", - "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"0x10000\")", - "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"0x10001\")", - "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"Infinity\")", - "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"'123'\")", - "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"'12.4'\")", - "engine->newVariant(QVariant(false)) <=> engine->newVariant(QVariant(123))", - "engine->newQObject(0) <=> QScriptValue(true)", - "engine->newQObject(0) <=> QScriptValue(int(122))", - "engine->newQObject(0) <=> QScriptValue(uint(124))", - "engine->newQObject(0) <=> QScriptValue(123.0)", - "engine->newQObject(0) <=> QScriptValue(6.37e-8)", - "engine->newQObject(0) <=> QScriptValue(0x43211234)", - "engine->newQObject(0) <=> QScriptValue(0x10000)", - "engine->newQObject(0) <=> QScriptValue(0x10001)", - "engine->newQObject(0) <=> QScriptValue(qInf())", - "engine->newQObject(0) <=> QScriptValue(\"Infinity\")", - "engine->newQObject(0) <=> QScriptValue(QString(\"123\"))", - "engine->newQObject(0) <=> QScriptValue(QString(\"12.4\"))", - "engine->newQObject(0) <=> QScriptValue(0, true)", - "engine->newQObject(0) <=> QScriptValue(0, int(122))", - "engine->newQObject(0) <=> QScriptValue(0, uint(124))", - "engine->newQObject(0) <=> QScriptValue(0, 123.0)", - "engine->newQObject(0) <=> QScriptValue(0, 6.37e-8)", - "engine->newQObject(0) <=> QScriptValue(0, 0x43211234)", - "engine->newQObject(0) <=> QScriptValue(0, 0x10000)", - "engine->newQObject(0) <=> QScriptValue(0, 0x10001)", - "engine->newQObject(0) <=> QScriptValue(0, qInf())", - "engine->newQObject(0) <=> QScriptValue(0, \"Infinity\")", - "engine->newQObject(0) <=> QScriptValue(0, QString(\"123\"))", - "engine->newQObject(0) <=> QScriptValue(0, QString(\"12.3\"))", - "engine->newQObject(0) <=> QScriptValue(engine, true)", - "engine->newQObject(0) <=> QScriptValue(engine, int(122))", - "engine->newQObject(0) <=> QScriptValue(engine, uint(124))", - "engine->newQObject(0) <=> QScriptValue(engine, 123.0)", - "engine->newQObject(0) <=> QScriptValue(engine, 6.37e-8)", - "engine->newQObject(0) <=> QScriptValue(engine, 0x43211234)", - "engine->newQObject(0) <=> QScriptValue(engine, 0x10000)", - "engine->newQObject(0) <=> QScriptValue(engine, 0x10001)", - "engine->newQObject(0) <=> QScriptValue(engine, qInf())", - "engine->newQObject(0) <=> QScriptValue(engine, \"Infinity\")", - "engine->newQObject(0) <=> QScriptValue(engine, QString(\"123\"))", - "engine->newQObject(0) <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->newQObject(0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->newQObject(0) <=> engine->evaluate(\"true\")", - "engine->newQObject(0) <=> engine->evaluate(\"122\")", - "engine->newQObject(0) <=> engine->evaluate(\"124\")", - "engine->newQObject(0) <=> engine->evaluate(\"123.0\")", - "engine->newQObject(0) <=> engine->evaluate(\"6.37e-8\")", - "engine->newQObject(0) <=> engine->evaluate(\"0x43211234\")", - "engine->newQObject(0) <=> engine->evaluate(\"0x10000\")", - "engine->newQObject(0) <=> engine->evaluate(\"0x10001\")", - "engine->newQObject(0) <=> engine->evaluate(\"Infinity\")", - "engine->newQObject(0) <=> engine->evaluate(\"'123'\")", - "engine->newQObject(0) <=> engine->evaluate(\"'12.4'\")", - "engine->newQObject(0) <=> engine->newVariant(QVariant(123))", - "engine->newQObject(engine) <=> QScriptValue(\"ciao\")", - "engine->newQObject(engine) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->newQObject(engine) <=> QScriptValue(0, \"ciao\")", - "engine->newQObject(engine) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->newQObject(engine) <=> QScriptValue(engine, \"ciao\")", - "engine->newQObject(engine) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->newQObject(engine) <=> engine->evaluate(\"Object.prototype\")", - "engine->newQObject(engine) <=> engine->evaluate(\"Function.prototype\")", - "engine->newQObject(engine) <=> engine->evaluate(\"Object\")", - "engine->newQObject(engine) <=> engine->evaluate(\"Array\")", - "engine->newQObject(engine) <=> engine->evaluate(\"Number\")", - "engine->newQObject(engine) <=> engine->evaluate(\"Function\")", - "engine->newQObject(engine) <=> engine->evaluate(\"(function() { return 1; })\")", - "engine->newQObject(engine) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->newQObject(engine) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->newQObject(engine) <=> engine->evaluate(\"new Object()\")", - "engine->newQObject(engine) <=> engine->evaluate(\"Undefined\")", - "engine->newQObject(engine) <=> engine->evaluate(\"Null\")", - "engine->newQObject(engine) <=> engine->evaluate(\"True\")", - "engine->newQObject(engine) <=> engine->evaluate(\"False\")", - "engine->newQObject(engine) <=> engine->evaluate(\"'ciao'\")", - "engine->newQObject(engine) <=> engine->newObject()", - "engine->newQObject(engine) <=> engine->newQMetaObject(&QObject::staticMetaObject)",}; - -void tst_QScriptValue::lessThan_makeData(const char *expr) -{ - static QSet equals; - if (equals.isEmpty()) { - equals.reserve(5063); - for (unsigned i = 0; i < 5063; ++i) - equals.insert(lessThan_array[i]); - } - QHash::const_iterator it; - for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) { - QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key()); - newRow(tag.toLatin1()) << it.value() << equals.contains(tag); - } -} - -void tst_QScriptValue::lessThan_test(const char *, const QScriptValue& value) -{ - QFETCH(QScriptValue, other); - QFETCH(bool, expected); - QCOMPARE(value.lessThan(other), expected); -} - -DEFINE_TEST_FUNCTION(lessThan) - - -void tst_QScriptValue::instanceOf_initData() -{ - QTest::addColumn("other"); - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString instanceOf_array [] = { - "engine->evaluate(\"[]\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Object\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Object\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"Array\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Array\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"Number\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Number\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"Function\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Function\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Null\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"True\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"False\") <=> engine->evaluate(\"Object\")", - "engine->newObject() <=> engine->evaluate(\"Object\")", - "engine->newArray() <=> engine->evaluate(\"Object\")", - "engine->newArray() <=> engine->evaluate(\"Array\")", - "engine->newArray(10) <=> engine->evaluate(\"Object\")", - "engine->newArray(10) <=> engine->evaluate(\"Array\")", - "engine->newDate(QDateTime()) <=> engine->evaluate(\"Object\")", - "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Object\")", - "engine->newVariant(QVariant()) <=> engine->evaluate(\"Object\")", - "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"Object\")", - "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"Object\")", - "engine->newQObject(engine) <=> engine->evaluate(\"Object\")",}; - -void tst_QScriptValue::instanceOf_makeData(const char *expr) -{ - static QSet equals; - if (equals.isEmpty()) { - equals.reserve(40); - for (unsigned i = 0; i < 40; ++i) - equals.insert(instanceOf_array[i]); - } - QHash::const_iterator it; - for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) { - QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key()); - newRow(tag.toLatin1()) << it.value() << equals.contains(tag); - } -} - -void tst_QScriptValue::instanceOf_test(const char *, const QScriptValue& value) -{ - QFETCH(QScriptValue, other); - QFETCH(bool, expected); - QCOMPARE(value.instanceOf(other), expected); -} - -DEFINE_TEST_FUNCTION(instanceOf) diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue_generated_init.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue_generated_init.cpp deleted file mode 100644 index a9eb2ca..0000000 --- a/tests/auto/qscriptvalue/tst_qscriptvalue_generated_init.cpp +++ /dev/null @@ -1,198 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/**************************************************************************** -*************** This file has been generated. DO NOT MODIFY! **************** -****************************************************************************/ - -#include "tst_qscriptvalue.h" - - -void tst_QScriptValue::initScriptValues() -{ - m_values.clear(); - if (engine) - delete engine; - engine = new QScriptEngine; - DEFINE_TEST_VALUE(QScriptValue()); - DEFINE_TEST_VALUE(QScriptValue(QScriptValue::UndefinedValue)); - DEFINE_TEST_VALUE(QScriptValue(QScriptValue::NullValue)); - DEFINE_TEST_VALUE(QScriptValue(true)); - DEFINE_TEST_VALUE(QScriptValue(false)); - DEFINE_TEST_VALUE(QScriptValue(int(122))); - DEFINE_TEST_VALUE(QScriptValue(uint(124))); - DEFINE_TEST_VALUE(QScriptValue(0)); - DEFINE_TEST_VALUE(QScriptValue(0.0)); - DEFINE_TEST_VALUE(QScriptValue(123.0)); - DEFINE_TEST_VALUE(QScriptValue(6.37e-8)); - DEFINE_TEST_VALUE(QScriptValue(-6.37e-8)); - DEFINE_TEST_VALUE(QScriptValue(0x43211234)); - DEFINE_TEST_VALUE(QScriptValue(0x10000)); - DEFINE_TEST_VALUE(QScriptValue(0x10001)); - DEFINE_TEST_VALUE(QScriptValue(qSNaN())); - DEFINE_TEST_VALUE(QScriptValue(qQNaN())); - DEFINE_TEST_VALUE(QScriptValue(qInf())); - DEFINE_TEST_VALUE(QScriptValue(-qInf())); - DEFINE_TEST_VALUE(QScriptValue("NaN")); - DEFINE_TEST_VALUE(QScriptValue("Infinity")); - DEFINE_TEST_VALUE(QScriptValue("-Infinity")); - DEFINE_TEST_VALUE(QScriptValue("ciao")); - DEFINE_TEST_VALUE(QScriptValue(QString::fromLatin1("ciao"))); - DEFINE_TEST_VALUE(QScriptValue(QString(""))); - DEFINE_TEST_VALUE(QScriptValue(QString())); - DEFINE_TEST_VALUE(QScriptValue(QString("0"))); - DEFINE_TEST_VALUE(QScriptValue(QString("123"))); - DEFINE_TEST_VALUE(QScriptValue(QString("12.4"))); - DEFINE_TEST_VALUE(QScriptValue(0, QScriptValue::UndefinedValue)); - DEFINE_TEST_VALUE(QScriptValue(0, QScriptValue::NullValue)); - DEFINE_TEST_VALUE(QScriptValue(0, true)); - DEFINE_TEST_VALUE(QScriptValue(0, false)); - DEFINE_TEST_VALUE(QScriptValue(0, int(122))); - DEFINE_TEST_VALUE(QScriptValue(0, uint(124))); - DEFINE_TEST_VALUE(QScriptValue(0, 0)); - DEFINE_TEST_VALUE(QScriptValue(0, 0.0)); - DEFINE_TEST_VALUE(QScriptValue(0, 123.0)); - DEFINE_TEST_VALUE(QScriptValue(0, 6.37e-8)); - DEFINE_TEST_VALUE(QScriptValue(0, -6.37e-8)); - DEFINE_TEST_VALUE(QScriptValue(0, 0x43211234)); - DEFINE_TEST_VALUE(QScriptValue(0, 0x10000)); - DEFINE_TEST_VALUE(QScriptValue(0, 0x10001)); - DEFINE_TEST_VALUE(QScriptValue(0, qSNaN())); - DEFINE_TEST_VALUE(QScriptValue(0, qQNaN())); - DEFINE_TEST_VALUE(QScriptValue(0, qInf())); - DEFINE_TEST_VALUE(QScriptValue(0, -qInf())); - DEFINE_TEST_VALUE(QScriptValue(0, "NaN")); - DEFINE_TEST_VALUE(QScriptValue(0, "Infinity")); - DEFINE_TEST_VALUE(QScriptValue(0, "-Infinity")); - DEFINE_TEST_VALUE(QScriptValue(0, "ciao")); - DEFINE_TEST_VALUE(QScriptValue(0, QString::fromLatin1("ciao"))); - DEFINE_TEST_VALUE(QScriptValue(0, QString(""))); - DEFINE_TEST_VALUE(QScriptValue(0, QString())); - DEFINE_TEST_VALUE(QScriptValue(0, QString("0"))); - DEFINE_TEST_VALUE(QScriptValue(0, QString("123"))); - DEFINE_TEST_VALUE(QScriptValue(0, QString("12.3"))); - DEFINE_TEST_VALUE(QScriptValue(engine, QScriptValue::UndefinedValue)); - DEFINE_TEST_VALUE(QScriptValue(engine, QScriptValue::NullValue)); - DEFINE_TEST_VALUE(QScriptValue(engine, true)); - DEFINE_TEST_VALUE(QScriptValue(engine, false)); - DEFINE_TEST_VALUE(QScriptValue(engine, int(122))); - DEFINE_TEST_VALUE(QScriptValue(engine, uint(124))); - DEFINE_TEST_VALUE(QScriptValue(engine, 0)); - DEFINE_TEST_VALUE(QScriptValue(engine, 0.0)); - DEFINE_TEST_VALUE(QScriptValue(engine, 123.0)); - DEFINE_TEST_VALUE(QScriptValue(engine, 6.37e-8)); - DEFINE_TEST_VALUE(QScriptValue(engine, -6.37e-8)); - DEFINE_TEST_VALUE(QScriptValue(engine, 0x43211234)); - DEFINE_TEST_VALUE(QScriptValue(engine, 0x10000)); - DEFINE_TEST_VALUE(QScriptValue(engine, 0x10001)); - DEFINE_TEST_VALUE(QScriptValue(engine, qSNaN())); - DEFINE_TEST_VALUE(QScriptValue(engine, qQNaN())); - DEFINE_TEST_VALUE(QScriptValue(engine, qInf())); - DEFINE_TEST_VALUE(QScriptValue(engine, -qInf())); - DEFINE_TEST_VALUE(QScriptValue(engine, "NaN")); - DEFINE_TEST_VALUE(QScriptValue(engine, "Infinity")); - DEFINE_TEST_VALUE(QScriptValue(engine, "-Infinity")); - DEFINE_TEST_VALUE(QScriptValue(engine, "ciao")); - DEFINE_TEST_VALUE(QScriptValue(engine, QString::fromLatin1("ciao"))); - DEFINE_TEST_VALUE(QScriptValue(engine, QString(""))); - DEFINE_TEST_VALUE(QScriptValue(engine, QString())); - DEFINE_TEST_VALUE(QScriptValue(engine, QString("0"))); - DEFINE_TEST_VALUE(QScriptValue(engine, QString("123"))); - DEFINE_TEST_VALUE(QScriptValue(engine, QString("1.23"))); - DEFINE_TEST_VALUE(engine->evaluate("[]")); - DEFINE_TEST_VALUE(engine->evaluate("{}")); - DEFINE_TEST_VALUE(engine->evaluate("Object.prototype")); - DEFINE_TEST_VALUE(engine->evaluate("Date.prototype")); - DEFINE_TEST_VALUE(engine->evaluate("Array.prototype")); - DEFINE_TEST_VALUE(engine->evaluate("Function.prototype")); - DEFINE_TEST_VALUE(engine->evaluate("Error.prototype")); - DEFINE_TEST_VALUE(engine->evaluate("Object")); - DEFINE_TEST_VALUE(engine->evaluate("Array")); - DEFINE_TEST_VALUE(engine->evaluate("Number")); - DEFINE_TEST_VALUE(engine->evaluate("Function")); - DEFINE_TEST_VALUE(engine->evaluate("(function() { return 1; })")); - DEFINE_TEST_VALUE(engine->evaluate("(function() { return 'ciao'; })")); - DEFINE_TEST_VALUE(engine->evaluate("(function() { throw new Error('foo'); })")); - DEFINE_TEST_VALUE(engine->evaluate("/foo/")); - DEFINE_TEST_VALUE(engine->evaluate("new Object()")); - DEFINE_TEST_VALUE(engine->evaluate("new Array()")); - DEFINE_TEST_VALUE(engine->evaluate("new Error()")); - DEFINE_TEST_VALUE(engine->evaluate("a = new Object(); a.foo = 22; a.foo")); - DEFINE_TEST_VALUE(engine->evaluate("Undefined")); - DEFINE_TEST_VALUE(engine->evaluate("Null")); - DEFINE_TEST_VALUE(engine->evaluate("True")); - DEFINE_TEST_VALUE(engine->evaluate("False")); - DEFINE_TEST_VALUE(engine->evaluate("undefined")); - DEFINE_TEST_VALUE(engine->evaluate("null")); - DEFINE_TEST_VALUE(engine->evaluate("true")); - DEFINE_TEST_VALUE(engine->evaluate("false")); - DEFINE_TEST_VALUE(engine->evaluate("122")); - DEFINE_TEST_VALUE(engine->evaluate("124")); - DEFINE_TEST_VALUE(engine->evaluate("0")); - DEFINE_TEST_VALUE(engine->evaluate("0.0")); - DEFINE_TEST_VALUE(engine->evaluate("123.0")); - DEFINE_TEST_VALUE(engine->evaluate("6.37e-8")); - DEFINE_TEST_VALUE(engine->evaluate("-6.37e-8")); - DEFINE_TEST_VALUE(engine->evaluate("0x43211234")); - DEFINE_TEST_VALUE(engine->evaluate("0x10000")); - DEFINE_TEST_VALUE(engine->evaluate("0x10001")); - DEFINE_TEST_VALUE(engine->evaluate("NaN")); - DEFINE_TEST_VALUE(engine->evaluate("Infinity")); - DEFINE_TEST_VALUE(engine->evaluate("-Infinity")); - DEFINE_TEST_VALUE(engine->evaluate("'ciao'")); - DEFINE_TEST_VALUE(engine->evaluate("''")); - DEFINE_TEST_VALUE(engine->evaluate("'0'")); - DEFINE_TEST_VALUE(engine->evaluate("'123'")); - DEFINE_TEST_VALUE(engine->evaluate("'12.4'")); - DEFINE_TEST_VALUE(engine->nullValue()); - DEFINE_TEST_VALUE(engine->undefinedValue()); - DEFINE_TEST_VALUE(engine->newObject()); - DEFINE_TEST_VALUE(engine->newArray()); - DEFINE_TEST_VALUE(engine->newArray(10)); - DEFINE_TEST_VALUE(engine->newDate(QDateTime())); - DEFINE_TEST_VALUE(engine->newQMetaObject(&QObject::staticMetaObject)); - DEFINE_TEST_VALUE(engine->newVariant(QVariant())); - DEFINE_TEST_VALUE(engine->newVariant(QVariant(123))); - DEFINE_TEST_VALUE(engine->newVariant(QVariant(false))); - DEFINE_TEST_VALUE(engine->newQObject(0)); - DEFINE_TEST_VALUE(engine->newQObject(engine)); -} - diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue_generated_isXXX.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue_generated_isXXX.cpp deleted file mode 100644 index 106043b..0000000 --- a/tests/auto/qscriptvalue/tst_qscriptvalue_generated_isXXX.cpp +++ /dev/null @@ -1,830 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/**************************************************************************** -*************** This file has been generated. DO NOT MODIFY! **************** -****************************************************************************/ - -#include "tst_qscriptvalue.h" - - -void tst_QScriptValue::isValid_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString isValid_array [] = { - "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(\"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->newVariant(QVariant())", - "engine->newVariant(QVariant(123))", - "engine->newVariant(QVariant(false))", - "engine->newQObject(0)", - "engine->newQObject(engine)",}; - -void tst_QScriptValue::isValid_makeData(const char* expr) -{ - static QSet isValid; - if (isValid.isEmpty()) { - isValid.reserve(141); - for (unsigned i = 0; i < 141; ++i) - isValid.insert(isValid_array[i]); - } - newRow(expr) << isValid.contains(expr); -} - -void tst_QScriptValue::isValid_test(const char*, const QScriptValue& value) -{ - QFETCH(bool, expected); - QCOMPARE(value.isValid(), expected); - QCOMPARE(value.isValid(), expected); -} - -DEFINE_TEST_FUNCTION(isValid) - - -void tst_QScriptValue::isBool_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString isBool_array [] = { - "QScriptValue(true)", - "QScriptValue(false)", - "QScriptValue(0, true)", - "QScriptValue(0, false)", - "QScriptValue(engine, true)", - "QScriptValue(engine, false)", - "engine->evaluate(\"true\")", - "engine->evaluate(\"false\")",}; - -void tst_QScriptValue::isBool_makeData(const char* expr) -{ - static QSet isBool; - if (isBool.isEmpty()) { - isBool.reserve(8); - for (unsigned i = 0; i < 8; ++i) - isBool.insert(isBool_array[i]); - } - newRow(expr) << isBool.contains(expr); -} - -void tst_QScriptValue::isBool_test(const char*, const QScriptValue& value) -{ - QFETCH(bool, expected); - QCOMPARE(value.isBool(), expected); - QCOMPARE(value.isBool(), expected); -} - -DEFINE_TEST_FUNCTION(isBool) - - -void tst_QScriptValue::isBoolean_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString isBoolean_array [] = { - "QScriptValue(true)", - "QScriptValue(false)", - "QScriptValue(0, true)", - "QScriptValue(0, false)", - "QScriptValue(engine, true)", - "QScriptValue(engine, false)", - "engine->evaluate(\"true\")", - "engine->evaluate(\"false\")",}; - -void tst_QScriptValue::isBoolean_makeData(const char* expr) -{ - static QSet isBoolean; - if (isBoolean.isEmpty()) { - isBoolean.reserve(8); - for (unsigned i = 0; i < 8; ++i) - isBoolean.insert(isBoolean_array[i]); - } - newRow(expr) << isBoolean.contains(expr); -} - -void tst_QScriptValue::isBoolean_test(const char*, const QScriptValue& value) -{ - QFETCH(bool, expected); - QCOMPARE(value.isBoolean(), expected); - QCOMPARE(value.isBoolean(), expected); -} - -DEFINE_TEST_FUNCTION(isBoolean) - - -void tst_QScriptValue::isNumber_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString isNumber_array [] = { - "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(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(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())", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "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\")",}; - -void tst_QScriptValue::isNumber_makeData(const char* expr) -{ - static QSet isNumber; - if (isNumber.isEmpty()) { - isNumber.reserve(56); - for (unsigned i = 0; i < 56; ++i) - isNumber.insert(isNumber_array[i]); - } - newRow(expr) << isNumber.contains(expr); -} - -void tst_QScriptValue::isNumber_test(const char*, const QScriptValue& value) -{ - QFETCH(bool, expected); - QCOMPARE(value.isNumber(), expected); - QCOMPARE(value.isNumber(), expected); -} - -DEFINE_TEST_FUNCTION(isNumber) - - -void tst_QScriptValue::isFunction_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString isFunction_array [] = { - "engine->evaluate(\"Function.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->newQMetaObject(&QObject::staticMetaObject)",}; - -void tst_QScriptValue::isFunction_makeData(const char* expr) -{ - static QSet isFunction; - if (isFunction.isEmpty()) { - isFunction.reserve(10); - for (unsigned i = 0; i < 10; ++i) - isFunction.insert(isFunction_array[i]); - } - newRow(expr) << isFunction.contains(expr); -} - -void tst_QScriptValue::isFunction_test(const char*, const QScriptValue& value) -{ - QFETCH(bool, expected); - QCOMPARE(value.isFunction(), expected); - QCOMPARE(value.isFunction(), expected); -} - -DEFINE_TEST_FUNCTION(isFunction) - - -void tst_QScriptValue::isNull_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString isNull_array [] = { - "QScriptValue(QScriptValue::NullValue)", - "QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(engine, QScriptValue::NullValue)", - "engine->evaluate(\"null\")", - "engine->nullValue()", - "engine->newQObject(0)",}; - -void tst_QScriptValue::isNull_makeData(const char* expr) -{ - static QSet isNull; - if (isNull.isEmpty()) { - isNull.reserve(6); - for (unsigned i = 0; i < 6; ++i) - isNull.insert(isNull_array[i]); - } - newRow(expr) << isNull.contains(expr); -} - -void tst_QScriptValue::isNull_test(const char*, const QScriptValue& value) -{ - QFETCH(bool, expected); - QCOMPARE(value.isNull(), expected); - QCOMPARE(value.isNull(), expected); -} - -DEFINE_TEST_FUNCTION(isNull) - - -void tst_QScriptValue::isString_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString isString_array [] = { - "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, \"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, \"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(\"'ciao'\")", - "engine->evaluate(\"''\")", - "engine->evaluate(\"'0'\")", - "engine->evaluate(\"'123'\")", - "engine->evaluate(\"'12.4'\")",}; - -void tst_QScriptValue::isString_makeData(const char* expr) -{ - static QSet isString; - if (isString.isEmpty()) { - isString.reserve(35); - for (unsigned i = 0; i < 35; ++i) - isString.insert(isString_array[i]); - } - newRow(expr) << isString.contains(expr); -} - -void tst_QScriptValue::isString_test(const char*, const QScriptValue& value) -{ - QFETCH(bool, expected); - QCOMPARE(value.isString(), expected); - QCOMPARE(value.isString(), expected); -} - -DEFINE_TEST_FUNCTION(isString) - - -void tst_QScriptValue::isUndefined_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString isUndefined_array [] = { - "QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::UndefinedValue)", - "engine->evaluate(\"{}\")", - "engine->evaluate(\"undefined\")", - "engine->undefinedValue()",}; - -void tst_QScriptValue::isUndefined_makeData(const char* expr) -{ - static QSet isUndefined; - if (isUndefined.isEmpty()) { - isUndefined.reserve(6); - for (unsigned i = 0; i < 6; ++i) - isUndefined.insert(isUndefined_array[i]); - } - newRow(expr) << isUndefined.contains(expr); -} - -void tst_QScriptValue::isUndefined_test(const char*, const QScriptValue& value) -{ - QFETCH(bool, expected); - QCOMPARE(value.isUndefined(), expected); - QCOMPARE(value.isUndefined(), expected); -} - -DEFINE_TEST_FUNCTION(isUndefined) - - -void tst_QScriptValue::isVariant_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString isVariant_array [] = { - "engine->newVariant(QVariant())", - "engine->newVariant(QVariant(123))", - "engine->newVariant(QVariant(false))",}; - -void tst_QScriptValue::isVariant_makeData(const char* expr) -{ - static QSet isVariant; - if (isVariant.isEmpty()) { - isVariant.reserve(3); - for (unsigned i = 0; i < 3; ++i) - isVariant.insert(isVariant_array[i]); - } - newRow(expr) << isVariant.contains(expr); -} - -void tst_QScriptValue::isVariant_test(const char*, const QScriptValue& value) -{ - QFETCH(bool, expected); - QCOMPARE(value.isVariant(), expected); - QCOMPARE(value.isVariant(), expected); -} - -DEFINE_TEST_FUNCTION(isVariant) - - -void tst_QScriptValue::isQObject_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString isQObject_array [] = { - "engine->newQObject(engine)",}; - -void tst_QScriptValue::isQObject_makeData(const char* expr) -{ - static QSet isQObject; - if (isQObject.isEmpty()) { - isQObject.reserve(1); - for (unsigned i = 0; i < 1; ++i) - isQObject.insert(isQObject_array[i]); - } - newRow(expr) << isQObject.contains(expr); -} - -void tst_QScriptValue::isQObject_test(const char*, const QScriptValue& value) -{ - QFETCH(bool, expected); - QCOMPARE(value.isQObject(), expected); - QCOMPARE(value.isQObject(), expected); -} - -DEFINE_TEST_FUNCTION(isQObject) - - -void tst_QScriptValue::isQMetaObject_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString isQMetaObject_array [] = { - "engine->newQMetaObject(&QObject::staticMetaObject)",}; - -void tst_QScriptValue::isQMetaObject_makeData(const char* expr) -{ - static QSet isQMetaObject; - if (isQMetaObject.isEmpty()) { - isQMetaObject.reserve(1); - for (unsigned i = 0; i < 1; ++i) - isQMetaObject.insert(isQMetaObject_array[i]); - } - newRow(expr) << isQMetaObject.contains(expr); -} - -void tst_QScriptValue::isQMetaObject_test(const char*, const QScriptValue& value) -{ - QFETCH(bool, expected); - QCOMPARE(value.isQMetaObject(), expected); - QCOMPARE(value.isQMetaObject(), expected); -} - -DEFINE_TEST_FUNCTION(isQMetaObject) - - -void tst_QScriptValue::isObject_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString isObject_array [] = { - "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(\"Undefined\")", - "engine->evaluate(\"Null\")", - "engine->evaluate(\"True\")", - "engine->evaluate(\"False\")", - "engine->newObject()", - "engine->newArray()", - "engine->newArray(10)", - "engine->newDate(QDateTime())", - "engine->newQMetaObject(&QObject::staticMetaObject)", - "engine->newVariant(QVariant())", - "engine->newVariant(QVariant(123))", - "engine->newVariant(QVariant(false))", - "engine->newQObject(engine)",}; - -void tst_QScriptValue::isObject_makeData(const char* expr) -{ - static QSet isObject; - if (isObject.isEmpty()) { - isObject.reserve(30); - for (unsigned i = 0; i < 30; ++i) - isObject.insert(isObject_array[i]); - } - newRow(expr) << isObject.contains(expr); -} - -void tst_QScriptValue::isObject_test(const char*, const QScriptValue& value) -{ - QFETCH(bool, expected); - QCOMPARE(value.isObject(), expected); - QCOMPARE(value.isObject(), expected); -} - -DEFINE_TEST_FUNCTION(isObject) - - -void tst_QScriptValue::isDate_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString isDate_array [] = { - "engine->evaluate(\"Date.prototype\")", - "engine->newDate(QDateTime())",}; - -void tst_QScriptValue::isDate_makeData(const char* expr) -{ - static QSet isDate; - if (isDate.isEmpty()) { - isDate.reserve(2); - for (unsigned i = 0; i < 2; ++i) - isDate.insert(isDate_array[i]); - } - newRow(expr) << isDate.contains(expr); -} - -void tst_QScriptValue::isDate_test(const char*, const QScriptValue& value) -{ - QFETCH(bool, expected); - QCOMPARE(value.isDate(), expected); - QCOMPARE(value.isDate(), expected); -} - -DEFINE_TEST_FUNCTION(isDate) - - -void tst_QScriptValue::isRegExp_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString isRegExp_array [] = { - "engine->evaluate(\"/foo/\")",}; - -void tst_QScriptValue::isRegExp_makeData(const char* expr) -{ - static QSet isRegExp; - if (isRegExp.isEmpty()) { - isRegExp.reserve(1); - for (unsigned i = 0; i < 1; ++i) - isRegExp.insert(isRegExp_array[i]); - } - newRow(expr) << isRegExp.contains(expr); -} - -void tst_QScriptValue::isRegExp_test(const char*, const QScriptValue& value) -{ - QFETCH(bool, expected); - QCOMPARE(value.isRegExp(), expected); - QCOMPARE(value.isRegExp(), expected); -} - -DEFINE_TEST_FUNCTION(isRegExp) - - -void tst_QScriptValue::isArray_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString isArray_array [] = { - "engine->evaluate(\"[]\")", - "engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"new Array()\")", - "engine->newArray()", - "engine->newArray(10)",}; - -void tst_QScriptValue::isArray_makeData(const char* expr) -{ - static QSet isArray; - if (isArray.isEmpty()) { - isArray.reserve(5); - for (unsigned i = 0; i < 5; ++i) - isArray.insert(isArray_array[i]); - } - newRow(expr) << isArray.contains(expr); -} - -void tst_QScriptValue::isArray_test(const char*, const QScriptValue& value) -{ - QFETCH(bool, expected); - QCOMPARE(value.isArray(), expected); - QCOMPARE(value.isArray(), expected); -} - -DEFINE_TEST_FUNCTION(isArray) - - -void tst_QScriptValue::isError_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString isError_array [] = { - "engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"new Error()\")", - "engine->evaluate(\"Undefined\")", - "engine->evaluate(\"Null\")", - "engine->evaluate(\"True\")", - "engine->evaluate(\"False\")",}; - -void tst_QScriptValue::isError_makeData(const char* expr) -{ - static QSet isError; - if (isError.isEmpty()) { - isError.reserve(6); - for (unsigned i = 0; i < 6; ++i) - isError.insert(isError_array[i]); - } - newRow(expr) << isError.contains(expr); -} - -void tst_QScriptValue::isError_test(const char*, const QScriptValue& value) -{ - QFETCH(bool, expected); - QCOMPARE(value.isError(), expected); - QCOMPARE(value.isError(), expected); -} - -DEFINE_TEST_FUNCTION(isError) - diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue_generated_toXXX.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue_generated_toXXX.cpp deleted file mode 100644 index 754f4e0..0000000 --- a/tests/auto/qscriptvalue/tst_qscriptvalue_generated_toXXX.cpp +++ /dev/null @@ -1,1897 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -/**************************************************************************** -*************** This file has been generated. DO NOT MODIFY! **************** -****************************************************************************/ - -#include "tst_qscriptvalue.h" - - - -void tst_QScriptValue::toString_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString toString_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(\"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->newVariant(QVariant())", - "engine->newVariant(QVariant(123))", - "engine->newVariant(QVariant(false))", - "engine->newQObject(0)", - "engine->newQObject(engine)",}; - -static QString toString_valueArray [] = { - "", "undefined", - "null", "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", "undefined", - "null", "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", "undefined", - "null", "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", "", - "undefined", "[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", "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", - "undefined", "null", - "true", "false", - "122", "124", - "0", "0", - "123", "6.37e-8", - "-6.37e-8", "1126240820", - "65536", "65537", - "NaN", "Infinity", - "-Infinity", "ciao", - "", "0", - "123", "12.4", - "null", "undefined", - "[object Object]", "", - ",,,,,,,,,", "Invalid Date", - "[object QMetaObject]", "undefined", - "123", "false", - "null", "QScriptEngine(name = \"\")", }; - -void tst_QScriptValue::toString_makeData(const char* expr) -{ - static QHash toString; - if (toString.isEmpty()) { - toString.reserve(142); - for (unsigned i = 0; i < 142; ++i) - toString.insert(toString_tagArray[i], toString_valueArray[i]); - } - newRow(expr) << toString.value(expr); -} - -void tst_QScriptValue::toString_test(const char*, const QScriptValue& value) -{ - QFETCH(QString, expected); - QCOMPARE(value.toString(), expected); - QCOMPARE(value.toString(), expected); -} - -DEFINE_TEST_FUNCTION(toString) - - -void tst_QScriptValue::toNumber_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString toNumber_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(\"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->newVariant(QVariant())", - "engine->newVariant(QVariant(123))", - "engine->newVariant(QVariant(false))", - "engine->newQObject(0)", - "engine->newQObject(engine)",}; -static qsreal toNumber_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(), 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(), 123, 0, - 0, qQNaN(), }; -void tst_QScriptValue::toNumber_makeData(const char* expr) -{ - static QHash toNumber; - if (toNumber.isEmpty()) { - toNumber.reserve(142); - for (unsigned i = 0; i < 142; ++i) - toNumber.insert(toNumber_tagArray[i], toNumber_valueArray[i]); - } - newRow(expr) << toNumber.value(expr); -} - -void tst_QScriptValue::toNumber_test(const char*, const QScriptValue& value) -{ - QFETCH(qsreal, expected); - if (qIsNaN(expected)) { - QVERIFY(qIsNaN(value.toNumber())); - return; - } - if (qIsInf(expected)) { - QVERIFY(qIsInf(value.toNumber())); - QVERIFY(qIsInf(value.toNumber())); - return; - } - QCOMPARE(value.toNumber(), expected); - QCOMPARE(value.toNumber(), expected); -} - -DEFINE_TEST_FUNCTION(toNumber) - - -void tst_QScriptValue::toBool_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString toBool_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(\"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->newVariant(QVariant())", - "engine->newVariant(QVariant(123))", - "engine->newVariant(QVariant(false))", - "engine->newQObject(0)", - "engine->newQObject(engine)",}; - -static bool toBool_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, - 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, - false, true, }; - -void tst_QScriptValue::toBool_makeData(const char* expr) -{ - static QHash toBool; - if (toBool.isEmpty()) { - toBool.reserve(142); - for (unsigned i = 0; i < 142; ++i) - toBool.insert(toBool_tagArray[i], toBool_valueArray[i]); - } - newRow(expr) << toBool.value(expr); -} - -void tst_QScriptValue::toBool_test(const char*, const QScriptValue& value) -{ - QFETCH(bool, expected); - QCOMPARE(value.toBool(), expected); - QCOMPARE(value.toBool(), expected); -} - -DEFINE_TEST_FUNCTION(toBool) - - -void tst_QScriptValue::toBoolean_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString toBoolean_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(\"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->newVariant(QVariant())", - "engine->newVariant(QVariant(123))", - "engine->newVariant(QVariant(false))", - "engine->newQObject(0)", - "engine->newQObject(engine)",}; - -static bool toBoolean_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, - 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, - false, true, }; - -void tst_QScriptValue::toBoolean_makeData(const char* expr) -{ - static QHash toBoolean; - if (toBoolean.isEmpty()) { - toBoolean.reserve(142); - for (unsigned i = 0; i < 142; ++i) - toBoolean.insert(toBoolean_tagArray[i], toBoolean_valueArray[i]); - } - newRow(expr) << toBoolean.value(expr); -} - -void tst_QScriptValue::toBoolean_test(const char*, const QScriptValue& value) -{ - QFETCH(bool, expected); - QCOMPARE(value.toBoolean(), expected); - QCOMPARE(value.toBoolean(), expected); -} - -DEFINE_TEST_FUNCTION(toBoolean) - - -void tst_QScriptValue::toInteger_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString toInteger_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(\"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->newVariant(QVariant())", - "engine->newVariant(QVariant(123))", - "engine->newVariant(QVariant(false))", - "engine->newQObject(0)", - "engine->newQObject(engine)",}; -static qsreal toInteger_valueArray [] = { - 0, 0, 0, 1, 0, 122, 124, 0, 0, 123, - 0, 0, 1126240820, 65536, 65537, 0, 0, qInf(), qInf(), 0, - qInf(), qInf(), 0, 0, 0, 0, 0, 123, 12, 0, - 0, 1, 0, 122, 124, 0, 0, 123, 0, 0, - 1126240820, 65536, 65537, 0, 0, qInf(), qInf(), 0, qInf(), qInf(), - 0, 0, 0, 0, 0, 123, 12, 0, 0, 1, - 0, 122, 124, 0, 0, 123, 0, 0, 1126240820, 65536, - 65537, 0, 0, qInf(), qInf(), 0, qInf(), qInf(), 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, 22, 0, 0, 0, 0, 0, 0, - 1, 0, 122, 124, 0, 0, 123, 0, 0, 1126240820, - 65536, 65537, 0, qInf(), qInf(), 0, 0, 0, 123, 12, - 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, - 0, 0, }; -void tst_QScriptValue::toInteger_makeData(const char* expr) -{ - static QHash toInteger; - if (toInteger.isEmpty()) { - toInteger.reserve(142); - for (unsigned i = 0; i < 142; ++i) - toInteger.insert(toInteger_tagArray[i], toInteger_valueArray[i]); - } - newRow(expr) << toInteger.value(expr); -} - -void tst_QScriptValue::toInteger_test(const char*, const QScriptValue& value) -{ - QFETCH(qsreal, expected); - if (qIsInf(expected)) { - QVERIFY(qIsInf(value.toInteger())); - QVERIFY(qIsInf(value.toInteger())); - return; - } - QCOMPARE(value.toInteger(), expected); - QCOMPARE(value.toInteger(), expected); -} - -DEFINE_TEST_FUNCTION(toInteger) - - -void tst_QScriptValue::toInt32_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString toInt32_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(\"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->newVariant(QVariant())", - "engine->newVariant(QVariant(123))", - "engine->newVariant(QVariant(false))", - "engine->newQObject(0)", - "engine->newQObject(engine)",}; - -static qint32 toInt32_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, 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, - 123, 0, - 0, 0, }; - -void tst_QScriptValue::toInt32_makeData(const char* expr) -{ - static QHash toInt32; - if (toInt32.isEmpty()) { - toInt32.reserve(142); - for (unsigned i = 0; i < 142; ++i) - toInt32.insert(toInt32_tagArray[i], toInt32_valueArray[i]); - } - newRow(expr) << toInt32.value(expr); -} - -void tst_QScriptValue::toInt32_test(const char*, const QScriptValue& value) -{ - QFETCH(qint32, expected); - QCOMPARE(value.toInt32(), expected); - QCOMPARE(value.toInt32(), expected); -} - -DEFINE_TEST_FUNCTION(toInt32) - - -void tst_QScriptValue::toUInt32_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString toUInt32_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(\"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->newVariant(QVariant())", - "engine->newVariant(QVariant(123))", - "engine->newVariant(QVariant(false))", - "engine->newQObject(0)", - "engine->newQObject(engine)",}; - -static quint32 toUInt32_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, 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, - 123, 0, - 0, 0, }; - -void tst_QScriptValue::toUInt32_makeData(const char* expr) -{ - static QHash toUInt32; - if (toUInt32.isEmpty()) { - toUInt32.reserve(142); - for (unsigned i = 0; i < 142; ++i) - toUInt32.insert(toUInt32_tagArray[i], toUInt32_valueArray[i]); - } - newRow(expr) << toUInt32.value(expr); -} - -void tst_QScriptValue::toUInt32_test(const char*, const QScriptValue& value) -{ - QFETCH(quint32, expected); - QCOMPARE(value.toUInt32(), expected); - QCOMPARE(value.toUInt32(), expected); -} - -DEFINE_TEST_FUNCTION(toUInt32) - - -void tst_QScriptValue::toUInt16_initData() -{ - QTest::addColumn("expected"); - initScriptValues(); -} - -static QString toUInt16_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(\"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->newVariant(QVariant())", - "engine->newVariant(QVariant(123))", - "engine->newVariant(QVariant(false))", - "engine->newQObject(0)", - "engine->newQObject(engine)",}; - -static quint16 toUInt16_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, 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, - 123, 0, - 0, 0, }; - -void tst_QScriptValue::toUInt16_makeData(const char* expr) -{ - static QHash toUInt16; - if (toUInt16.isEmpty()) { - toUInt16.reserve(142); - for (unsigned i = 0; i < 142; ++i) - toUInt16.insert(toUInt16_tagArray[i], toUInt16_valueArray[i]); - } - newRow(expr) << toUInt16.value(expr); -} - -void tst_QScriptValue::toUInt16_test(const char*, const QScriptValue& value) -{ - QFETCH(quint16, expected); - QCOMPARE(value.toUInt16(), expected); - QCOMPARE(value.toUInt16(), expected); -} - -DEFINE_TEST_FUNCTION(toUInt16) diff --git a/tests/auto/qscriptvaluegenerated/.gitignore b/tests/auto/qscriptvaluegenerated/.gitignore new file mode 100644 index 0000000..f724cb9 --- /dev/null +++ b/tests/auto/qscriptvaluegenerated/.gitignore @@ -0,0 +1 @@ +tst_qscriptvalue diff --git a/tests/auto/qscriptvaluegenerated/qscriptvaluegenerated.pro b/tests/auto/qscriptvaluegenerated/qscriptvaluegenerated.pro new file mode 100644 index 0000000..c3e9912 --- /dev/null +++ b/tests/auto/qscriptvaluegenerated/qscriptvaluegenerated.pro @@ -0,0 +1,18 @@ +load(qttest_p4) +QT = core gui script +SOURCES += tst_qscriptvalue.cpp +HEADERS += tst_qscriptvalue.h + +# Generated by testgen +SOURCES += \ + tst_qscriptvalue_generated_init.cpp \ + tst_qscriptvalue_generated_cast.cpp \ + tst_qscriptvalue_generated_comparison.cpp \ + tst_qscriptvalue_generated_isXXX.cpp \ + tst_qscriptvalue_generated_toXXX.cpp + +win32-msvc* { + # With -O2, MSVC takes up to 24 minutes to compile this test! + QMAKE_CXXFLAGS_RELEASE -= -O1 -O2 + QMAKE_CXXFLAGS_RELEASE += -Od +} diff --git a/tests/auto/qscriptvaluegenerated/testgen/data.txt b/tests/auto/qscriptvaluegenerated/testgen/data.txt new file mode 100644 index 0000000..73677ec --- /dev/null +++ b/tests/auto/qscriptvaluegenerated/testgen/data.txt @@ -0,0 +1,161 @@ +# Data set for QScriptValue autotest. + +# Each line is a c++ code that should return a QScriptValue object. +# Lines that are empty or start with '#' will be ignored + +QScriptValue() + +#Unbound values +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(QString::fromUtf8("ąśćżźółńę")) + +#Unbound values (bound to a null engine) +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(0, QString::fromUtf8("ąśćżźółńę")) + +#Bound values +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")) + +# evaluate +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("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->evaluate(QString::fromUtf8("'ąśćżźółńę'")) + +#other +engine->nullValue() +engine->undefinedValue() +engine->newObject() +engine->newArray() +engine->newArray(10) +engine->newDate(QDateTime()) +engine->newQMetaObject(&QObject::staticMetaObject) +engine->newVariant(QVariant()) +engine->newVariant(QVariant(123)) +engine->newVariant(QVariant(false)) +engine->newQObject(0) +engine->newQObject(engine) \ No newline at end of file diff --git a/tests/auto/qscriptvaluegenerated/testgen/gen.py b/tests/auto/qscriptvaluegenerated/testgen/gen.py new file mode 100755 index 0000000..6e48f46 --- /dev/null +++ b/tests/auto/qscriptvaluegenerated/testgen/gen.py @@ -0,0 +1,241 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +#Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) + +## $QT_BEGIN_LICENSE:LGPL$ +## No Commercial Usage +## This file contains pre-release code and may not be distributed. +## You may use this file in accordance with the terms and conditions +## contained in the Technology Preview License Agreement accompanying +## this package. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 as published by the Free Software +## Foundation and appearing in the file LICENSE.LGPL included in the +## packaging of this file. Please review the following information to +## ensure the GNU Lesser General Public License version 2.1 requirements +## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## In addition, as a special exception, Nokia gives you certain additional +## rights. These rights are described in the Nokia Qt LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## If you have questions regarding the use of this file, please contact +## Nokia at qt-info@nokia.com. +## +## +## +## +## +## +## +## +## $QT_END_LICENSE$ + +from __future__ import with_statement +from string import Template + +class Options(): + """Option manager. It parse and check all paramteres, set internal variables.""" + def __init__(self, args): + import logging as log + log.basicConfig() + #comand line options parser + from optparse import OptionParser + #load some directory searching stuff + import os.path, sys + + opt = OptionParser("%prog [options] path_to_input_file path_to_output_file.") + + self._o, self._a = opt.parse_args(args) + + try: + if not (os.path.exists(self._a[0])): + raise Exception("Path doesn't exist") + if len(self._a) != 2: + raise IndexError("Only two files!") + self._o.ipath = self._a[0] + self._o.opath = self._a[1] + except IndexError: + log.error("Bad usage. Please try -h or --help") + sys.exit(1) + except Exception: + log.error("Path '" + self._a[0] + " or " + self._a[1] + "' don't exist") + sys.exit(2) + + def __getattr__(self, attr): + """map all options properties into this object (remove one level of indirection)""" + return getattr(self._o, attr) + + +mainTempl = Template("""/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +//////////////////////////////////////////////////////////////// +// THIS FILE IS AUTOGENERATED, ALL MODIFICATIONS WILL BE LAST // +//////////////////////////////////////////////////////////////// + +#include "testgenerator.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + + +typedef bool (QScriptValue::*ComparisionType) (const QScriptValue&) const; +static QVector compare(ComparisionType compare, QScriptValue value, const QScriptValueList& values) { + QVector result; + result.reserve(${count}); + + QScriptValueList::const_iterator i = values.constBegin(); + for (; i != values.constEnd(); ++i) { + result << (value.*compare)(*i); + } + return result; +} + +static void dump(QDataStream& out, QScriptValue& value, const QString& expression, const QScriptValueList& allValues) +{ + out << QString(expression); + + out << value.isValid(); + out << value.isBool(); + out << value.isBoolean(); + out << value.isNumber(); + out << value.isFunction(); + out << value.isNull(); + out << value.isString(); + out << value.isUndefined(); + out << value.isVariant(); + out << value.isQObject(); + out << value.isQMetaObject(); + out << value.isObject(); + out << value.isDate(); + out << value.isRegExp(); + out << value.isArray(); + out << value.isError(); + + out << value.toString(); + out << value.toNumber(); + out << value.toBool(); + out << value.toBoolean(); + out << value.toInteger(); + out << value.toInt32(); + out << value.toUInt32(); + out << value.toUInt16(); + + out << compare(&QScriptValue::equals, value, allValues); + out << compare(&QScriptValue::strictlyEquals, value, allValues); + out << compare(&QScriptValue::lessThan, value, allValues); + out << compare(&QScriptValue::instanceOf, value, allValues); + + out << qscriptvalue_cast(value); + out << qscriptvalue_cast(value); + out << qscriptvalue_cast(value); + out << qscriptvalue_cast(value); + out << qscriptvalue_cast(value); + out << qscriptvalue_cast(value); +} + +void TestGenerator::prepareData() +{ + QScriptEngine* engine = new QScriptEngine; + + QScriptValueList allValues; + allValues << ${values}; + QVector allDataTags; + allDataTags.reserve(${count}); + allDataTags << ${dataTags}; + QDataStream out(&m_tempFile); + out << allDataTags; + + for(unsigned i = 0; i < ${count}; ++i) + dump(out, allValues[i], allDataTags[i], allValues); + + delete engine; +} +""") +qsvTempl = Template(""" + { + QScriptValue value = ${expr}; + dump(out, value, "${expr_esc}", allValues); + }""") + + + +if __name__ == '__main__': + import sys + o = Options(sys.argv[1:]) + out = [] + qsv = [] + # load input file + with open(o.ipath) as f: + for row in f.readlines(): + qsv.append(row) + + #skip comments and empty lines + qsv = filter(lambda w: len(w.strip()) and not w.startswith('#'), qsv) + + escape = lambda w: w.replace('\\','\\\\').replace('"','\\"') + + for row in qsv: + row = row.replace('\n','') + row_esc = escape(row) + out.append(qsvTempl.substitute(expr = row, expr_esc = row_esc)) + + result = mainTempl.safe_substitute(dump= "".join(out) \ + , values = (11 * ' ' + '<< ').join(qsv) \ + , count = len(qsv) \ + , dataTags = (11 * ' ' + '<< ').join(map(lambda w: '"' + escape(w.replace('\n','')) + '"\n', qsv))) + + with open(o.opath, 'w') as f: + f.write(result) + + diff --git a/tests/auto/qscriptvaluegenerated/testgen/main.cpp b/tests/auto/qscriptvaluegenerated/testgen/main.cpp new file mode 100644 index 0000000..0672635 --- /dev/null +++ b/tests/auto/qscriptvaluegenerated/testgen/main.cpp @@ -0,0 +1,62 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "testgenerator.h" +#include +#include +#include +#include + +int main(int argc, char *argv[]) +{ + QCoreApplication a(argc, argv); + + if (argc != 2) { + qWarning() << "./prog outputdir"; + exit(1); + } + + //Procced + TestGenerator gen(a.arguments()[1]); + gen.run(); + + return 0; +} diff --git a/tests/auto/qscriptvaluegenerated/testgen/testgen.pro b/tests/auto/qscriptvaluegenerated/testgen/testgen.pro new file mode 100644 index 0000000..47709a8 --- /dev/null +++ b/tests/auto/qscriptvaluegenerated/testgen/testgen.pro @@ -0,0 +1,18 @@ +QT += core script +TARGET = testgen +CONFIG += console +CONFIG -= app_bundle +TEMPLATE = app + +SOURCES += main.cpp \ + testgenerator.cpp +HEADERS += testgenerator.h + + +INPUT_DATASET = data.txt +dataset.name = Generating QScraiptValue autotest's dataset +dataset.output = autogenerated.cpp +dataset.commands = python gen.py data.txt autogenerated.cpp +dataset.input = INPUT_DATASET +dataset.variable_out = SOURCES +QMAKE_EXTRA_COMPILERS += dataset diff --git a/tests/auto/qscriptvaluegenerated/testgen/testgenerator.cpp b/tests/auto/qscriptvaluegenerated/testgen/testgenerator.cpp new file mode 100644 index 0000000..9d7d33d --- /dev/null +++ b/tests/auto/qscriptvaluegenerated/testgen/testgenerator.cpp @@ -0,0 +1,794 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "testgenerator.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +void TestGenerator::save(const QHash& data) +{ + foreach(const QString& name, data.keys()) { + QFile ofile(m_opath + "tst_qscriptvalue_generated_" + name + ".cpp"); + if (!ofile.open(QIODevice::WriteOnly | QIODevice::Text)) { + qWarning() << "Can't open output file: " << ofile.fileName(); + exit(2); + } + QTextStream out(&ofile); + out << data[name]; + } +} + +static QString escape(QString txt) +{ + return txt.replace("\\","\\\\").replace("\"","\\\"").replace("\n","\\n"); +} + +template +QString prepareToInsert(T value) {return QString::fromAscii("\"") + escape(value) + "\"";} +template<> +QString prepareToInsert(qsreal value) +{ + if (qIsNaN(value)) + return "qQNaN()"; + if (qIsInf(value)) + return "qInf()"; + return QString::number(value, 'g', 16); +} +template<> +QString prepareToInsert(qint32 value) {return QString::number(value);} +template<> +QString prepareToInsert(quint32 value) {return QString::number(value);} +template<> +QString prepareToInsert(quint16 value) {return QString::number(value);} +template<> +QString prepareToInsert(bool value) {return value ? "true" : "false";} +template<> +QString prepareToInsert(QString value) {return QString::fromAscii("\"") + escape(value) + "\"";} + +template +QString typeName() {return QString();} +template<> +QString typeName() {return "qsreal";} +template<> +QString typeName() {return "qint32";} +template<> +QString typeName() {return "quint32";} +template<> +QString typeName() {return "quint16";} +template<> +QString typeName() {return "bool";} +template<> +QString typeName() {return "QString";} + +static QString generateLicence() +{ + return "/****************************************************************************\n" + "**\n" + "** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).\n" + "** All rights reserved.\n" + "** Contact: Nokia Corporation (qt-info@nokia.com)\n" + "**\n" + "** This file is part of the test suite of the Qt Toolkit.\n" + "**\n" + "** $QT_BEGIN_LICENSE:LGPL$\n" + "** No Commercial Usage\n" + "** This file contains pre-release code and may not be distributed.\n" + "** You may use this file in accordance with the terms and conditions\n" + "** contained in the Technology Preview License Agreement accompanying\n" + "** this package.\n" + "**\n" + "** GNU Lesser General Public License Usage\n" + "** Alternatively, this file may be used under the terms of the GNU Lesser\n" + "** General Public License version 2.1 as published by the Free Software\n" + "** Foundation and appearing in the file LICENSE.LGPL included in the\n" + "** packaging of this file. Please review the following information to\n" + "** ensure the GNU Lesser General Public License version 2.1 requirements\n" + "** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.\n" + "**\n" + "** In addition, as a special exception, Nokia gives you certain additional\n" + "** rights. These rights are described in the Nokia Qt LGPL Exception\n" + "** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.\n" + "**\n" + "** If you have questions regarding the use of this file, please contact\n" + "** Nokia at qt-info@nokia.com.\n" + "**\n" + "**\n" + "**\n" + "**\n" + "**\n" + "**\n" + "**\n" + "**\n" + "** $QT_END_LICENSE$\n" + "**\n" + "****************************************************************************/\n" + "\n"\ + "/****************************************************************************\n"\ + "*************** This file has been generated. DO NOT MODIFY! ****************\n" + "****************************************************************************/\n\n"\ + "#include \"tst_qscriptvalue.h\"\n\n"; +} + +static QString generateIsXXXDef(const QString& name, const QList& list) +{ + static const QString templ("void tst_QScriptValue::%1_initData()\n"\ + "{\n"\ + " QTest::addColumn(\"expected\");\n"\ + " initScriptValues();\n"\ + "}\n"\ + "\n"\ + "static QString %1_array[] = {%2};\n\n"\ + "void tst_QScriptValue::%1_makeData(const char* expr)\n"\ + "{\n"\ + " static QSet %1;\n"\ + " if (%1.isEmpty()) {\n"\ + " %1.reserve(%3);\n"\ + " for (unsigned i = 0; i < %3; ++i)\n"\ + " %1.insert(%1_array[i]);\n"\ + " }\n"\ + " newRow(expr) << %1.contains(expr);\n"\ + "}\n"\ + "\n"\ + "void tst_QScriptValue::%1_test(const char*, const QScriptValue& value)\n"\ + "{\n"\ + " QFETCH(bool, expected);\n"\ + " QCOMPARE(value.%1(), expected);\n"\ + " QCOMPARE(value.%1(), expected);\n"\ + "}\n"\ + "\n"\ + "DEFINE_TEST_FUNCTION(%1)\n"\ + "\n"); + + if (!list.size()) { + qWarning() << name << ": nothing to add!" ; + return QString(); + } + + QString result = templ; + QStringList set; + set.reserve(3 * list.count()); + foreach(const QString& t, list) { + if (!set.isEmpty()) + set.append("\","); + set.append("\n \""); + set.append(escape(t)); + set.append("\""); + } + + return result.arg(name, set.join(QString()), QString::number(list.count())); +} + +template +static QString generateToXXXDef(const QString& name, const QList >& list) +{ + static const QString templ = "\n"\ + "void tst_QScriptValue::%1_initData()\n"\ + "{\n"\ + " QTest::addColumn<%2>(\"expected\");\n"\ + " initScriptValues();\n"\ + "}\n"\ + "\n"\ + "static QString %1_tagArray[] = {%4};\n\n"\ + "static %2 %1_valueArray[] = {%5};\n\n"\ + "void tst_QScriptValue::%1_makeData(const char* expr)\n"\ + "{\n"\ + " static QHash %1;\n"\ + " if (%1.isEmpty()) {\n"\ + " %1.reserve(%3);\n"\ + " for (unsigned i = 0; i < %3; ++i)\n"\ + " %1.insert(%1_tagArray[i], %1_valueArray[i]);\n"\ + " }\n"\ + " newRow(expr) << %1.value(expr);\n"\ + "}\n"\ + "\n"\ + "void tst_QScriptValue::%1_test(const char*, const QScriptValue& value)\n"\ + "{\n"\ + " QFETCH(%2, expected);\n"\ + " QCOMPARE(value.%1(), expected);\n"\ + " QCOMPARE(value.%1(), expected);\n"\ + "}\n"\ + "\n"\ + "DEFINE_TEST_FUNCTION(%1)\n"; + QString result = templ; + + typename QList >::const_iterator i = list.constBegin(); + QStringList tagSet, valueSet; + tagSet.reserve(4 * list.count()); + valueSet.reserve(3 * list.count()); + for(int lineBreaker = 0; i != list.constEnd(); ++i) { + QPair t = *i; + t.first = escape(t.first); + if (!valueSet.isEmpty()) { + valueSet.append(QString(",")); + tagSet.append(QString::fromAscii(",")); + } + tagSet.append(QString("\n \"")); + tagSet.append(t.first); + tagSet.append(QString::fromAscii("\"")); + if (!((lineBreaker++)%2)) + valueSet.append(QString("\n ")); + else + valueSet.append(QString::fromAscii(" ")); + valueSet.append(prepareToInsert(t.second)); + } + return result.arg(name, + typeName(), + QString::number(list.count()), + tagSet.join(QString()), + valueSet.join(QString())); +} + + +template<> +QString generateToXXXDef(const QString& name, const QList >& list) +{ + static const QString templ = "\n"\ + "void tst_QScriptValue::%1_initData()\n"\ + "{\n"\ + " QTest::addColumn<%2>(\"expected\");\n"\ + " initScriptValues();\n"\ + "}\n"\ + "\n"\ + "static QString %1_tagArray[] = {%3};\n"\ + "static %2 %1_valueArray[] = {%4};\n"\ + "void tst_QScriptValue::%1_makeData(const char* expr)\n"\ + "{\n"\ + " static QHash %1;\n"\ + " if (%1.isEmpty()) {\n"\ + " %1.reserve(%5);\n"\ + " for (unsigned i = 0; i < %5; ++i)\n"\ + " %1.insert(%1_tagArray[i], %1_valueArray[i]);\n"\ + " }\n"\ + " newRow(expr) << %1.value(expr);\n"\ + "}\n"\ + "\n"\ + "void tst_QScriptValue::%1_test(const char*, const QScriptValue& value)\n"\ + "{\n"\ + " QFETCH(%2, expected);\n"\ + "%666" + " if (qIsInf(expected)) {\n"\ + " QVERIFY(qIsInf(value.%1()));\n"\ + " QVERIFY(qIsInf(value.%1()));\n"\ + " return;\n"\ + " }\n"\ + " QCOMPARE(value.%1(), expected);\n"\ + " QCOMPARE(value.%1(), expected);\n"\ + "}\n"\ + "\n"\ + "DEFINE_TEST_FUNCTION(%1)\n"; + QString result = templ; + + QList >::const_iterator i = list.constBegin(); + QStringList tagSet, valueSet; + tagSet.reserve(4 * list.count()); + valueSet.reserve(3 * list.count()); + for(int lineBreaker = 0; i != list.constEnd(); ++i) { + QPair t = *i; + t.first = escape(t.first); + if (!valueSet.isEmpty()) { + valueSet.append(QString(",")); + tagSet.append(QString::fromAscii(",")); + } + tagSet.append(QString("\n \"")); + tagSet.append(t.first); + tagSet.append(QString::fromAscii("\"")); + if (!((lineBreaker++)%10)) + valueSet.append(QString("\n ")); + else + valueSet.append(QString::fromAscii(" ")); + valueSet.append(prepareToInsert(t.second)); + } + + // toInteger shouldn't return NaN, so it would be nice to catch the case. + QString hook; + if (name == "toNumber") { + hook = + " if (qIsNaN(expected)) {\n"\ + " QVERIFY(qIsNaN(value.toNumber()));\n"\ + " return;\n"\ + " }\n"; + } + return result.arg(name, + typeName(), + tagSet.join(QString()), + valueSet.join(QString()), + QString::number(list.count()), + hook); +} + +template +static QString generateCastDef(const QList >& list) +{ + static const QString templ = "\n"\ + "void tst_QScriptValue::qscriptvalue_cast%1_initData()\n"\ + "{\n"\ + " QTest::addColumn<%1>(\"expected\");\n"\ + " initScriptValues();\n"\ + "}\n"\ + "\n"\ + "static QString qscriptvalue_cast%1_tagArray[] = {%2};\n"\ + "static %1 qscriptvalue_cast%1_valueArray[] = {%3};\n"\ + "void tst_QScriptValue::qscriptvalue_cast%1_makeData(const char* expr)\n"\ + "{\n"\ + " static QHash value;\n"\ + " if (value.isEmpty()) {\n"\ + " value.reserve(%4);\n"\ + " for (unsigned i = 0; i < %4; ++i)\n"\ + " value.insert(qscriptvalue_cast%1_tagArray[i], qscriptvalue_cast%1_valueArray[i]);\n"\ + " }\n"\ + " newRow(expr) << value.value(expr);\n"\ + "}\n"\ + "\n"\ + "void tst_QScriptValue::qscriptvalue_cast%1_test(const char*, const QScriptValue& value)\n"\ + "{\n"\ + " QFETCH(%1, expected);\n"\ + " QCOMPARE(qscriptvalue_cast<%1>(value), expected);\n"\ + " QCOMPARE(qscriptvalue_cast<%1>(value), expected);\n"\ + "}\n"\ + "\n"\ + "DEFINE_TEST_FUNCTION(qscriptvalue_cast%1)\n"; + QString result = templ; + + typename QList >::const_iterator i = list.constBegin(); + QStringList tagSet, valueSet; + tagSet.reserve(4 * list.count()); + valueSet.reserve(3 * list.count()); + for(int lineBreaker = 0; i != list.constEnd(); ++i) { + QPair t = *i; + t.first = escape(t.first); + if (!valueSet.isEmpty()) { + valueSet.append(QString(",")); + tagSet.append(QString::fromAscii(",")); + } + tagSet.append(QString("\n \"")); + tagSet.append(t.first); + tagSet.append(QString::fromAscii("\"")); + if (!((lineBreaker++)%2)) + valueSet.append(QString("\n ")); + else + valueSet.append(QString::fromAscii(" ")); + valueSet.append(prepareToInsert(t.second)); + } + return result.arg(typeName(), tagSet.join(QString()), valueSet.join(QString()), QString::number(list.count())); +} + +template<> +QString generateCastDef(const QList >& list) +{ + static const QString templ = "\n"\ + "void tst_QScriptValue::qscriptvalue_cast%1_initData()\n"\ + "{\n"\ + " QTest::addColumn<%1>(\"expected\");\n"\ + " initScriptValues();\n"\ + "}\n"\ + "\n"\ + "static QString qscriptvalue_cast%1_tagArray[] = {%2};\n"\ + "static %1 qscriptvalue_cast%1_valueArray[] = {%3};\n"\ + "void tst_QScriptValue::qscriptvalue_cast%1_makeData(const char* expr)\n"\ + "{\n"\ + " static QHash value;\n"\ + " if (value.isEmpty()) {\n"\ + " value.reserve(%4);\n"\ + " for (unsigned i = 0; i < %4; ++i)\n"\ + " value.insert(qscriptvalue_cast%1_tagArray[i], qscriptvalue_cast%1_valueArray[i]);\n"\ + " }\n"\ + " newRow(expr) << value.value(expr);\n"\ + "}\n"\ + "\n"\ + "void tst_QScriptValue::qscriptvalue_cast%1_test(const char*, const QScriptValue& value)\n"\ + "{\n"\ + " QFETCH(%1, expected);\n"\ + " if (qIsNaN(expected)) {\n" + " QVERIFY(qIsNaN(qscriptvalue_cast<%1>(value)));\n" + " QVERIFY(qIsNaN(qscriptvalue_cast<%1>(value)));\n" + " return;\n" + " }\n"\ + " if (qIsInf(expected)) {\n" + " QVERIFY(qIsInf(qscriptvalue_cast<%1>(value)));\n" + " QVERIFY(qIsInf(qscriptvalue_cast<%1>(value)));\n" + " return;\n" + " }\n" + " QCOMPARE(qscriptvalue_cast<%1>(value), expected);\n"\ + " QCOMPARE(qscriptvalue_cast<%1>(value), expected);\n"\ + "}\n"\ + "\n"\ + "DEFINE_TEST_FUNCTION(qscriptvalue_cast%1)\n"; + QString result = templ; + + QList >::const_iterator i = list.constBegin(); + QStringList tagSet, valueSet; + tagSet.reserve(4 * list.count()); + valueSet.reserve(3 * list.count()); + for(int lineBreaker = 0; i != list.constEnd(); ++i) { + QPair t = *i; + t.first = escape(t.first); + if (!valueSet.isEmpty()) { + valueSet.append(QString(",")); + tagSet.append(QString::fromAscii(",")); + } + tagSet.append(QString("\n \"")); + tagSet.append(t.first); + tagSet.append(QString::fromAscii("\"")); + if (!((lineBreaker++)%10)) + valueSet.append(QString("\n ")); + else + valueSet.append(QString::fromAscii(" ")); + valueSet.append(prepareToInsert(t.second)); + } + return result.arg(typeName(), + tagSet.join(QString()), + valueSet.join(QString()), + QString::number(list.count())); +} + +static QString generateCompareDef(const QString& comparisionType, const QList tags) +{ + static const QString templ = "\n"\ + "void tst_QScriptValue::%1_initData()\n"\ + "{\n"\ + " QTest::addColumn(\"other\");\n"\ + " QTest::addColumn(\"expected\");\n"\ + " initScriptValues();\n"\ + "}\n"\ + "\n"\ + "static QString %1_array[] = {%2};\n\n"\ + "void tst_QScriptValue::%1_makeData(const char *expr)\n"\ + "{\n"\ + " static QSet equals;\n"\ + " if (equals.isEmpty()) {\n"\ + " equals.reserve(%3);\n"\ + " for (unsigned i = 0; i < %3; ++i)\n"\ + " equals.insert(%1_array[i]);\n"\ + " }\n"\ + " QHash::const_iterator it;\n"\ + " for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) {\n"\ + " QString tag = QString::fromLatin1(\"%20 <=> %21\").arg(expr).arg(it.key());\n"\ + " newRow(tag.toLatin1()) << it.value() << equals.contains(tag);\n"\ + " }\n"\ + "}\n"\ + "\n"\ + "void tst_QScriptValue::%1_test(const char *, const QScriptValue& value)\n"\ + "{\n"\ + " QFETCH(QScriptValue, other);\n"\ + " QFETCH(bool, expected);\n"\ + " QCOMPARE(value.%1(other), expected);\n"\ + "}\n"\ + "\n"\ + "DEFINE_TEST_FUNCTION(%1)\n"; + Q_ASSERT(comparisionType == "strictlyEquals" + || comparisionType == "equals" + || comparisionType == "lessThan" + || comparisionType == "instanceOf"); + QString result = templ; + + QStringList set; + set.reserve(4 * tags.count()); + foreach(const QString& tmp, tags) { + if (!set.isEmpty()) + set.append(","); + set.append("\n \""); + set.append(escape(tmp)); + set.append("\""); + } + return result.arg(comparisionType, set.join(""), QString::number(tags.count())); +} + +static QString generateInitDef(const QVector& allDataTags) +{ + static const QString templ = "void tst_QScriptValue::initScriptValues()\n"\ + "{\n"\ + " m_values.clear();\n"\ + " if (engine)\n"\ + " delete engine;\n"\ + " engine = new QScriptEngine;\n"\ + "%1\n}\n\n"; + QString result = templ; + QStringList set; + foreach(const QString tag, allDataTags) { + set.append(" DEFINE_TEST_VALUE(" + tag + ");"); + } + + return result.arg(set.join("\n")); +} + +static void squashTags(QString dataTag, const QVector& results, QList& tags, QVector dataTags) +{ + for(int i = 0; i < results.count(); ++i) { + if (results.at(i)) + tags.append(dataTag + " <=> " + dataTags[i]); + } +} + + +QHash TestGenerator::generateTest() +{ + // All data tags keept in one place. + QVector dataTags; + + // Data tags for values that return true in isXXX call + QList isValidList; + QList isBoolList; + QList isBooleanList; + QList isNumberList; + QList isFunctionList; + QList isNullList; + QList isStringList; + QList isUndefinedList; + QList isVariantList; + QList isQObjectList; + QList isQMetaObjectList; + QList isObjectList; + QList isDateList; + QList isRegExpList; + QList isArrayList; + QList isErrorList; + + // List of pairs data tag and value returned from toXXX call + QList > toStringList; + QList > toNumberList; + QList > toBoolList; + QList > toBooleanList; + QList > toIntegerList; + QList > toInt32List; + QList > toUInt32List; + QList > toUInt16List; + + // List of complex tags returning true + QList equalsList; + QList strictlyEqualsList; + QList lessThanList; + QList instanceOfList; + + QList > castStringList; + QList > castSRealList; + QList > castBoolList; + QList > castInt32List; + QList > castUInt32List; + QList > castUInt16List; + + // Load. + m_tempFile.seek(0); + QDataStream in(&m_tempFile); + in >> dataTags; + Q_ASSERT(in.status() == in.Ok); + + while(!in.atEnd()) + { + bool isValidRes; + bool isBoolRes; + bool isBooleanRes; + bool isNumberRes; + bool isFunctionRes; + bool isNullRes; + bool isStringRes; + bool isUndefinedRes; + bool isVariantRes; + bool isQObjectRes; + bool isQMetaObjectRes; + bool isObjectRes; + bool isDateRes; + bool isRegExpRes; + bool isArrayRes; + bool isErrorRes; + + QString toStringRes; + qsreal toNumberRes; + bool toBoolRes; + bool toBooleanRes; + qsreal toIntegerRes; + qint32 toInt32Res; + quint32 toUInt32Res; + quint16 toUInt16Res; + //toVariantRes; + //toDateTimeRes; + + QVector equalsRes; + QVector strictlyEqualsRes; + QVector lessThanRes; + QVector instanceOfRes; + + QString castStringRes; + qsreal castSRealRes; + bool castBoolRes; + qint32 castInt32Res; + quint32 castUInt32Res; + quint16 castUInt16Res; + + QString dataTag; + in >> dataTag; + in >> isValidRes; + in >> isBoolRes; + in >> isBooleanRes; + in >> isNumberRes; + in >> isFunctionRes; + in >> isNullRes; + in >> isStringRes; + in >> isUndefinedRes; + in >> isVariantRes; + in >> isQObjectRes; + in >> isQMetaObjectRes; + in >> isObjectRes; + in >> isDateRes; + in >> isRegExpRes; + in >> isArrayRes; + in >> isErrorRes; + + if (isValidRes) isValidList.append(dataTag); + if (isBoolRes) isBoolList.append(dataTag); + if (isBooleanRes) isBooleanList.append(dataTag); + if (isNumberRes) isNumberList.append(dataTag); + if (isFunctionRes) isFunctionList.append(dataTag); + if (isNullRes) isNullList.append(dataTag); + if (isStringRes) isStringList.append(dataTag); + if (isUndefinedRes) isUndefinedList.append(dataTag); + if (isVariantRes) isVariantList.append(dataTag); + if (isQObjectRes) isQObjectList.append(dataTag); + if (isQMetaObjectRes) isQMetaObjectList.append(dataTag); + if (isObjectRes) isObjectList.append(dataTag); + if (isDateRes) isDateList.append(dataTag); + if (isRegExpRes) isRegExpList.append(dataTag); + if (isArrayRes) isArrayList.append(dataTag); + if (isErrorRes) isErrorList.append(dataTag); + + in >> toStringRes; + in >> toNumberRes; + in >> toBoolRes; + in >> toBooleanRes; + in >> toIntegerRes; + in >> toInt32Res; + in >> toUInt32Res; + in >> toUInt16Res; + //in >> toVariantRes; + //in >> toDateTimeRes; + + toStringList.append(QPair(dataTag, toStringRes)); + toNumberList.append(QPair(dataTag, toNumberRes)); + toBoolList.append(QPair(dataTag, toBoolRes)); + toBooleanList.append(QPair(dataTag, toBooleanRes)); + toIntegerList.append(QPair(dataTag, toIntegerRes)); + toInt32List.append(QPair(dataTag, toInt32Res)); + toUInt32List.append(QPair(dataTag, toUInt32Res)); + toUInt16List.append(QPair(dataTag, toUInt16Res)); + + in >> equalsRes; + in >> strictlyEqualsRes; + in >> lessThanRes; + in >> instanceOfRes; + + squashTags(dataTag, equalsRes, equalsList, dataTags); + squashTags(dataTag, strictlyEqualsRes, strictlyEqualsList, dataTags); + squashTags(dataTag, lessThanRes, lessThanList, dataTags); + squashTags(dataTag, instanceOfRes, instanceOfList, dataTags); + + in >> castStringRes; + in >> castSRealRes; + in >> castBoolRes; + in >> castInt32Res; + in >> castUInt32Res; + in >> castUInt16Res; + + castStringList.append(QPair(dataTag, castStringRes)); + castSRealList.append(QPair(dataTag, castSRealRes)); + castBoolList.append(QPair(dataTag, castBoolRes)); + castInt32List.append(QPair(dataTag, castInt32Res)); + castUInt32List.append(QPair(dataTag, castUInt32Res)); + castUInt16List.append(QPair(dataTag, castUInt16Res)); + + Q_ASSERT(in.status() == in.Ok); + } + + Q_ASSERT(in.atEnd()); + + // Generate. + QHash result; + QStringList tmp; + tmp.append(generateLicence()); + tmp.append(generateInitDef(dataTags)); + result.insert("init", tmp.join("\n")); + tmp.clear(); + + tmp.append(generateLicence()); + tmp.append(generateIsXXXDef("isValid", isValidList)); + tmp.append(generateIsXXXDef("isBool", isBoolList)); + tmp.append(generateIsXXXDef("isBoolean", isBooleanList)); + tmp.append(generateIsXXXDef("isNumber", isNumberList)); + tmp.append(generateIsXXXDef("isFunction", isFunctionList)); + tmp.append(generateIsXXXDef("isNull", isNullList)); + tmp.append(generateIsXXXDef("isString", isStringList)); + tmp.append(generateIsXXXDef("isUndefined", isUndefinedList)); + tmp.append(generateIsXXXDef("isVariant", isVariantList)); + tmp.append(generateIsXXXDef("isQObject", isQObjectList)); + tmp.append(generateIsXXXDef("isQMetaObject", isQMetaObjectList)); + tmp.append(generateIsXXXDef("isObject", isObjectList)); + tmp.append(generateIsXXXDef("isDate", isDateList)); + tmp.append(generateIsXXXDef("isRegExp", isRegExpList)); + tmp.append(generateIsXXXDef("isArray", isArrayList)); + tmp.append(generateIsXXXDef("isError", isErrorList)); + result.insert("isXXX", tmp.join("\n")); + tmp.clear(); + + tmp.append(generateLicence()); + tmp.append(generateToXXXDef("toString", toStringList)); + tmp.append(generateToXXXDef("toNumber", toNumberList)); + tmp.append(generateToXXXDef("toBool", toBoolList)); + tmp.append(generateToXXXDef("toBoolean", toBooleanList)); + tmp.append(generateToXXXDef("toInteger", toIntegerList)); + tmp.append(generateToXXXDef("toInt32", toInt32List)); + tmp.append(generateToXXXDef("toUInt32", toUInt32List)); + tmp.append(generateToXXXDef("toUInt16", toUInt16List)); + result.insert("toXXX", tmp.join("\n")); + tmp.clear(); + + tmp.append(generateLicence()); + tmp.append(generateCompareDef("equals", equalsList)); + tmp.append(generateCompareDef("strictlyEquals", strictlyEqualsList)); + tmp.append(generateCompareDef("lessThan", lessThanList)); + tmp.append(generateCompareDef("instanceOf", instanceOfList)); + result.insert("comparison", tmp.join("\n")); + tmp.clear(); + + tmp.append(generateLicence()); + tmp.append(generateCastDef(castStringList)); + tmp.append(generateCastDef(castSRealList)); + tmp.append(generateCastDef(castBoolList)); + tmp.append(generateCastDef(castInt32List)); + tmp.append(generateCastDef(castUInt32List)); + tmp.append(generateCastDef(castUInt16List)); + result.insert("cast", tmp.join("\n")); + + return result; +} + + + + + + + + + diff --git a/tests/auto/qscriptvaluegenerated/testgen/testgenerator.h b/tests/auto/qscriptvaluegenerated/testgen/testgenerator.h new file mode 100644 index 0000000..1c61fc5 --- /dev/null +++ b/tests/auto/qscriptvaluegenerated/testgen/testgenerator.h @@ -0,0 +1,74 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef TESTGENERATOR_H +#define TESTGENERATOR_H + +#include +#include +#include + +class TestGenerator { +public: + TestGenerator(QString& outputpath) + : m_opath(outputpath) + { + if (!m_opath.endsWith('/')) + m_opath.append('/'); + m_tempFile.open(); + } + + void run() + { + prepareData(); + Q_ASSERT(m_tempFile.size()); + save(generateTest()); + } + + void prepareData(); + QHash generateTest(); + void save(const QHash& data); +private: + QString m_opath; + QTemporaryFile m_tempFile; +}; + +#endif // TESTGENERATOR_H diff --git a/tests/auto/qscriptvaluegenerated/tst_qscriptvalue.cpp b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue.cpp new file mode 100644 index 0000000..3856a6d --- /dev/null +++ b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue.cpp @@ -0,0 +1,116 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "tst_qscriptvalue.h" +#include + +//TESTED_CLASS= +//TESTED_FILES= + +QT_BEGIN_NAMESPACE +extern bool qt_script_isJITEnabled(); +QT_END_NAMESPACE + +tst_QScriptValue::tst_QScriptValue() + : engine(0) +{ +} + +tst_QScriptValue::~tst_QScriptValue() +{ + delete engine; +} + +void tst_QScriptValue::dataHelper(InitDataFunction init, DefineDataFunction define) +{ + QTest::addColumn("__expression__"); + (this->*init)(); + QHash::const_iterator it; + for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) { + m_currentExpression = it.key(); + (this->*define)(it.key().toLatin1()); + } + m_currentExpression = QString(); +} + +QTestData &tst_QScriptValue::newRow(const char *tag) +{ + return QTest::newRow(tag) << m_currentExpression; +} + +void tst_QScriptValue::testHelper(TestFunction fun) +{ + QFETCH(QString, __expression__); + QScriptValue value = m_values.value(__expression__); + (this->*fun)(__expression__.toLatin1(), value); +} + +void tst_QScriptValue::assignAndCopyConstruct_initData() +{ + QTest::addColumn("dummy"); + initScriptValues(); +} + +void tst_QScriptValue::assignAndCopyConstruct_makeData(const char *expr) +{ + newRow(expr) << 0; +} + +void tst_QScriptValue::assignAndCopyConstruct_test(const char *, const QScriptValue &value) +{ + QScriptValue copy(value); + QCOMPARE(copy.strictlyEquals(value), !value.isNumber() || !qIsNaN(value.toNumber())); + QCOMPARE(copy.engine(), value.engine()); + + QScriptValue assigned = copy; + QCOMPARE(assigned.strictlyEquals(value), !copy.isNumber() || !qIsNaN(copy.toNumber())); + QCOMPARE(assigned.engine(), assigned.engine()); + + QScriptValue other(!value.toBool()); + assigned = other; + QVERIFY(!assigned.strictlyEquals(copy)); + QVERIFY(assigned.strictlyEquals(other)); + QCOMPARE(assigned.engine(), other.engine()); +} + +DEFINE_TEST_FUNCTION(assignAndCopyConstruct) + +QTEST_MAIN(tst_QScriptValue) diff --git a/tests/auto/qscriptvaluegenerated/tst_qscriptvalue.h b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue.h new file mode 100644 index 0000000..50ab878 --- /dev/null +++ b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue.h @@ -0,0 +1,370 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef TST_QSCRIPTVALUE_H +#define TST_QSCRIPTVALUE_H + +#include +#include +#include +#include +#include +#include + +#define DEFINE_TEST_VALUE(expr) m_values.insert(QString::fromLatin1(#expr), expr) + +Q_DECLARE_METATYPE(QVariant) +Q_DECLARE_METATYPE(QScriptValue) + +class tst_QScriptValue : public QObject +{ + Q_OBJECT + +public: + tst_QScriptValue(); + virtual ~tst_QScriptValue(); + +private slots: + // Generated test functions + void isArray_data(); + void isArray(); + + void isBool_data(); + void isBool(); + + void isBoolean_data(); + void isBoolean(); + + void isDate_data(); + void isDate(); + + void isError_data(); + void isError(); + + void isFunction_data(); + void isFunction(); + + void isNull_data(); + void isNull(); + + void isNumber_data(); + void isNumber(); + + void isObject_data(); + void isObject(); + + void isQMetaObject_data(); + void isQMetaObject(); + + void isQObject_data(); + void isQObject(); + + void isRegExp_data(); + void isRegExp(); + + void isString_data(); + void isString(); + + void isUndefined_data(); + void isUndefined(); + + void isValid_data(); + void isValid(); + + void isVariant_data(); + void isVariant(); + + void toBool_data(); + void toBool(); + + void toBoolean_data(); + void toBoolean(); + +// void toDateTime_data(); +// void toDateTime(); + + void toInt32_data(); + void toInt32(); + + void toInteger_data(); + void toInteger(); + + void toNumber_data(); + void toNumber(); + +// void toQMetaObject_data(); +// void toQMetaObject(); + +// void toQObject_data(); +// void toQObject(); + +// void toRegExp_data(); +// void toRegExp(); + + void toString_data(); + void toString(); + + void toUInt16_data(); + void toUInt16(); + + void toUInt32_data(); + void toUInt32(); + +// void toVariant_data(); +// void toVariant(); + + void equals_data(); + void equals(); + + void strictlyEquals_data(); + void strictlyEquals(); + + void lessThan_data(); + void lessThan(); + + void instanceOf_data(); + void instanceOf(); + + void assignAndCopyConstruct_data(); + void assignAndCopyConstruct(); + + void qscriptvalue_castQString_data(); + void qscriptvalue_castQString(); + + void qscriptvalue_castqsreal_data(); + void qscriptvalue_castqsreal(); + + void qscriptvalue_castbool_data(); + void qscriptvalue_castbool(); + + void qscriptvalue_castqint32_data(); + void qscriptvalue_castqint32(); + + void qscriptvalue_castquint32_data(); + void qscriptvalue_castquint32(); + + void qscriptvalue_castquint16_data(); + void qscriptvalue_castquint16(); + +private: + typedef void (tst_QScriptValue::*InitDataFunction)(); + typedef void (tst_QScriptValue::*DefineDataFunction)(const char *); + void dataHelper(InitDataFunction init, DefineDataFunction define); + QTestData &newRow(const char *tag); + + typedef void (tst_QScriptValue::*TestFunction)(const char *, const QScriptValue &); + void testHelper(TestFunction fun); + + // Generated functions + + void initScriptValues(); + + void isArray_initData(); + void isArray_makeData(const char *expr); + void isArray_test(const char *expr, const QScriptValue &value); + + void isBool_initData(); + void isBool_makeData(const char *expr); + void isBool_test(const char *expr, const QScriptValue &value); + + void isBoolean_initData(); + void isBoolean_makeData(const char *expr); + void isBoolean_test(const char *expr, const QScriptValue &value); + + void isDate_initData(); + void isDate_makeData(const char *expr); + void isDate_test(const char *expr, const QScriptValue &value); + + void isError_initData(); + void isError_makeData(const char *expr); + void isError_test(const char *expr, const QScriptValue &value); + + void isFunction_initData(); + void isFunction_makeData(const char *expr); + void isFunction_test(const char *expr, const QScriptValue &value); + + void isNull_initData(); + void isNull_makeData(const char *expr); + void isNull_test(const char *expr, const QScriptValue &value); + + void isNumber_initData(); + void isNumber_makeData(const char *expr); + void isNumber_test(const char *expr, const QScriptValue &value); + + void isObject_initData(); + void isObject_makeData(const char *expr); + void isObject_test(const char *expr, const QScriptValue &value); + + void isQMetaObject_initData(); + void isQMetaObject_makeData(const char *expr); + void isQMetaObject_test(const char *expr, const QScriptValue &value); + + void isQObject_initData(); + void isQObject_makeData(const char *expr); + void isQObject_test(const char *expr, const QScriptValue &value); + + void isRegExp_initData(); + void isRegExp_makeData(const char *expr); + void isRegExp_test(const char *expr, const QScriptValue &value); + + void isString_initData(); + void isString_makeData(const char *expr); + void isString_test(const char *expr, const QScriptValue &value); + + void isUndefined_initData(); + void isUndefined_makeData(const char *expr); + void isUndefined_test(const char *expr, const QScriptValue &value); + + void isValid_initData(); + void isValid_makeData(const char *expr); + void isValid_test(const char *expr, const QScriptValue &value); + + void isVariant_initData(); + void isVariant_makeData(const char *expr); + void isVariant_test(const char *expr, const QScriptValue &value); + + void toBool_initData(); + void toBool_makeData(const char *); + void toBool_test(const char *, const QScriptValue &value); + + void toBoolean_initData(); + void toBoolean_makeData(const char *); + void toBoolean_test(const char *, const QScriptValue &value); + + void toDateTime_initData(); + void toDateTime_makeData(const char *); + void toDateTime_test(const char *, const QScriptValue &value); + + void toInt32_initData(); + void toInt32_makeData(const char *); + void toInt32_test(const char *, const QScriptValue &value); + + void toInteger_initData(); + void toInteger_makeData(const char *); + void toInteger_test(const char *, const QScriptValue &value); + + void toNumber_initData(); + void toNumber_makeData(const char *); + void toNumber_test(const char *, const QScriptValue &value); + + void toQMetaObject_initData(); + void toQMetaObject_makeData(const char *); + void toQMetaObject_test(const char *, const QScriptValue &value); + + void toQObject_initData(); + void toQObject_makeData(const char *); + void toQObject_test(const char *, const QScriptValue &value); + + void toRegExp_initData(); + void toRegExp_makeData(const char *); + void toRegExp_test(const char *, const QScriptValue &value); + + void toString_initData(); + void toString_makeData(const char *); + void toString_test(const char *, const QScriptValue &value); + + void toUInt16_initData(); + void toUInt16_makeData(const char *); + void toUInt16_test(const char *, const QScriptValue &value); + + void toUInt32_initData(); + void toUInt32_makeData(const char *); + void toUInt32_test(const char *, const QScriptValue &value); + + void toVariant_initData(); + void toVariant_makeData(const char *); + void toVariant_test(const char *, const QScriptValue &value); + + void equals_initData(); + void equals_makeData(const char *); + void equals_test(const char *, const QScriptValue &value); + + void strictlyEquals_initData(); + void strictlyEquals_makeData(const char *); + void strictlyEquals_test(const char *, const QScriptValue &value); + + void lessThan_initData(); + void lessThan_makeData(const char *); + void lessThan_test(const char *, const QScriptValue &value); + + void instanceOf_initData(); + void instanceOf_makeData(const char *); + void instanceOf_test(const char *, const QScriptValue &value); + + void assignAndCopyConstruct_initData(); + void assignAndCopyConstruct_makeData(const char *); + void assignAndCopyConstruct_test(const char *, const QScriptValue &value); + + void qscriptvalue_castQString_initData(); + void qscriptvalue_castQString_makeData(const char *); + void qscriptvalue_castQString_test(const char *, const QScriptValue &value); + + void qscriptvalue_castqsreal_initData(); + void qscriptvalue_castqsreal_makeData(const char *); + void qscriptvalue_castqsreal_test(const char *, const QScriptValue &value); + + void qscriptvalue_castbool_initData(); + void qscriptvalue_castbool_makeData(const char *); + void qscriptvalue_castbool_test(const char *, const QScriptValue &value); + + void qscriptvalue_castqint32_initData(); + void qscriptvalue_castqint32_makeData(const char *); + void qscriptvalue_castqint32_test(const char *, const QScriptValue &value); + + void qscriptvalue_castquint32_initData(); + void qscriptvalue_castquint32_makeData(const char *); + void qscriptvalue_castquint32_test(const char *, const QScriptValue &value); + + void qscriptvalue_castquint16_initData(); + void qscriptvalue_castquint16_makeData(const char *); + void qscriptvalue_castquint16_test(const char *, const QScriptValue &value); + +private: + QScriptEngine *engine; + QHash m_values; + QString m_currentExpression; +}; + +#define DEFINE_TEST_FUNCTION(name) \ +void tst_QScriptValue::name##_data() { dataHelper(&tst_QScriptValue::name##_initData, &tst_QScriptValue::name##_makeData); } \ +void tst_QScriptValue::name() { testHelper(&tst_QScriptValue::name##_test); } + +#endif diff --git a/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_cast.cpp b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_cast.cpp new file mode 100644 index 0000000..e651810 --- /dev/null +++ b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_cast.cpp @@ -0,0 +1,1453 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/**************************************************************************** +*************** This file has been generated. DO NOT MODIFY! **************** +****************************************************************************/ + +#include "tst_qscriptvalue.h" + + + +void tst_QScriptValue::qscriptvalue_castQString_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString 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(\"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->newVariant(QVariant())", + "engine->newVariant(QVariant(123))", + "engine->newVariant(QVariant(false))", + "engine->newQObject(0)", + "engine->newQObject(engine)",}; +static QString 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", "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]", "undefined", + "123", "false", + "", "QScriptEngine(name = \"\")", }; +void tst_QScriptValue::qscriptvalue_castQString_makeData(const char* expr) +{ + static QHash value; + if (value.isEmpty()) { + value.reserve(142); + for (unsigned i = 0; i < 142; ++i) + value.insert(qscriptvalue_castQString_tagArray[i], qscriptvalue_castQString_valueArray[i]); + } + newRow(expr) << value.value(expr); +} + +void tst_QScriptValue::qscriptvalue_castQString_test(const char*, const QScriptValue& value) +{ + QFETCH(QString, expected); + QCOMPARE(qscriptvalue_cast(value), expected); + QCOMPARE(qscriptvalue_cast(value), expected); +} + +DEFINE_TEST_FUNCTION(qscriptvalue_castQString) + + +void tst_QScriptValue::qscriptvalue_castqsreal_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString 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(\"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->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(), 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(), 123, 0, + 0, qQNaN(), }; +void tst_QScriptValue::qscriptvalue_castqsreal_makeData(const char* expr) +{ + static QHash value; + if (value.isEmpty()) { + value.reserve(142); + for (unsigned i = 0; i < 142; ++i) + value.insert(qscriptvalue_castqsreal_tagArray[i], qscriptvalue_castqsreal_valueArray[i]); + } + newRow(expr) << value.value(expr); +} + +void tst_QScriptValue::qscriptvalue_castqsreal_test(const char*, const QScriptValue& value) +{ + QFETCH(qsreal, expected); + if (qIsNaN(expected)) { + QVERIFY(qIsNaN(qscriptvalue_cast(value))); + QVERIFY(qIsNaN(qscriptvalue_cast(value))); + return; + } + if (qIsInf(expected)) { + QVERIFY(qIsInf(qscriptvalue_cast(value))); + QVERIFY(qIsInf(qscriptvalue_cast(value))); + return; + } + QCOMPARE(qscriptvalue_cast(value), expected); + QCOMPARE(qscriptvalue_cast(value), expected); +} + +DEFINE_TEST_FUNCTION(qscriptvalue_castqsreal) + + +void tst_QScriptValue::qscriptvalue_castbool_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString 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(\"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->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, + 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, + false, true, }; +void tst_QScriptValue::qscriptvalue_castbool_makeData(const char* expr) +{ + static QHash value; + if (value.isEmpty()) { + value.reserve(142); + for (unsigned i = 0; i < 142; ++i) + value.insert(qscriptvalue_castbool_tagArray[i], qscriptvalue_castbool_valueArray[i]); + } + newRow(expr) << value.value(expr); +} + +void tst_QScriptValue::qscriptvalue_castbool_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(qscriptvalue_cast(value), expected); + QCOMPARE(qscriptvalue_cast(value), expected); +} + +DEFINE_TEST_FUNCTION(qscriptvalue_castbool) + + +void tst_QScriptValue::qscriptvalue_castqint32_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString 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(\"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->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, 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, + 123, 0, + 0, 0, }; +void tst_QScriptValue::qscriptvalue_castqint32_makeData(const char* expr) +{ + static QHash value; + if (value.isEmpty()) { + value.reserve(142); + for (unsigned i = 0; i < 142; ++i) + value.insert(qscriptvalue_castqint32_tagArray[i], qscriptvalue_castqint32_valueArray[i]); + } + newRow(expr) << value.value(expr); +} + +void tst_QScriptValue::qscriptvalue_castqint32_test(const char*, const QScriptValue& value) +{ + QFETCH(qint32, expected); + QCOMPARE(qscriptvalue_cast(value), expected); + QCOMPARE(qscriptvalue_cast(value), expected); +} + +DEFINE_TEST_FUNCTION(qscriptvalue_castqint32) + + +void tst_QScriptValue::qscriptvalue_castquint32_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString 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(\"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->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, 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, + 123, 0, + 0, 0, }; +void tst_QScriptValue::qscriptvalue_castquint32_makeData(const char* expr) +{ + static QHash value; + if (value.isEmpty()) { + value.reserve(142); + for (unsigned i = 0; i < 142; ++i) + value.insert(qscriptvalue_castquint32_tagArray[i], qscriptvalue_castquint32_valueArray[i]); + } + newRow(expr) << value.value(expr); +} + +void tst_QScriptValue::qscriptvalue_castquint32_test(const char*, const QScriptValue& value) +{ + QFETCH(quint32, expected); + QCOMPARE(qscriptvalue_cast(value), expected); + QCOMPARE(qscriptvalue_cast(value), expected); +} + +DEFINE_TEST_FUNCTION(qscriptvalue_castquint32) + + +void tst_QScriptValue::qscriptvalue_castquint16_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString 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(\"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->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, 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, + 123, 0, + 0, 0, }; +void tst_QScriptValue::qscriptvalue_castquint16_makeData(const char* expr) +{ + static QHash value; + if (value.isEmpty()) { + value.reserve(142); + for (unsigned i = 0; i < 142; ++i) + value.insert(qscriptvalue_castquint16_tagArray[i], qscriptvalue_castquint16_valueArray[i]); + } + newRow(expr) << value.value(expr); +} + +void tst_QScriptValue::qscriptvalue_castquint16_test(const char*, const QScriptValue& value) +{ + QFETCH(quint16, expected); + QCOMPARE(qscriptvalue_cast(value), expected); + QCOMPARE(qscriptvalue_cast(value), expected); +} + +DEFINE_TEST_FUNCTION(qscriptvalue_castquint16) diff --git a/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_comparison.cpp b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_comparison.cpp new file mode 100644 index 0000000..6e1f8ee --- /dev/null +++ b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_comparison.cpp @@ -0,0 +1,7026 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/**************************************************************************** +*************** This file has been generated. DO NOT MODIFY! **************** +****************************************************************************/ + +#include "tst_qscriptvalue.h" + + + +void tst_QScriptValue::equals_initData() +{ + QTest::addColumn("other"); + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString equals_array [] = { + "QScriptValue() <=> QScriptValue()", + "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)", + "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::NullValue)", + "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", + "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::NullValue)", + "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", + "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)", + "QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")", + "QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")", + "QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"null\")", + "QScriptValue(QScriptValue::UndefinedValue) <=> engine->nullValue()", + "QScriptValue(QScriptValue::UndefinedValue) <=> engine->undefinedValue()", + "QScriptValue(QScriptValue::UndefinedValue) <=> engine->newQObject(0)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)", + "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"{}\")", + "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"undefined\")", + "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"null\")", + "QScriptValue(QScriptValue::NullValue) <=> engine->nullValue()", + "QScriptValue(QScriptValue::NullValue) <=> engine->undefinedValue()", + "QScriptValue(QScriptValue::NullValue) <=> engine->newQObject(0)", + "QScriptValue(true) <=> QScriptValue(true)", + "QScriptValue(true) <=> QScriptValue(0, true)", + "QScriptValue(true) <=> QScriptValue(engine, true)", + "QScriptValue(true) <=> engine->evaluate(\"true\")", + "QScriptValue(false) <=> QScriptValue(false)", + "QScriptValue(false) <=> QScriptValue(0)", + "QScriptValue(false) <=> QScriptValue(0.0)", + "QScriptValue(false) <=> QScriptValue(QString(\"\"))", + "QScriptValue(false) <=> QScriptValue(QString())", + "QScriptValue(false) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(false) <=> QScriptValue(0, false)", + "QScriptValue(false) <=> QScriptValue(0, 0)", + "QScriptValue(false) <=> QScriptValue(0, 0.0)", + "QScriptValue(false) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(false) <=> QScriptValue(0, QString())", + "QScriptValue(false) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(false) <=> QScriptValue(engine, false)", + "QScriptValue(false) <=> QScriptValue(engine, 0)", + "QScriptValue(false) <=> QScriptValue(engine, 0.0)", + "QScriptValue(false) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(false) <=> QScriptValue(engine, QString())", + "QScriptValue(false) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(false) <=> engine->evaluate(\"[]\")", + "QScriptValue(false) <=> engine->evaluate(\"Array.prototype\")", + "QScriptValue(false) <=> engine->evaluate(\"new Array()\")", + "QScriptValue(false) <=> engine->evaluate(\"false\")", + "QScriptValue(false) <=> engine->evaluate(\"0\")", + "QScriptValue(false) <=> engine->evaluate(\"0.0\")", + "QScriptValue(false) <=> engine->evaluate(\"''\")", + "QScriptValue(false) <=> engine->evaluate(\"'0'\")", + "QScriptValue(false) <=> engine->newArray()", + "QScriptValue(false) <=> engine->newVariant(QVariant(false))", + "QScriptValue(int(122)) <=> QScriptValue(int(122))", + "QScriptValue(int(122)) <=> QScriptValue(0, int(122))", + "QScriptValue(int(122)) <=> QScriptValue(engine, int(122))", + "QScriptValue(int(122)) <=> engine->evaluate(\"122\")", + "QScriptValue(uint(124)) <=> QScriptValue(uint(124))", + "QScriptValue(uint(124)) <=> QScriptValue(0, uint(124))", + "QScriptValue(uint(124)) <=> QScriptValue(engine, uint(124))", + "QScriptValue(uint(124)) <=> engine->evaluate(\"124\")", + "QScriptValue(0) <=> QScriptValue(false)", + "QScriptValue(0) <=> QScriptValue(0)", + "QScriptValue(0) <=> QScriptValue(0.0)", + "QScriptValue(0) <=> QScriptValue(QString(\"\"))", + "QScriptValue(0) <=> QScriptValue(QString())", + "QScriptValue(0) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(0) <=> QScriptValue(0, false)", + "QScriptValue(0) <=> QScriptValue(0, 0)", + "QScriptValue(0) <=> QScriptValue(0, 0.0)", + "QScriptValue(0) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(0) <=> QScriptValue(0, QString())", + "QScriptValue(0) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(0) <=> QScriptValue(engine, false)", + "QScriptValue(0) <=> QScriptValue(engine, 0)", + "QScriptValue(0) <=> QScriptValue(engine, 0.0)", + "QScriptValue(0) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(0) <=> QScriptValue(engine, QString())", + "QScriptValue(0) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(0) <=> engine->evaluate(\"[]\")", + "QScriptValue(0) <=> engine->evaluate(\"Array.prototype\")", + "QScriptValue(0) <=> engine->evaluate(\"new Array()\")", + "QScriptValue(0) <=> engine->evaluate(\"false\")", + "QScriptValue(0) <=> engine->evaluate(\"0\")", + "QScriptValue(0) <=> engine->evaluate(\"0.0\")", + "QScriptValue(0) <=> engine->evaluate(\"''\")", + "QScriptValue(0) <=> engine->evaluate(\"'0'\")", + "QScriptValue(0) <=> engine->newArray()", + "QScriptValue(0) <=> engine->newVariant(QVariant(false))", + "QScriptValue(0.0) <=> QScriptValue(false)", + "QScriptValue(0.0) <=> QScriptValue(0)", + "QScriptValue(0.0) <=> QScriptValue(0.0)", + "QScriptValue(0.0) <=> QScriptValue(QString(\"\"))", + "QScriptValue(0.0) <=> QScriptValue(QString())", + "QScriptValue(0.0) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(0.0) <=> QScriptValue(0, false)", + "QScriptValue(0.0) <=> QScriptValue(0, 0)", + "QScriptValue(0.0) <=> QScriptValue(0, 0.0)", + "QScriptValue(0.0) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(0.0) <=> QScriptValue(0, QString())", + "QScriptValue(0.0) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(0.0) <=> QScriptValue(engine, false)", + "QScriptValue(0.0) <=> QScriptValue(engine, 0)", + "QScriptValue(0.0) <=> QScriptValue(engine, 0.0)", + "QScriptValue(0.0) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(0.0) <=> QScriptValue(engine, QString())", + "QScriptValue(0.0) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(0.0) <=> engine->evaluate(\"[]\")", + "QScriptValue(0.0) <=> engine->evaluate(\"Array.prototype\")", + "QScriptValue(0.0) <=> engine->evaluate(\"new Array()\")", + "QScriptValue(0.0) <=> engine->evaluate(\"false\")", + "QScriptValue(0.0) <=> engine->evaluate(\"0\")", + "QScriptValue(0.0) <=> engine->evaluate(\"0.0\")", + "QScriptValue(0.0) <=> engine->evaluate(\"''\")", + "QScriptValue(0.0) <=> engine->evaluate(\"'0'\")", + "QScriptValue(0.0) <=> engine->newArray()", + "QScriptValue(0.0) <=> engine->newVariant(QVariant(false))", + "QScriptValue(123.0) <=> QScriptValue(123.0)", + "QScriptValue(123.0) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(123.0) <=> QScriptValue(0, 123.0)", + "QScriptValue(123.0) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(123.0) <=> QScriptValue(engine, 123.0)", + "QScriptValue(123.0) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(123.0) <=> engine->evaluate(\"123.0\")", + "QScriptValue(123.0) <=> engine->evaluate(\"'123'\")", + "QScriptValue(123.0) <=> engine->newVariant(QVariant(123))", + "QScriptValue(6.37e-8) <=> QScriptValue(6.37e-8)", + "QScriptValue(6.37e-8) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(6.37e-8) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(6.37e-8) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(-6.37e-8) <=> QScriptValue(-6.37e-8)", + "QScriptValue(-6.37e-8) <=> QScriptValue(0, -6.37e-8)", + "QScriptValue(-6.37e-8) <=> QScriptValue(engine, -6.37e-8)", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"-6.37e-8\")", + "QScriptValue(0x43211234) <=> QScriptValue(0x43211234)", + "QScriptValue(0x43211234) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0x43211234) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0x43211234) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0x10000) <=> QScriptValue(0x10000)", + "QScriptValue(0x10000) <=> QScriptValue(0, 0x10000)", + "QScriptValue(0x10000) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0x10000) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0x10001) <=> QScriptValue(0x10001)", + "QScriptValue(0x10001) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0x10001) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0x10001) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(qInf()) <=> QScriptValue(qInf())", + "QScriptValue(qInf()) <=> QScriptValue(\"Infinity\")", + "QScriptValue(qInf()) <=> QScriptValue(0, qInf())", + "QScriptValue(qInf()) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(qInf()) <=> QScriptValue(engine, qInf())", + "QScriptValue(qInf()) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(qInf()) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(-qInf()) <=> QScriptValue(-qInf())", + "QScriptValue(-qInf()) <=> QScriptValue(\"-Infinity\")", + "QScriptValue(-qInf()) <=> QScriptValue(0, -qInf())", + "QScriptValue(-qInf()) <=> QScriptValue(0, \"-Infinity\")", + "QScriptValue(-qInf()) <=> QScriptValue(engine, -qInf())", + "QScriptValue(-qInf()) <=> QScriptValue(engine, \"-Infinity\")", + "QScriptValue(-qInf()) <=> engine->evaluate(\"-Infinity\")", + "QScriptValue(\"NaN\") <=> QScriptValue(\"NaN\")", + "QScriptValue(\"NaN\") <=> QScriptValue(0, \"NaN\")", + "QScriptValue(\"NaN\") <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(\"Infinity\") <=> QScriptValue(qInf())", + "QScriptValue(\"Infinity\") <=> QScriptValue(\"Infinity\")", + "QScriptValue(\"Infinity\") <=> QScriptValue(0, qInf())", + "QScriptValue(\"Infinity\") <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(\"Infinity\") <=> QScriptValue(engine, qInf())", + "QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Infinity\")", + "QScriptValue(\"-Infinity\") <=> QScriptValue(-qInf())", + "QScriptValue(\"-Infinity\") <=> QScriptValue(\"-Infinity\")", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, -qInf())", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"-Infinity\")", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, -qInf())", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"-Infinity\")", + "QScriptValue(\"ciao\") <=> QScriptValue(\"ciao\")", + "QScriptValue(\"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(\"ciao\") <=> QScriptValue(0, \"ciao\")", + "QScriptValue(\"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(\"ciao\") <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(\"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(\"ciao\") <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")", + "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")", + "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(QString(\"\")) <=> QScriptValue(false)", + "QScriptValue(QString(\"\")) <=> QScriptValue(0)", + "QScriptValue(QString(\"\")) <=> QScriptValue(0.0)", + "QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"\"))", + "QScriptValue(QString(\"\")) <=> QScriptValue(QString())", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, false)", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, 0)", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, 0.0)", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString())", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, false)", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0)", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0.0)", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString())", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"[]\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Array.prototype\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"new Array()\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"false\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"0\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"0.0\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"''\")", + "QScriptValue(QString(\"\")) <=> engine->newArray()", + "QScriptValue(QString(\"\")) <=> engine->newVariant(QVariant(false))", + "QScriptValue(QString()) <=> QScriptValue(false)", + "QScriptValue(QString()) <=> QScriptValue(0)", + "QScriptValue(QString()) <=> QScriptValue(0.0)", + "QScriptValue(QString()) <=> QScriptValue(QString(\"\"))", + "QScriptValue(QString()) <=> QScriptValue(QString())", + "QScriptValue(QString()) <=> QScriptValue(0, false)", + "QScriptValue(QString()) <=> QScriptValue(0, 0)", + "QScriptValue(QString()) <=> QScriptValue(0, 0.0)", + "QScriptValue(QString()) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(QString()) <=> QScriptValue(0, QString())", + "QScriptValue(QString()) <=> QScriptValue(engine, false)", + "QScriptValue(QString()) <=> QScriptValue(engine, 0)", + "QScriptValue(QString()) <=> QScriptValue(engine, 0.0)", + "QScriptValue(QString()) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(QString()) <=> QScriptValue(engine, QString())", + "QScriptValue(QString()) <=> engine->evaluate(\"[]\")", + "QScriptValue(QString()) <=> engine->evaluate(\"Array.prototype\")", + "QScriptValue(QString()) <=> engine->evaluate(\"new Array()\")", + "QScriptValue(QString()) <=> engine->evaluate(\"false\")", + "QScriptValue(QString()) <=> engine->evaluate(\"0\")", + "QScriptValue(QString()) <=> engine->evaluate(\"0.0\")", + "QScriptValue(QString()) <=> engine->evaluate(\"''\")", + "QScriptValue(QString()) <=> engine->newArray()", + "QScriptValue(QString()) <=> engine->newVariant(QVariant(false))", + "QScriptValue(QString(\"0\")) <=> QScriptValue(false)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0.0)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0, false)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0.0)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, false)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0.0)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"false\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"0\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"0.0\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"'0'\")", + "QScriptValue(QString(\"0\")) <=> engine->newVariant(QVariant(false))", + "QScriptValue(QString(\"123\")) <=> QScriptValue(123.0)", + "QScriptValue(QString(\"123\")) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(QString(\"123\")) <=> QScriptValue(0, 123.0)", + "QScriptValue(QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 123.0)", + "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"123.0\")", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"'123'\")", + "QScriptValue(QString(\"123\")) <=> engine->newVariant(QVariant(123))", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)", + "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::NullValue)", + "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", + "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::NullValue)", + "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", + "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)", + "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")", + "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")", + "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"null\")", + "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->nullValue()", + "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->undefinedValue()", + "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->newQObject(0)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)", + "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"{}\")", + "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"undefined\")", + "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"null\")", + "QScriptValue(0, QScriptValue::NullValue) <=> engine->nullValue()", + "QScriptValue(0, QScriptValue::NullValue) <=> engine->undefinedValue()", + "QScriptValue(0, QScriptValue::NullValue) <=> engine->newQObject(0)", + "QScriptValue(0, true) <=> QScriptValue(true)", + "QScriptValue(0, true) <=> QScriptValue(0, true)", + "QScriptValue(0, true) <=> QScriptValue(engine, true)", + "QScriptValue(0, true) <=> engine->evaluate(\"true\")", + "QScriptValue(0, false) <=> QScriptValue(false)", + "QScriptValue(0, false) <=> QScriptValue(0)", + "QScriptValue(0, false) <=> QScriptValue(0.0)", + "QScriptValue(0, false) <=> QScriptValue(QString(\"\"))", + "QScriptValue(0, false) <=> QScriptValue(QString())", + "QScriptValue(0, false) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(0, false) <=> QScriptValue(0, false)", + "QScriptValue(0, false) <=> QScriptValue(0, 0)", + "QScriptValue(0, false) <=> QScriptValue(0, 0.0)", + "QScriptValue(0, false) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(0, false) <=> QScriptValue(0, QString())", + "QScriptValue(0, false) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(0, false) <=> QScriptValue(engine, false)", + "QScriptValue(0, false) <=> QScriptValue(engine, 0)", + "QScriptValue(0, false) <=> QScriptValue(engine, 0.0)", + "QScriptValue(0, false) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(0, false) <=> QScriptValue(engine, QString())", + "QScriptValue(0, false) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(0, false) <=> engine->evaluate(\"[]\")", + "QScriptValue(0, false) <=> engine->evaluate(\"Array.prototype\")", + "QScriptValue(0, false) <=> engine->evaluate(\"new Array()\")", + "QScriptValue(0, false) <=> engine->evaluate(\"false\")", + "QScriptValue(0, false) <=> engine->evaluate(\"0\")", + "QScriptValue(0, false) <=> engine->evaluate(\"0.0\")", + "QScriptValue(0, false) <=> engine->evaluate(\"''\")", + "QScriptValue(0, false) <=> engine->evaluate(\"'0'\")", + "QScriptValue(0, false) <=> engine->newArray()", + "QScriptValue(0, false) <=> engine->newVariant(QVariant(false))", + "QScriptValue(0, int(122)) <=> QScriptValue(int(122))", + "QScriptValue(0, int(122)) <=> QScriptValue(0, int(122))", + "QScriptValue(0, int(122)) <=> QScriptValue(engine, int(122))", + "QScriptValue(0, int(122)) <=> engine->evaluate(\"122\")", + "QScriptValue(0, uint(124)) <=> QScriptValue(uint(124))", + "QScriptValue(0, uint(124)) <=> QScriptValue(0, uint(124))", + "QScriptValue(0, uint(124)) <=> QScriptValue(engine, uint(124))", + "QScriptValue(0, uint(124)) <=> engine->evaluate(\"124\")", + "QScriptValue(0, 0) <=> QScriptValue(false)", + "QScriptValue(0, 0) <=> QScriptValue(0)", + "QScriptValue(0, 0) <=> QScriptValue(0.0)", + "QScriptValue(0, 0) <=> QScriptValue(QString(\"\"))", + "QScriptValue(0, 0) <=> QScriptValue(QString())", + "QScriptValue(0, 0) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(0, 0) <=> QScriptValue(0, false)", + "QScriptValue(0, 0) <=> QScriptValue(0, 0)", + "QScriptValue(0, 0) <=> QScriptValue(0, 0.0)", + "QScriptValue(0, 0) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(0, 0) <=> QScriptValue(0, QString())", + "QScriptValue(0, 0) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(0, 0) <=> QScriptValue(engine, false)", + "QScriptValue(0, 0) <=> QScriptValue(engine, 0)", + "QScriptValue(0, 0) <=> QScriptValue(engine, 0.0)", + "QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(0, 0) <=> QScriptValue(engine, QString())", + "QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(0, 0) <=> engine->evaluate(\"[]\")", + "QScriptValue(0, 0) <=> engine->evaluate(\"Array.prototype\")", + "QScriptValue(0, 0) <=> engine->evaluate(\"new Array()\")", + "QScriptValue(0, 0) <=> engine->evaluate(\"false\")", + "QScriptValue(0, 0) <=> engine->evaluate(\"0\")", + "QScriptValue(0, 0) <=> engine->evaluate(\"0.0\")", + "QScriptValue(0, 0) <=> engine->evaluate(\"''\")", + "QScriptValue(0, 0) <=> engine->evaluate(\"'0'\")", + "QScriptValue(0, 0) <=> engine->newArray()", + "QScriptValue(0, 0) <=> engine->newVariant(QVariant(false))", + "QScriptValue(0, 0.0) <=> QScriptValue(false)", + "QScriptValue(0, 0.0) <=> QScriptValue(0)", + "QScriptValue(0, 0.0) <=> QScriptValue(0.0)", + "QScriptValue(0, 0.0) <=> QScriptValue(QString(\"\"))", + "QScriptValue(0, 0.0) <=> QScriptValue(QString())", + "QScriptValue(0, 0.0) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(0, 0.0) <=> QScriptValue(0, false)", + "QScriptValue(0, 0.0) <=> QScriptValue(0, 0)", + "QScriptValue(0, 0.0) <=> QScriptValue(0, 0.0)", + "QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(0, 0.0) <=> QScriptValue(0, QString())", + "QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(0, 0.0) <=> QScriptValue(engine, false)", + "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0)", + "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0.0)", + "QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(0, 0.0) <=> QScriptValue(engine, QString())", + "QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(0, 0.0) <=> engine->evaluate(\"[]\")", + "QScriptValue(0, 0.0) <=> engine->evaluate(\"Array.prototype\")", + "QScriptValue(0, 0.0) <=> engine->evaluate(\"new Array()\")", + "QScriptValue(0, 0.0) <=> engine->evaluate(\"false\")", + "QScriptValue(0, 0.0) <=> engine->evaluate(\"0\")", + "QScriptValue(0, 0.0) <=> engine->evaluate(\"0.0\")", + "QScriptValue(0, 0.0) <=> engine->evaluate(\"''\")", + "QScriptValue(0, 0.0) <=> engine->evaluate(\"'0'\")", + "QScriptValue(0, 0.0) <=> engine->newArray()", + "QScriptValue(0, 0.0) <=> engine->newVariant(QVariant(false))", + "QScriptValue(0, 123.0) <=> QScriptValue(123.0)", + "QScriptValue(0, 123.0) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(0, 123.0) <=> QScriptValue(0, 123.0)", + "QScriptValue(0, 123.0) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(0, 123.0) <=> QScriptValue(engine, 123.0)", + "QScriptValue(0, 123.0) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(0, 123.0) <=> engine->evaluate(\"123.0\")", + "QScriptValue(0, 123.0) <=> engine->evaluate(\"'123'\")", + "QScriptValue(0, 123.0) <=> engine->newVariant(QVariant(123))", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(6.37e-8)", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(-6.37e-8)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, -6.37e-8)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"-6.37e-8\")", + "QScriptValue(0, 0x43211234) <=> QScriptValue(0x43211234)", + "QScriptValue(0, 0x43211234) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0, 0x43211234) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0, 0x43211234) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0, 0x10000) <=> QScriptValue(0x10000)", + "QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x10000)", + "QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0, 0x10000) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0, 0x10001) <=> QScriptValue(0x10001)", + "QScriptValue(0, 0x10001) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0, 0x10001) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0, 0x10001) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0, qInf()) <=> QScriptValue(qInf())", + "QScriptValue(0, qInf()) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, qInf()) <=> QScriptValue(0, qInf())", + "QScriptValue(0, qInf()) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, qInf()) <=> QScriptValue(engine, qInf())", + "QScriptValue(0, qInf()) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, qInf()) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, -qInf()) <=> QScriptValue(-qInf())", + "QScriptValue(0, -qInf()) <=> QScriptValue(\"-Infinity\")", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, -qInf())", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, \"-Infinity\")", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, -qInf())", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, \"-Infinity\")", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"-Infinity\")", + "QScriptValue(0, \"NaN\") <=> QScriptValue(\"NaN\")", + "QScriptValue(0, \"NaN\") <=> QScriptValue(0, \"NaN\")", + "QScriptValue(0, \"NaN\") <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(0, \"Infinity\") <=> QScriptValue(qInf())", + "QScriptValue(0, \"Infinity\") <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, \"Infinity\") <=> QScriptValue(0, qInf())", + "QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, qInf())", + "QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(-qInf())", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"-Infinity\")", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, -qInf())", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, -qInf())", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"-Infinity\")", + "QScriptValue(0, \"ciao\") <=> QScriptValue(\"ciao\")", + "QScriptValue(0, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, \"ciao\") <=> QScriptValue(0, \"ciao\")", + "QScriptValue(0, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, \"ciao\") <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(0, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")", + "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")", + "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(false)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0.0)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"\"))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString())", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, false)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0.0)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString())", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, false)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0.0)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString())", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"[]\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Array.prototype\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"new Array()\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"false\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"0\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"0.0\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"''\")", + "QScriptValue(0, QString(\"\")) <=> engine->newArray()", + "QScriptValue(0, QString(\"\")) <=> engine->newVariant(QVariant(false))", + "QScriptValue(0, QString()) <=> QScriptValue(false)", + "QScriptValue(0, QString()) <=> QScriptValue(0)", + "QScriptValue(0, QString()) <=> QScriptValue(0.0)", + "QScriptValue(0, QString()) <=> QScriptValue(QString(\"\"))", + "QScriptValue(0, QString()) <=> QScriptValue(QString())", + "QScriptValue(0, QString()) <=> QScriptValue(0, false)", + "QScriptValue(0, QString()) <=> QScriptValue(0, 0)", + "QScriptValue(0, QString()) <=> QScriptValue(0, 0.0)", + "QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(0, QString()) <=> QScriptValue(0, QString())", + "QScriptValue(0, QString()) <=> QScriptValue(engine, false)", + "QScriptValue(0, QString()) <=> QScriptValue(engine, 0)", + "QScriptValue(0, QString()) <=> QScriptValue(engine, 0.0)", + "QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(0, QString()) <=> QScriptValue(engine, QString())", + "QScriptValue(0, QString()) <=> engine->evaluate(\"[]\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"Array.prototype\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"new Array()\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"false\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"0\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"0.0\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"''\")", + "QScriptValue(0, QString()) <=> engine->newArray()", + "QScriptValue(0, QString()) <=> engine->newVariant(QVariant(false))", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(false)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0.0)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, false)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0.0)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, false)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0.0)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"false\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"0\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"0.0\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"'0'\")", + "QScriptValue(0, QString(\"0\")) <=> engine->newVariant(QVariant(false))", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(123.0)", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 123.0)", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 123.0)", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"123.0\")", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"'123'\")", + "QScriptValue(0, QString(\"123\")) <=> engine->newVariant(QVariant(123))", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)", + "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::NullValue)", + "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", + "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::NullValue)", + "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", + "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)", + "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")", + "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")", + "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"null\")", + "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->nullValue()", + "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->undefinedValue()", + "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->newQObject(0)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)", + "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"{}\")", + "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"undefined\")", + "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"null\")", + "QScriptValue(engine, QScriptValue::NullValue) <=> engine->nullValue()", + "QScriptValue(engine, QScriptValue::NullValue) <=> engine->undefinedValue()", + "QScriptValue(engine, QScriptValue::NullValue) <=> engine->newQObject(0)", + "QScriptValue(engine, true) <=> QScriptValue(true)", + "QScriptValue(engine, true) <=> QScriptValue(0, true)", + "QScriptValue(engine, true) <=> QScriptValue(engine, true)", + "QScriptValue(engine, true) <=> engine->evaluate(\"true\")", + "QScriptValue(engine, false) <=> QScriptValue(false)", + "QScriptValue(engine, false) <=> QScriptValue(0)", + "QScriptValue(engine, false) <=> QScriptValue(0.0)", + "QScriptValue(engine, false) <=> QScriptValue(QString(\"\"))", + "QScriptValue(engine, false) <=> QScriptValue(QString())", + "QScriptValue(engine, false) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(engine, false) <=> QScriptValue(0, false)", + "QScriptValue(engine, false) <=> QScriptValue(0, 0)", + "QScriptValue(engine, false) <=> QScriptValue(0, 0.0)", + "QScriptValue(engine, false) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(engine, false) <=> QScriptValue(0, QString())", + "QScriptValue(engine, false) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(engine, false) <=> QScriptValue(engine, false)", + "QScriptValue(engine, false) <=> QScriptValue(engine, 0)", + "QScriptValue(engine, false) <=> QScriptValue(engine, 0.0)", + "QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(engine, false) <=> QScriptValue(engine, QString())", + "QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(engine, false) <=> engine->evaluate(\"[]\")", + "QScriptValue(engine, false) <=> engine->evaluate(\"Array.prototype\")", + "QScriptValue(engine, false) <=> engine->evaluate(\"new Array()\")", + "QScriptValue(engine, false) <=> engine->evaluate(\"false\")", + "QScriptValue(engine, false) <=> engine->evaluate(\"0\")", + "QScriptValue(engine, false) <=> engine->evaluate(\"0.0\")", + "QScriptValue(engine, false) <=> engine->evaluate(\"''\")", + "QScriptValue(engine, false) <=> engine->evaluate(\"'0'\")", + "QScriptValue(engine, false) <=> engine->newArray()", + "QScriptValue(engine, false) <=> engine->newVariant(QVariant(false))", + "QScriptValue(engine, int(122)) <=> QScriptValue(int(122))", + "QScriptValue(engine, int(122)) <=> QScriptValue(0, int(122))", + "QScriptValue(engine, int(122)) <=> QScriptValue(engine, int(122))", + "QScriptValue(engine, int(122)) <=> engine->evaluate(\"122\")", + "QScriptValue(engine, uint(124)) <=> QScriptValue(uint(124))", + "QScriptValue(engine, uint(124)) <=> QScriptValue(0, uint(124))", + "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, uint(124))", + "QScriptValue(engine, uint(124)) <=> engine->evaluate(\"124\")", + "QScriptValue(engine, 0) <=> QScriptValue(false)", + "QScriptValue(engine, 0) <=> QScriptValue(0)", + "QScriptValue(engine, 0) <=> QScriptValue(0.0)", + "QScriptValue(engine, 0) <=> QScriptValue(QString(\"\"))", + "QScriptValue(engine, 0) <=> QScriptValue(QString())", + "QScriptValue(engine, 0) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(engine, 0) <=> QScriptValue(0, false)", + "QScriptValue(engine, 0) <=> QScriptValue(0, 0)", + "QScriptValue(engine, 0) <=> QScriptValue(0, 0.0)", + "QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(engine, 0) <=> QScriptValue(0, QString())", + "QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(engine, 0) <=> QScriptValue(engine, false)", + "QScriptValue(engine, 0) <=> QScriptValue(engine, 0)", + "QScriptValue(engine, 0) <=> QScriptValue(engine, 0.0)", + "QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(engine, 0) <=> QScriptValue(engine, QString())", + "QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(engine, 0) <=> engine->evaluate(\"[]\")", + "QScriptValue(engine, 0) <=> engine->evaluate(\"Array.prototype\")", + "QScriptValue(engine, 0) <=> engine->evaluate(\"new Array()\")", + "QScriptValue(engine, 0) <=> engine->evaluate(\"false\")", + "QScriptValue(engine, 0) <=> engine->evaluate(\"0\")", + "QScriptValue(engine, 0) <=> engine->evaluate(\"0.0\")", + "QScriptValue(engine, 0) <=> engine->evaluate(\"''\")", + "QScriptValue(engine, 0) <=> engine->evaluate(\"'0'\")", + "QScriptValue(engine, 0) <=> engine->newArray()", + "QScriptValue(engine, 0) <=> engine->newVariant(QVariant(false))", + "QScriptValue(engine, 0.0) <=> QScriptValue(false)", + "QScriptValue(engine, 0.0) <=> QScriptValue(0)", + "QScriptValue(engine, 0.0) <=> QScriptValue(0.0)", + "QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"\"))", + "QScriptValue(engine, 0.0) <=> QScriptValue(QString())", + "QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(engine, 0.0) <=> QScriptValue(0, false)", + "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0)", + "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0.0)", + "QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(engine, 0.0) <=> QScriptValue(0, QString())", + "QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(engine, 0.0) <=> QScriptValue(engine, false)", + "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0)", + "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0.0)", + "QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString())", + "QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(engine, 0.0) <=> engine->evaluate(\"[]\")", + "QScriptValue(engine, 0.0) <=> engine->evaluate(\"Array.prototype\")", + "QScriptValue(engine, 0.0) <=> engine->evaluate(\"new Array()\")", + "QScriptValue(engine, 0.0) <=> engine->evaluate(\"false\")", + "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0\")", + "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0.0\")", + "QScriptValue(engine, 0.0) <=> engine->evaluate(\"''\")", + "QScriptValue(engine, 0.0) <=> engine->evaluate(\"'0'\")", + "QScriptValue(engine, 0.0) <=> engine->newArray()", + "QScriptValue(engine, 0.0) <=> engine->newVariant(QVariant(false))", + "QScriptValue(engine, 123.0) <=> QScriptValue(123.0)", + "QScriptValue(engine, 123.0) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(engine, 123.0) <=> QScriptValue(0, 123.0)", + "QScriptValue(engine, 123.0) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(engine, 123.0) <=> QScriptValue(engine, 123.0)", + "QScriptValue(engine, 123.0) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(engine, 123.0) <=> engine->evaluate(\"123.0\")", + "QScriptValue(engine, 123.0) <=> engine->evaluate(\"'123'\")", + "QScriptValue(engine, 123.0) <=> engine->newVariant(QVariant(123))", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(6.37e-8)", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(-6.37e-8)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, -6.37e-8)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"-6.37e-8\")", + "QScriptValue(engine, 0x43211234) <=> QScriptValue(0x43211234)", + "QScriptValue(engine, 0x43211234) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(engine, 0x43211234) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(engine, 0x10000) <=> QScriptValue(0x10000)", + "QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x10000)", + "QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(engine, 0x10000) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(engine, 0x10001) <=> QScriptValue(0x10001)", + "QScriptValue(engine, 0x10001) <=> QScriptValue(0, 0x10001)", + "QScriptValue(engine, 0x10001) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(engine, 0x10001) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(engine, qInf()) <=> QScriptValue(qInf())", + "QScriptValue(engine, qInf()) <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, qInf()) <=> QScriptValue(0, qInf())", + "QScriptValue(engine, qInf()) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, qInf()) <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, qInf()) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, qInf()) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, -qInf()) <=> QScriptValue(-qInf())", + "QScriptValue(engine, -qInf()) <=> QScriptValue(\"-Infinity\")", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, -qInf())", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, \"-Infinity\")", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, -qInf())", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, \"-Infinity\")", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"-Infinity\")", + "QScriptValue(engine, \"NaN\") <=> QScriptValue(\"NaN\")", + "QScriptValue(engine, \"NaN\") <=> QScriptValue(0, \"NaN\")", + "QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(engine, \"Infinity\") <=> QScriptValue(qInf())", + "QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, qInf())", + "QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(-qInf())", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"-Infinity\")", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, -qInf())", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, -qInf())", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"-Infinity\")", + "QScriptValue(engine, \"ciao\") <=> QScriptValue(\"ciao\")", + "QScriptValue(engine, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, \"ciao\") <=> QScriptValue(0, \"ciao\")", + "QScriptValue(engine, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")", + "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")", + "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(false)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0.0)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"\"))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString())", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, false)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0.0)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString())", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, false)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0.0)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString())", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"[]\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Array.prototype\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"new Array()\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"false\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"0\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"0.0\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"''\")", + "QScriptValue(engine, QString(\"\")) <=> engine->newArray()", + "QScriptValue(engine, QString(\"\")) <=> engine->newVariant(QVariant(false))", + "QScriptValue(engine, QString()) <=> QScriptValue(false)", + "QScriptValue(engine, QString()) <=> QScriptValue(0)", + "QScriptValue(engine, QString()) <=> QScriptValue(0.0)", + "QScriptValue(engine, QString()) <=> QScriptValue(QString(\"\"))", + "QScriptValue(engine, QString()) <=> QScriptValue(QString())", + "QScriptValue(engine, QString()) <=> QScriptValue(0, false)", + "QScriptValue(engine, QString()) <=> QScriptValue(0, 0)", + "QScriptValue(engine, QString()) <=> QScriptValue(0, 0.0)", + "QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(engine, QString()) <=> QScriptValue(0, QString())", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, false)", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, 0)", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, 0.0)", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString())", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"[]\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"Array.prototype\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"new Array()\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"false\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"0\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"0.0\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"''\")", + "QScriptValue(engine, QString()) <=> engine->newArray()", + "QScriptValue(engine, QString()) <=> engine->newVariant(QVariant(false))", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(false)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0.0)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, false)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0.0)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, false)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0.0)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"false\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"0\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"0.0\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"'0'\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->newVariant(QVariant(false))", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(123.0)", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 123.0)", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 123.0)", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"123.0\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"'123'\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->newVariant(QVariant(123))", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString(\"1.23\"))", + "engine->evaluate(\"[]\") <=> QScriptValue(false)", + "engine->evaluate(\"[]\") <=> QScriptValue(0)", + "engine->evaluate(\"[]\") <=> QScriptValue(0.0)", + "engine->evaluate(\"[]\") <=> QScriptValue(QString(\"\"))", + "engine->evaluate(\"[]\") <=> QScriptValue(QString())", + "engine->evaluate(\"[]\") <=> QScriptValue(0, false)", + "engine->evaluate(\"[]\") <=> QScriptValue(0, 0)", + "engine->evaluate(\"[]\") <=> QScriptValue(0, 0.0)", + "engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"\"))", + "engine->evaluate(\"[]\") <=> QScriptValue(0, QString())", + "engine->evaluate(\"[]\") <=> QScriptValue(engine, false)", + "engine->evaluate(\"[]\") <=> QScriptValue(engine, 0)", + "engine->evaluate(\"[]\") <=> QScriptValue(engine, 0.0)", + "engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"\"))", + "engine->evaluate(\"[]\") <=> QScriptValue(engine, QString())", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"[]\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"false\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"0\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"0.0\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"''\")", + "engine->evaluate(\"{}\") <=> QScriptValue(QScriptValue::UndefinedValue)", + "engine->evaluate(\"{}\") <=> QScriptValue(QScriptValue::NullValue)", + "engine->evaluate(\"{}\") <=> QScriptValue(0, QScriptValue::UndefinedValue)", + "engine->evaluate(\"{}\") <=> QScriptValue(0, QScriptValue::NullValue)", + "engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)", + "engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::NullValue)", + "engine->evaluate(\"{}\") <=> engine->evaluate(\"{}\")", + "engine->evaluate(\"{}\") <=> engine->evaluate(\"undefined\")", + "engine->evaluate(\"{}\") <=> engine->evaluate(\"null\")", + "engine->evaluate(\"{}\") <=> engine->nullValue()", + "engine->evaluate(\"{}\") <=> engine->undefinedValue()", + "engine->evaluate(\"{}\") <=> engine->newQObject(0)", + "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Object.prototype\")", + "engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Date.prototype\")", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(false)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0.0)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"\"))", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString())", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, false)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0.0)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"\"))", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString())", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, false)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0.0)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"\"))", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString())", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Array.prototype\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"false\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"0\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"0.0\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"''\")", + "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Function.prototype\")", + "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Error.prototype\")", + "engine->evaluate(\"Object\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"Array\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"Number\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"Function\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"/foo/\")", + "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"new Object()\")", + "engine->evaluate(\"new Array()\") <=> QScriptValue(false)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0.0)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"\"))", + "engine->evaluate(\"new Array()\") <=> QScriptValue(QString())", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0, false)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0.0)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"\"))", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString())", + "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, false)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0.0)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"\"))", + "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString())", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Array()\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"false\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"0\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"0.0\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"''\")", + "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"new Error()\")", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Undefined\")", + "engine->evaluate(\"Null\") <=> engine->evaluate(\"Null\")", + "engine->evaluate(\"True\") <=> engine->evaluate(\"True\")", + "engine->evaluate(\"False\") <=> engine->evaluate(\"False\")", + "engine->evaluate(\"undefined\") <=> QScriptValue(QScriptValue::UndefinedValue)", + "engine->evaluate(\"undefined\") <=> QScriptValue(QScriptValue::NullValue)", + "engine->evaluate(\"undefined\") <=> QScriptValue(0, QScriptValue::UndefinedValue)", + "engine->evaluate(\"undefined\") <=> QScriptValue(0, QScriptValue::NullValue)", + "engine->evaluate(\"undefined\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)", + "engine->evaluate(\"undefined\") <=> QScriptValue(engine, QScriptValue::NullValue)", + "engine->evaluate(\"undefined\") <=> engine->evaluate(\"{}\")", + "engine->evaluate(\"undefined\") <=> engine->evaluate(\"undefined\")", + "engine->evaluate(\"undefined\") <=> engine->evaluate(\"null\")", + "engine->evaluate(\"undefined\") <=> engine->nullValue()", + "engine->evaluate(\"undefined\") <=> engine->undefinedValue()", + "engine->evaluate(\"undefined\") <=> engine->newQObject(0)", + "engine->evaluate(\"null\") <=> QScriptValue(QScriptValue::UndefinedValue)", + "engine->evaluate(\"null\") <=> QScriptValue(QScriptValue::NullValue)", + "engine->evaluate(\"null\") <=> QScriptValue(0, QScriptValue::UndefinedValue)", + "engine->evaluate(\"null\") <=> QScriptValue(0, QScriptValue::NullValue)", + "engine->evaluate(\"null\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)", + "engine->evaluate(\"null\") <=> QScriptValue(engine, QScriptValue::NullValue)", + "engine->evaluate(\"null\") <=> engine->evaluate(\"{}\")", + "engine->evaluate(\"null\") <=> engine->evaluate(\"undefined\")", + "engine->evaluate(\"null\") <=> engine->evaluate(\"null\")", + "engine->evaluate(\"null\") <=> engine->nullValue()", + "engine->evaluate(\"null\") <=> engine->undefinedValue()", + "engine->evaluate(\"null\") <=> engine->newQObject(0)", + "engine->evaluate(\"true\") <=> QScriptValue(true)", + "engine->evaluate(\"true\") <=> QScriptValue(0, true)", + "engine->evaluate(\"true\") <=> QScriptValue(engine, true)", + "engine->evaluate(\"true\") <=> engine->evaluate(\"true\")", + "engine->evaluate(\"false\") <=> QScriptValue(false)", + "engine->evaluate(\"false\") <=> QScriptValue(0)", + "engine->evaluate(\"false\") <=> QScriptValue(0.0)", + "engine->evaluate(\"false\") <=> QScriptValue(QString(\"\"))", + "engine->evaluate(\"false\") <=> QScriptValue(QString())", + "engine->evaluate(\"false\") <=> QScriptValue(QString(\"0\"))", + "engine->evaluate(\"false\") <=> QScriptValue(0, false)", + "engine->evaluate(\"false\") <=> QScriptValue(0, 0)", + "engine->evaluate(\"false\") <=> QScriptValue(0, 0.0)", + "engine->evaluate(\"false\") <=> QScriptValue(0, QString(\"\"))", + "engine->evaluate(\"false\") <=> QScriptValue(0, QString())", + "engine->evaluate(\"false\") <=> QScriptValue(0, QString(\"0\"))", + "engine->evaluate(\"false\") <=> QScriptValue(engine, false)", + "engine->evaluate(\"false\") <=> QScriptValue(engine, 0)", + "engine->evaluate(\"false\") <=> QScriptValue(engine, 0.0)", + "engine->evaluate(\"false\") <=> QScriptValue(engine, QString(\"\"))", + "engine->evaluate(\"false\") <=> QScriptValue(engine, QString())", + "engine->evaluate(\"false\") <=> QScriptValue(engine, QString(\"0\"))", + "engine->evaluate(\"false\") <=> engine->evaluate(\"[]\")", + "engine->evaluate(\"false\") <=> engine->evaluate(\"Array.prototype\")", + "engine->evaluate(\"false\") <=> engine->evaluate(\"new Array()\")", + "engine->evaluate(\"false\") <=> engine->evaluate(\"false\")", + "engine->evaluate(\"false\") <=> engine->evaluate(\"0\")", + "engine->evaluate(\"false\") <=> engine->evaluate(\"0.0\")", + "engine->evaluate(\"false\") <=> engine->evaluate(\"''\")", + "engine->evaluate(\"false\") <=> engine->evaluate(\"'0'\")", + "engine->evaluate(\"false\") <=> engine->newArray()", + "engine->evaluate(\"false\") <=> engine->newVariant(QVariant(false))", + "engine->evaluate(\"122\") <=> QScriptValue(int(122))", + "engine->evaluate(\"122\") <=> QScriptValue(0, int(122))", + "engine->evaluate(\"122\") <=> QScriptValue(engine, int(122))", + "engine->evaluate(\"122\") <=> engine->evaluate(\"122\")", + "engine->evaluate(\"124\") <=> QScriptValue(uint(124))", + "engine->evaluate(\"124\") <=> QScriptValue(0, uint(124))", + "engine->evaluate(\"124\") <=> QScriptValue(engine, uint(124))", + "engine->evaluate(\"124\") <=> engine->evaluate(\"124\")", + "engine->evaluate(\"0\") <=> QScriptValue(false)", + "engine->evaluate(\"0\") <=> QScriptValue(0)", + "engine->evaluate(\"0\") <=> QScriptValue(0.0)", + "engine->evaluate(\"0\") <=> QScriptValue(QString(\"\"))", + "engine->evaluate(\"0\") <=> QScriptValue(QString())", + "engine->evaluate(\"0\") <=> QScriptValue(QString(\"0\"))", + "engine->evaluate(\"0\") <=> QScriptValue(0, false)", + "engine->evaluate(\"0\") <=> QScriptValue(0, 0)", + "engine->evaluate(\"0\") <=> QScriptValue(0, 0.0)", + "engine->evaluate(\"0\") <=> QScriptValue(0, QString(\"\"))", + "engine->evaluate(\"0\") <=> QScriptValue(0, QString())", + "engine->evaluate(\"0\") <=> QScriptValue(0, QString(\"0\"))", + "engine->evaluate(\"0\") <=> QScriptValue(engine, false)", + "engine->evaluate(\"0\") <=> QScriptValue(engine, 0)", + "engine->evaluate(\"0\") <=> QScriptValue(engine, 0.0)", + "engine->evaluate(\"0\") <=> QScriptValue(engine, QString(\"\"))", + "engine->evaluate(\"0\") <=> QScriptValue(engine, QString())", + "engine->evaluate(\"0\") <=> QScriptValue(engine, QString(\"0\"))", + "engine->evaluate(\"0\") <=> engine->evaluate(\"[]\")", + "engine->evaluate(\"0\") <=> engine->evaluate(\"Array.prototype\")", + "engine->evaluate(\"0\") <=> engine->evaluate(\"new Array()\")", + "engine->evaluate(\"0\") <=> engine->evaluate(\"false\")", + "engine->evaluate(\"0\") <=> engine->evaluate(\"0\")", + "engine->evaluate(\"0\") <=> engine->evaluate(\"0.0\")", + "engine->evaluate(\"0\") <=> engine->evaluate(\"''\")", + "engine->evaluate(\"0\") <=> engine->evaluate(\"'0'\")", + "engine->evaluate(\"0\") <=> engine->newArray()", + "engine->evaluate(\"0\") <=> engine->newVariant(QVariant(false))", + "engine->evaluate(\"0.0\") <=> QScriptValue(false)", + "engine->evaluate(\"0.0\") <=> QScriptValue(0)", + "engine->evaluate(\"0.0\") <=> QScriptValue(0.0)", + "engine->evaluate(\"0.0\") <=> QScriptValue(QString(\"\"))", + "engine->evaluate(\"0.0\") <=> QScriptValue(QString())", + "engine->evaluate(\"0.0\") <=> QScriptValue(QString(\"0\"))", + "engine->evaluate(\"0.0\") <=> QScriptValue(0, false)", + "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0)", + "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0.0)", + "engine->evaluate(\"0.0\") <=> QScriptValue(0, QString(\"\"))", + "engine->evaluate(\"0.0\") <=> QScriptValue(0, QString())", + "engine->evaluate(\"0.0\") <=> QScriptValue(0, QString(\"0\"))", + "engine->evaluate(\"0.0\") <=> QScriptValue(engine, false)", + "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0)", + "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0.0)", + "engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString(\"\"))", + "engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString())", + "engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString(\"0\"))", + "engine->evaluate(\"0.0\") <=> engine->evaluate(\"[]\")", + "engine->evaluate(\"0.0\") <=> engine->evaluate(\"Array.prototype\")", + "engine->evaluate(\"0.0\") <=> engine->evaluate(\"new Array()\")", + "engine->evaluate(\"0.0\") <=> engine->evaluate(\"false\")", + "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0\")", + "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0.0\")", + "engine->evaluate(\"0.0\") <=> engine->evaluate(\"''\")", + "engine->evaluate(\"0.0\") <=> engine->evaluate(\"'0'\")", + "engine->evaluate(\"0.0\") <=> engine->newArray()", + "engine->evaluate(\"0.0\") <=> engine->newVariant(QVariant(false))", + "engine->evaluate(\"123.0\") <=> QScriptValue(123.0)", + "engine->evaluate(\"123.0\") <=> QScriptValue(QString(\"123\"))", + "engine->evaluate(\"123.0\") <=> QScriptValue(0, 123.0)", + "engine->evaluate(\"123.0\") <=> QScriptValue(0, QString(\"123\"))", + "engine->evaluate(\"123.0\") <=> QScriptValue(engine, 123.0)", + "engine->evaluate(\"123.0\") <=> QScriptValue(engine, QString(\"123\"))", + "engine->evaluate(\"123.0\") <=> engine->evaluate(\"123.0\")", + "engine->evaluate(\"123.0\") <=> engine->evaluate(\"'123'\")", + "engine->evaluate(\"123.0\") <=> engine->newVariant(QVariant(123))", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(6.37e-8)", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 6.37e-8)", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 6.37e-8)", + "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"6.37e-8\")", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(-6.37e-8)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, -6.37e-8)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, -6.37e-8)", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"-6.37e-8\")", + "engine->evaluate(\"0x43211234\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"0x43211234\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"0x43211234\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"0x43211234\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"0x10000\") <=> QScriptValue(0x10000)", + "engine->evaluate(\"0x10000\") <=> QScriptValue(0, 0x10000)", + "engine->evaluate(\"0x10000\") <=> QScriptValue(engine, 0x10000)", + "engine->evaluate(\"0x10000\") <=> engine->evaluate(\"0x10000\")", + "engine->evaluate(\"0x10001\") <=> QScriptValue(0x10001)", + "engine->evaluate(\"0x10001\") <=> QScriptValue(0, 0x10001)", + "engine->evaluate(\"0x10001\") <=> QScriptValue(engine, 0x10001)", + "engine->evaluate(\"0x10001\") <=> engine->evaluate(\"0x10001\")", + "engine->evaluate(\"Infinity\") <=> QScriptValue(qInf())", + "engine->evaluate(\"Infinity\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"Infinity\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"Infinity\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"Infinity\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"Infinity\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"Infinity\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(-qInf())", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(\"-Infinity\")", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, -qInf())", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, \"-Infinity\")", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, -qInf())", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"-Infinity\")", + "engine->evaluate(\"'ciao'\") <=> QScriptValue(\"ciao\")", + "engine->evaluate(\"'ciao'\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"'ciao'\") <=> QScriptValue(0, \"ciao\")", + "engine->evaluate(\"'ciao'\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"'ciao'\") <=> QScriptValue(engine, \"ciao\")", + "engine->evaluate(\"'ciao'\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"'ciao'\")", + "engine->evaluate(\"''\") <=> QScriptValue(false)", + "engine->evaluate(\"''\") <=> QScriptValue(0)", + "engine->evaluate(\"''\") <=> QScriptValue(0.0)", + "engine->evaluate(\"''\") <=> QScriptValue(QString(\"\"))", + "engine->evaluate(\"''\") <=> QScriptValue(QString())", + "engine->evaluate(\"''\") <=> QScriptValue(0, false)", + "engine->evaluate(\"''\") <=> QScriptValue(0, 0)", + "engine->evaluate(\"''\") <=> QScriptValue(0, 0.0)", + "engine->evaluate(\"''\") <=> QScriptValue(0, QString(\"\"))", + "engine->evaluate(\"''\") <=> QScriptValue(0, QString())", + "engine->evaluate(\"''\") <=> QScriptValue(engine, false)", + "engine->evaluate(\"''\") <=> QScriptValue(engine, 0)", + "engine->evaluate(\"''\") <=> QScriptValue(engine, 0.0)", + "engine->evaluate(\"''\") <=> QScriptValue(engine, QString(\"\"))", + "engine->evaluate(\"''\") <=> QScriptValue(engine, QString())", + "engine->evaluate(\"''\") <=> engine->evaluate(\"[]\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"Array.prototype\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"new Array()\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"false\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"0\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"0.0\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"''\")", + "engine->evaluate(\"''\") <=> engine->newArray()", + "engine->evaluate(\"''\") <=> engine->newVariant(QVariant(false))", + "engine->evaluate(\"'0'\") <=> QScriptValue(false)", + "engine->evaluate(\"'0'\") <=> QScriptValue(0)", + "engine->evaluate(\"'0'\") <=> QScriptValue(0.0)", + "engine->evaluate(\"'0'\") <=> QScriptValue(QString(\"0\"))", + "engine->evaluate(\"'0'\") <=> QScriptValue(0, false)", + "engine->evaluate(\"'0'\") <=> QScriptValue(0, 0)", + "engine->evaluate(\"'0'\") <=> QScriptValue(0, 0.0)", + "engine->evaluate(\"'0'\") <=> QScriptValue(0, QString(\"0\"))", + "engine->evaluate(\"'0'\") <=> QScriptValue(engine, false)", + "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 0)", + "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 0.0)", + "engine->evaluate(\"'0'\") <=> QScriptValue(engine, QString(\"0\"))", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"false\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"0\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"0.0\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"'0'\")", + "engine->evaluate(\"'0'\") <=> engine->newVariant(QVariant(false))", + "engine->evaluate(\"'123'\") <=> QScriptValue(123.0)", + "engine->evaluate(\"'123'\") <=> QScriptValue(QString(\"123\"))", + "engine->evaluate(\"'123'\") <=> QScriptValue(0, 123.0)", + "engine->evaluate(\"'123'\") <=> QScriptValue(0, QString(\"123\"))", + "engine->evaluate(\"'123'\") <=> QScriptValue(engine, 123.0)", + "engine->evaluate(\"'123'\") <=> QScriptValue(engine, QString(\"123\"))", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"123.0\")", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"'123'\")", + "engine->evaluate(\"'123'\") <=> engine->newVariant(QVariant(123))", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(QString(\"12.4\"))", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"'12.4'\")", + "engine->nullValue() <=> QScriptValue(QScriptValue::UndefinedValue)", + "engine->nullValue() <=> QScriptValue(QScriptValue::NullValue)", + "engine->nullValue() <=> QScriptValue(0, QScriptValue::UndefinedValue)", + "engine->nullValue() <=> QScriptValue(0, QScriptValue::NullValue)", + "engine->nullValue() <=> QScriptValue(engine, QScriptValue::UndefinedValue)", + "engine->nullValue() <=> QScriptValue(engine, QScriptValue::NullValue)", + "engine->nullValue() <=> engine->evaluate(\"{}\")", + "engine->nullValue() <=> engine->evaluate(\"undefined\")", + "engine->nullValue() <=> engine->evaluate(\"null\")", + "engine->nullValue() <=> engine->nullValue()", + "engine->nullValue() <=> engine->undefinedValue()", + "engine->nullValue() <=> engine->newQObject(0)", + "engine->undefinedValue() <=> QScriptValue(QScriptValue::UndefinedValue)", + "engine->undefinedValue() <=> QScriptValue(QScriptValue::NullValue)", + "engine->undefinedValue() <=> QScriptValue(0, QScriptValue::UndefinedValue)", + "engine->undefinedValue() <=> QScriptValue(0, QScriptValue::NullValue)", + "engine->undefinedValue() <=> QScriptValue(engine, QScriptValue::UndefinedValue)", + "engine->undefinedValue() <=> QScriptValue(engine, QScriptValue::NullValue)", + "engine->undefinedValue() <=> engine->evaluate(\"{}\")", + "engine->undefinedValue() <=> engine->evaluate(\"undefined\")", + "engine->undefinedValue() <=> engine->evaluate(\"null\")", + "engine->undefinedValue() <=> engine->nullValue()", + "engine->undefinedValue() <=> engine->undefinedValue()", + "engine->undefinedValue() <=> engine->newQObject(0)", + "engine->newObject() <=> engine->newObject()", + "engine->newArray() <=> QScriptValue(false)", + "engine->newArray() <=> QScriptValue(0)", + "engine->newArray() <=> QScriptValue(0.0)", + "engine->newArray() <=> QScriptValue(QString(\"\"))", + "engine->newArray() <=> QScriptValue(QString())", + "engine->newArray() <=> QScriptValue(0, false)", + "engine->newArray() <=> QScriptValue(0, 0)", + "engine->newArray() <=> QScriptValue(0, 0.0)", + "engine->newArray() <=> QScriptValue(0, QString(\"\"))", + "engine->newArray() <=> QScriptValue(0, QString())", + "engine->newArray() <=> QScriptValue(engine, false)", + "engine->newArray() <=> QScriptValue(engine, 0)", + "engine->newArray() <=> QScriptValue(engine, 0.0)", + "engine->newArray() <=> QScriptValue(engine, QString(\"\"))", + "engine->newArray() <=> QScriptValue(engine, QString())", + "engine->newArray() <=> engine->evaluate(\"false\")", + "engine->newArray() <=> engine->evaluate(\"0\")", + "engine->newArray() <=> engine->evaluate(\"0.0\")", + "engine->newArray() <=> engine->evaluate(\"''\")", + "engine->newArray() <=> engine->newArray()", + "engine->newArray(10) <=> engine->newArray(10)", + "engine->newDate(QDateTime()) <=> engine->newDate(QDateTime())", + "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "engine->newVariant(QVariant()) <=> engine->newVariant(QVariant())", + "engine->newVariant(QVariant(123)) <=> QScriptValue(123.0)", + "engine->newVariant(QVariant(123)) <=> QScriptValue(QString(\"123\"))", + "engine->newVariant(QVariant(123)) <=> QScriptValue(0, 123.0)", + "engine->newVariant(QVariant(123)) <=> QScriptValue(0, QString(\"123\"))", + "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, 123.0)", + "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, QString(\"123\"))", + "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"123.0\")", + "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"'123'\")", + "engine->newVariant(QVariant(123)) <=> engine->newVariant(QVariant(123))", + "engine->newVariant(QVariant(false)) <=> QScriptValue(false)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0.0)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(QString(\"\"))", + "engine->newVariant(QVariant(false)) <=> QScriptValue(QString())", + "engine->newVariant(QVariant(false)) <=> QScriptValue(QString(\"0\"))", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0, false)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0, 0)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0, 0.0)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0, QString(\"\"))", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0, QString())", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0, QString(\"0\"))", + "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, false)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 0)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 0.0)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, QString(\"\"))", + "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, QString())", + "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, QString(\"0\"))", + "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"false\")", + "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"0\")", + "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"0.0\")", + "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"''\")", + "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"'0'\")", + "engine->newVariant(QVariant(false)) <=> engine->newVariant(QVariant(false))", + "engine->newQObject(0) <=> QScriptValue(QScriptValue::UndefinedValue)", + "engine->newQObject(0) <=> QScriptValue(QScriptValue::NullValue)", + "engine->newQObject(0) <=> QScriptValue(0, QScriptValue::UndefinedValue)", + "engine->newQObject(0) <=> QScriptValue(0, QScriptValue::NullValue)", + "engine->newQObject(0) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", + "engine->newQObject(0) <=> QScriptValue(engine, QScriptValue::NullValue)", + "engine->newQObject(0) <=> engine->evaluate(\"{}\")", + "engine->newQObject(0) <=> engine->evaluate(\"undefined\")", + "engine->newQObject(0) <=> engine->evaluate(\"null\")", + "engine->newQObject(0) <=> engine->nullValue()", + "engine->newQObject(0) <=> engine->undefinedValue()", + "engine->newQObject(0) <=> engine->newQObject(0)", + "engine->newQObject(engine) <=> engine->newQObject(engine)",}; + +void tst_QScriptValue::equals_makeData(const char *expr) +{ + static QSet equals; + if (equals.isEmpty()) { + equals.reserve(1217); + for (unsigned i = 0; i < 1217; ++i) + equals.insert(equals_array[i]); + } + QHash::const_iterator it; + for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) { + QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key()); + newRow(tag.toLatin1()) << it.value() << equals.contains(tag); + } +} + +void tst_QScriptValue::equals_test(const char *, const QScriptValue& value) +{ + QFETCH(QScriptValue, other); + QFETCH(bool, expected); + QCOMPARE(value.equals(other), expected); +} + +DEFINE_TEST_FUNCTION(equals) + + +void tst_QScriptValue::strictlyEquals_initData() +{ + QTest::addColumn("other"); + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString strictlyEquals_array [] = { + "QScriptValue() <=> QScriptValue()", + "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)", + "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", + "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", + "QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")", + "QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")", + "QScriptValue(QScriptValue::UndefinedValue) <=> engine->undefinedValue()", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)", + "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"null\")", + "QScriptValue(QScriptValue::NullValue) <=> engine->nullValue()", + "QScriptValue(QScriptValue::NullValue) <=> engine->newQObject(0)", + "QScriptValue(true) <=> QScriptValue(true)", + "QScriptValue(true) <=> QScriptValue(0, true)", + "QScriptValue(true) <=> QScriptValue(engine, true)", + "QScriptValue(true) <=> engine->evaluate(\"true\")", + "QScriptValue(false) <=> QScriptValue(false)", + "QScriptValue(false) <=> QScriptValue(0, false)", + "QScriptValue(false) <=> QScriptValue(engine, false)", + "QScriptValue(false) <=> engine->evaluate(\"false\")", + "QScriptValue(int(122)) <=> QScriptValue(int(122))", + "QScriptValue(int(122)) <=> QScriptValue(0, int(122))", + "QScriptValue(int(122)) <=> QScriptValue(engine, int(122))", + "QScriptValue(int(122)) <=> engine->evaluate(\"122\")", + "QScriptValue(uint(124)) <=> QScriptValue(uint(124))", + "QScriptValue(uint(124)) <=> QScriptValue(0, uint(124))", + "QScriptValue(uint(124)) <=> QScriptValue(engine, uint(124))", + "QScriptValue(uint(124)) <=> engine->evaluate(\"124\")", + "QScriptValue(0) <=> QScriptValue(0)", + "QScriptValue(0) <=> QScriptValue(0.0)", + "QScriptValue(0) <=> QScriptValue(0, 0)", + "QScriptValue(0) <=> QScriptValue(0, 0.0)", + "QScriptValue(0) <=> QScriptValue(engine, 0)", + "QScriptValue(0) <=> QScriptValue(engine, 0.0)", + "QScriptValue(0) <=> engine->evaluate(\"0\")", + "QScriptValue(0) <=> engine->evaluate(\"0.0\")", + "QScriptValue(0.0) <=> QScriptValue(0)", + "QScriptValue(0.0) <=> QScriptValue(0.0)", + "QScriptValue(0.0) <=> QScriptValue(0, 0)", + "QScriptValue(0.0) <=> QScriptValue(0, 0.0)", + "QScriptValue(0.0) <=> QScriptValue(engine, 0)", + "QScriptValue(0.0) <=> QScriptValue(engine, 0.0)", + "QScriptValue(0.0) <=> engine->evaluate(\"0\")", + "QScriptValue(0.0) <=> engine->evaluate(\"0.0\")", + "QScriptValue(123.0) <=> QScriptValue(123.0)", + "QScriptValue(123.0) <=> QScriptValue(0, 123.0)", + "QScriptValue(123.0) <=> QScriptValue(engine, 123.0)", + "QScriptValue(123.0) <=> engine->evaluate(\"123.0\")", + "QScriptValue(6.37e-8) <=> QScriptValue(6.37e-8)", + "QScriptValue(6.37e-8) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(6.37e-8) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(6.37e-8) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(-6.37e-8) <=> QScriptValue(-6.37e-8)", + "QScriptValue(-6.37e-8) <=> QScriptValue(0, -6.37e-8)", + "QScriptValue(-6.37e-8) <=> QScriptValue(engine, -6.37e-8)", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"-6.37e-8\")", + "QScriptValue(0x43211234) <=> QScriptValue(0x43211234)", + "QScriptValue(0x43211234) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0x43211234) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0x43211234) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0x10000) <=> QScriptValue(0x10000)", + "QScriptValue(0x10000) <=> QScriptValue(0, 0x10000)", + "QScriptValue(0x10000) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0x10000) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0x10001) <=> QScriptValue(0x10001)", + "QScriptValue(0x10001) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0x10001) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0x10001) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(qInf()) <=> QScriptValue(qInf())", + "QScriptValue(qInf()) <=> QScriptValue(0, qInf())", + "QScriptValue(qInf()) <=> QScriptValue(engine, qInf())", + "QScriptValue(qInf()) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(-qInf()) <=> QScriptValue(-qInf())", + "QScriptValue(-qInf()) <=> QScriptValue(0, -qInf())", + "QScriptValue(-qInf()) <=> QScriptValue(engine, -qInf())", + "QScriptValue(-qInf()) <=> engine->evaluate(\"-Infinity\")", + "QScriptValue(\"NaN\") <=> QScriptValue(\"NaN\")", + "QScriptValue(\"NaN\") <=> QScriptValue(0, \"NaN\")", + "QScriptValue(\"NaN\") <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(\"Infinity\") <=> QScriptValue(\"Infinity\")", + "QScriptValue(\"Infinity\") <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(\"-Infinity\") <=> QScriptValue(\"-Infinity\")", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"-Infinity\")", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")", + "QScriptValue(\"ciao\") <=> QScriptValue(\"ciao\")", + "QScriptValue(\"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(\"ciao\") <=> QScriptValue(0, \"ciao\")", + "QScriptValue(\"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(\"ciao\") <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(\"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(\"ciao\") <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")", + "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")", + "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"\"))", + "QScriptValue(QString(\"\")) <=> QScriptValue(QString())", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString())", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString())", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"''\")", + "QScriptValue(QString()) <=> QScriptValue(QString(\"\"))", + "QScriptValue(QString()) <=> QScriptValue(QString())", + "QScriptValue(QString()) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(QString()) <=> QScriptValue(0, QString())", + "QScriptValue(QString()) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(QString()) <=> QScriptValue(engine, QString())", + "QScriptValue(QString()) <=> engine->evaluate(\"''\")", + "QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"'0'\")", + "QScriptValue(QString(\"123\")) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"'123'\")", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)", + "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", + "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", + "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")", + "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")", + "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->undefinedValue()", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)", + "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"null\")", + "QScriptValue(0, QScriptValue::NullValue) <=> engine->nullValue()", + "QScriptValue(0, QScriptValue::NullValue) <=> engine->newQObject(0)", + "QScriptValue(0, true) <=> QScriptValue(true)", + "QScriptValue(0, true) <=> QScriptValue(0, true)", + "QScriptValue(0, true) <=> QScriptValue(engine, true)", + "QScriptValue(0, true) <=> engine->evaluate(\"true\")", + "QScriptValue(0, false) <=> QScriptValue(false)", + "QScriptValue(0, false) <=> QScriptValue(0, false)", + "QScriptValue(0, false) <=> QScriptValue(engine, false)", + "QScriptValue(0, false) <=> engine->evaluate(\"false\")", + "QScriptValue(0, int(122)) <=> QScriptValue(int(122))", + "QScriptValue(0, int(122)) <=> QScriptValue(0, int(122))", + "QScriptValue(0, int(122)) <=> QScriptValue(engine, int(122))", + "QScriptValue(0, int(122)) <=> engine->evaluate(\"122\")", + "QScriptValue(0, uint(124)) <=> QScriptValue(uint(124))", + "QScriptValue(0, uint(124)) <=> QScriptValue(0, uint(124))", + "QScriptValue(0, uint(124)) <=> QScriptValue(engine, uint(124))", + "QScriptValue(0, uint(124)) <=> engine->evaluate(\"124\")", + "QScriptValue(0, 0) <=> QScriptValue(0)", + "QScriptValue(0, 0) <=> QScriptValue(0.0)", + "QScriptValue(0, 0) <=> QScriptValue(0, 0)", + "QScriptValue(0, 0) <=> QScriptValue(0, 0.0)", + "QScriptValue(0, 0) <=> QScriptValue(engine, 0)", + "QScriptValue(0, 0) <=> QScriptValue(engine, 0.0)", + "QScriptValue(0, 0) <=> engine->evaluate(\"0\")", + "QScriptValue(0, 0) <=> engine->evaluate(\"0.0\")", + "QScriptValue(0, 0.0) <=> QScriptValue(0)", + "QScriptValue(0, 0.0) <=> QScriptValue(0.0)", + "QScriptValue(0, 0.0) <=> QScriptValue(0, 0)", + "QScriptValue(0, 0.0) <=> QScriptValue(0, 0.0)", + "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0)", + "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0.0)", + "QScriptValue(0, 0.0) <=> engine->evaluate(\"0\")", + "QScriptValue(0, 0.0) <=> engine->evaluate(\"0.0\")", + "QScriptValue(0, 123.0) <=> QScriptValue(123.0)", + "QScriptValue(0, 123.0) <=> QScriptValue(0, 123.0)", + "QScriptValue(0, 123.0) <=> QScriptValue(engine, 123.0)", + "QScriptValue(0, 123.0) <=> engine->evaluate(\"123.0\")", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(6.37e-8)", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(-6.37e-8)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, -6.37e-8)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"-6.37e-8\")", + "QScriptValue(0, 0x43211234) <=> QScriptValue(0x43211234)", + "QScriptValue(0, 0x43211234) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0, 0x43211234) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0, 0x43211234) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0, 0x10000) <=> QScriptValue(0x10000)", + "QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x10000)", + "QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0, 0x10000) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0, 0x10001) <=> QScriptValue(0x10001)", + "QScriptValue(0, 0x10001) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0, 0x10001) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0, 0x10001) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0, qInf()) <=> QScriptValue(qInf())", + "QScriptValue(0, qInf()) <=> QScriptValue(0, qInf())", + "QScriptValue(0, qInf()) <=> QScriptValue(engine, qInf())", + "QScriptValue(0, qInf()) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, -qInf()) <=> QScriptValue(-qInf())", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, -qInf())", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, -qInf())", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"-Infinity\")", + "QScriptValue(0, \"NaN\") <=> QScriptValue(\"NaN\")", + "QScriptValue(0, \"NaN\") <=> QScriptValue(0, \"NaN\")", + "QScriptValue(0, \"NaN\") <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(0, \"Infinity\") <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"-Infinity\")", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")", + "QScriptValue(0, \"ciao\") <=> QScriptValue(\"ciao\")", + "QScriptValue(0, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, \"ciao\") <=> QScriptValue(0, \"ciao\")", + "QScriptValue(0, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, \"ciao\") <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(0, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")", + "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")", + "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"\"))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString())", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString())", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString())", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"''\")", + "QScriptValue(0, QString()) <=> QScriptValue(QString(\"\"))", + "QScriptValue(0, QString()) <=> QScriptValue(QString())", + "QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(0, QString()) <=> QScriptValue(0, QString())", + "QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(0, QString()) <=> QScriptValue(engine, QString())", + "QScriptValue(0, QString()) <=> engine->evaluate(\"''\")", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"'0'\")", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"'123'\")", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)", + "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", + "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", + "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")", + "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")", + "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->undefinedValue()", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)", + "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"null\")", + "QScriptValue(engine, QScriptValue::NullValue) <=> engine->nullValue()", + "QScriptValue(engine, QScriptValue::NullValue) <=> engine->newQObject(0)", + "QScriptValue(engine, true) <=> QScriptValue(true)", + "QScriptValue(engine, true) <=> QScriptValue(0, true)", + "QScriptValue(engine, true) <=> QScriptValue(engine, true)", + "QScriptValue(engine, true) <=> engine->evaluate(\"true\")", + "QScriptValue(engine, false) <=> QScriptValue(false)", + "QScriptValue(engine, false) <=> QScriptValue(0, false)", + "QScriptValue(engine, false) <=> QScriptValue(engine, false)", + "QScriptValue(engine, false) <=> engine->evaluate(\"false\")", + "QScriptValue(engine, int(122)) <=> QScriptValue(int(122))", + "QScriptValue(engine, int(122)) <=> QScriptValue(0, int(122))", + "QScriptValue(engine, int(122)) <=> QScriptValue(engine, int(122))", + "QScriptValue(engine, int(122)) <=> engine->evaluate(\"122\")", + "QScriptValue(engine, uint(124)) <=> QScriptValue(uint(124))", + "QScriptValue(engine, uint(124)) <=> QScriptValue(0, uint(124))", + "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, uint(124))", + "QScriptValue(engine, uint(124)) <=> engine->evaluate(\"124\")", + "QScriptValue(engine, 0) <=> QScriptValue(0)", + "QScriptValue(engine, 0) <=> QScriptValue(0.0)", + "QScriptValue(engine, 0) <=> QScriptValue(0, 0)", + "QScriptValue(engine, 0) <=> QScriptValue(0, 0.0)", + "QScriptValue(engine, 0) <=> QScriptValue(engine, 0)", + "QScriptValue(engine, 0) <=> QScriptValue(engine, 0.0)", + "QScriptValue(engine, 0) <=> engine->evaluate(\"0\")", + "QScriptValue(engine, 0) <=> engine->evaluate(\"0.0\")", + "QScriptValue(engine, 0.0) <=> QScriptValue(0)", + "QScriptValue(engine, 0.0) <=> QScriptValue(0.0)", + "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0)", + "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0.0)", + "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0)", + "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0.0)", + "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0\")", + "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0.0\")", + "QScriptValue(engine, 123.0) <=> QScriptValue(123.0)", + "QScriptValue(engine, 123.0) <=> QScriptValue(0, 123.0)", + "QScriptValue(engine, 123.0) <=> QScriptValue(engine, 123.0)", + "QScriptValue(engine, 123.0) <=> engine->evaluate(\"123.0\")", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(6.37e-8)", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(-6.37e-8)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, -6.37e-8)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"-6.37e-8\")", + "QScriptValue(engine, 0x43211234) <=> QScriptValue(0x43211234)", + "QScriptValue(engine, 0x43211234) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(engine, 0x43211234) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(engine, 0x10000) <=> QScriptValue(0x10000)", + "QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x10000)", + "QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(engine, 0x10000) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(engine, 0x10001) <=> QScriptValue(0x10001)", + "QScriptValue(engine, 0x10001) <=> QScriptValue(0, 0x10001)", + "QScriptValue(engine, 0x10001) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(engine, 0x10001) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(engine, qInf()) <=> QScriptValue(qInf())", + "QScriptValue(engine, qInf()) <=> QScriptValue(0, qInf())", + "QScriptValue(engine, qInf()) <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, qInf()) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, -qInf()) <=> QScriptValue(-qInf())", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, -qInf())", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, -qInf())", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"-Infinity\")", + "QScriptValue(engine, \"NaN\") <=> QScriptValue(\"NaN\")", + "QScriptValue(engine, \"NaN\") <=> QScriptValue(0, \"NaN\")", + "QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"-Infinity\")", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")", + "QScriptValue(engine, \"ciao\") <=> QScriptValue(\"ciao\")", + "QScriptValue(engine, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, \"ciao\") <=> QScriptValue(0, \"ciao\")", + "QScriptValue(engine, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")", + "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")", + "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"\"))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString())", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString())", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString())", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"''\")", + "QScriptValue(engine, QString()) <=> QScriptValue(QString(\"\"))", + "QScriptValue(engine, QString()) <=> QScriptValue(QString())", + "QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(engine, QString()) <=> QScriptValue(0, QString())", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString())", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"''\")", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"'0'\")", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"'123'\")", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString(\"1.23\"))", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"[]\")", + "engine->evaluate(\"{}\") <=> QScriptValue(QScriptValue::UndefinedValue)", + "engine->evaluate(\"{}\") <=> QScriptValue(0, QScriptValue::UndefinedValue)", + "engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)", + "engine->evaluate(\"{}\") <=> engine->evaluate(\"{}\")", + "engine->evaluate(\"{}\") <=> engine->evaluate(\"undefined\")", + "engine->evaluate(\"{}\") <=> engine->undefinedValue()", + "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Object.prototype\")", + "engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Date.prototype\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Array.prototype\")", + "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Function.prototype\")", + "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Error.prototype\")", + "engine->evaluate(\"Object\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"Array\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"Number\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"Function\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"/foo/\")", + "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"new Object()\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Array()\")", + "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"new Error()\")", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Undefined\")", + "engine->evaluate(\"Null\") <=> engine->evaluate(\"Null\")", + "engine->evaluate(\"True\") <=> engine->evaluate(\"True\")", + "engine->evaluate(\"False\") <=> engine->evaluate(\"False\")", + "engine->evaluate(\"undefined\") <=> QScriptValue(QScriptValue::UndefinedValue)", + "engine->evaluate(\"undefined\") <=> QScriptValue(0, QScriptValue::UndefinedValue)", + "engine->evaluate(\"undefined\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)", + "engine->evaluate(\"undefined\") <=> engine->evaluate(\"{}\")", + "engine->evaluate(\"undefined\") <=> engine->evaluate(\"undefined\")", + "engine->evaluate(\"undefined\") <=> engine->undefinedValue()", + "engine->evaluate(\"null\") <=> QScriptValue(QScriptValue::NullValue)", + "engine->evaluate(\"null\") <=> QScriptValue(0, QScriptValue::NullValue)", + "engine->evaluate(\"null\") <=> QScriptValue(engine, QScriptValue::NullValue)", + "engine->evaluate(\"null\") <=> engine->evaluate(\"null\")", + "engine->evaluate(\"null\") <=> engine->nullValue()", + "engine->evaluate(\"null\") <=> engine->newQObject(0)", + "engine->evaluate(\"true\") <=> QScriptValue(true)", + "engine->evaluate(\"true\") <=> QScriptValue(0, true)", + "engine->evaluate(\"true\") <=> QScriptValue(engine, true)", + "engine->evaluate(\"true\") <=> engine->evaluate(\"true\")", + "engine->evaluate(\"false\") <=> QScriptValue(false)", + "engine->evaluate(\"false\") <=> QScriptValue(0, false)", + "engine->evaluate(\"false\") <=> QScriptValue(engine, false)", + "engine->evaluate(\"false\") <=> engine->evaluate(\"false\")", + "engine->evaluate(\"122\") <=> QScriptValue(int(122))", + "engine->evaluate(\"122\") <=> QScriptValue(0, int(122))", + "engine->evaluate(\"122\") <=> QScriptValue(engine, int(122))", + "engine->evaluate(\"122\") <=> engine->evaluate(\"122\")", + "engine->evaluate(\"124\") <=> QScriptValue(uint(124))", + "engine->evaluate(\"124\") <=> QScriptValue(0, uint(124))", + "engine->evaluate(\"124\") <=> QScriptValue(engine, uint(124))", + "engine->evaluate(\"124\") <=> engine->evaluate(\"124\")", + "engine->evaluate(\"0\") <=> QScriptValue(0)", + "engine->evaluate(\"0\") <=> QScriptValue(0.0)", + "engine->evaluate(\"0\") <=> QScriptValue(0, 0)", + "engine->evaluate(\"0\") <=> QScriptValue(0, 0.0)", + "engine->evaluate(\"0\") <=> QScriptValue(engine, 0)", + "engine->evaluate(\"0\") <=> QScriptValue(engine, 0.0)", + "engine->evaluate(\"0\") <=> engine->evaluate(\"0\")", + "engine->evaluate(\"0\") <=> engine->evaluate(\"0.0\")", + "engine->evaluate(\"0.0\") <=> QScriptValue(0)", + "engine->evaluate(\"0.0\") <=> QScriptValue(0.0)", + "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0)", + "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0.0)", + "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0)", + "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0.0)", + "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0\")", + "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0.0\")", + "engine->evaluate(\"123.0\") <=> QScriptValue(123.0)", + "engine->evaluate(\"123.0\") <=> QScriptValue(0, 123.0)", + "engine->evaluate(\"123.0\") <=> QScriptValue(engine, 123.0)", + "engine->evaluate(\"123.0\") <=> engine->evaluate(\"123.0\")", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(6.37e-8)", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 6.37e-8)", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 6.37e-8)", + "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"6.37e-8\")", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(-6.37e-8)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, -6.37e-8)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, -6.37e-8)", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"-6.37e-8\")", + "engine->evaluate(\"0x43211234\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"0x43211234\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"0x43211234\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"0x43211234\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"0x10000\") <=> QScriptValue(0x10000)", + "engine->evaluate(\"0x10000\") <=> QScriptValue(0, 0x10000)", + "engine->evaluate(\"0x10000\") <=> QScriptValue(engine, 0x10000)", + "engine->evaluate(\"0x10000\") <=> engine->evaluate(\"0x10000\")", + "engine->evaluate(\"0x10001\") <=> QScriptValue(0x10001)", + "engine->evaluate(\"0x10001\") <=> QScriptValue(0, 0x10001)", + "engine->evaluate(\"0x10001\") <=> QScriptValue(engine, 0x10001)", + "engine->evaluate(\"0x10001\") <=> engine->evaluate(\"0x10001\")", + "engine->evaluate(\"Infinity\") <=> QScriptValue(qInf())", + "engine->evaluate(\"Infinity\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"Infinity\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"Infinity\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(-qInf())", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, -qInf())", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, -qInf())", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"-Infinity\")", + "engine->evaluate(\"'ciao'\") <=> QScriptValue(\"ciao\")", + "engine->evaluate(\"'ciao'\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"'ciao'\") <=> QScriptValue(0, \"ciao\")", + "engine->evaluate(\"'ciao'\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"'ciao'\") <=> QScriptValue(engine, \"ciao\")", + "engine->evaluate(\"'ciao'\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"'ciao'\")", + "engine->evaluate(\"''\") <=> QScriptValue(QString(\"\"))", + "engine->evaluate(\"''\") <=> QScriptValue(QString())", + "engine->evaluate(\"''\") <=> QScriptValue(0, QString(\"\"))", + "engine->evaluate(\"''\") <=> QScriptValue(0, QString())", + "engine->evaluate(\"''\") <=> QScriptValue(engine, QString(\"\"))", + "engine->evaluate(\"''\") <=> QScriptValue(engine, QString())", + "engine->evaluate(\"''\") <=> engine->evaluate(\"''\")", + "engine->evaluate(\"'0'\") <=> QScriptValue(QString(\"0\"))", + "engine->evaluate(\"'0'\") <=> QScriptValue(0, QString(\"0\"))", + "engine->evaluate(\"'0'\") <=> QScriptValue(engine, QString(\"0\"))", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"'0'\")", + "engine->evaluate(\"'123'\") <=> QScriptValue(QString(\"123\"))", + "engine->evaluate(\"'123'\") <=> QScriptValue(0, QString(\"123\"))", + "engine->evaluate(\"'123'\") <=> QScriptValue(engine, QString(\"123\"))", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"'123'\")", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(QString(\"12.4\"))", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"'12.4'\")", + "engine->nullValue() <=> QScriptValue(QScriptValue::NullValue)", + "engine->nullValue() <=> QScriptValue(0, QScriptValue::NullValue)", + "engine->nullValue() <=> QScriptValue(engine, QScriptValue::NullValue)", + "engine->nullValue() <=> engine->evaluate(\"null\")", + "engine->nullValue() <=> engine->nullValue()", + "engine->nullValue() <=> engine->newQObject(0)", + "engine->undefinedValue() <=> QScriptValue(QScriptValue::UndefinedValue)", + "engine->undefinedValue() <=> QScriptValue(0, QScriptValue::UndefinedValue)", + "engine->undefinedValue() <=> QScriptValue(engine, QScriptValue::UndefinedValue)", + "engine->undefinedValue() <=> engine->evaluate(\"{}\")", + "engine->undefinedValue() <=> engine->evaluate(\"undefined\")", + "engine->undefinedValue() <=> engine->undefinedValue()", + "engine->newObject() <=> engine->newObject()", + "engine->newArray() <=> engine->newArray()", + "engine->newArray(10) <=> engine->newArray(10)", + "engine->newDate(QDateTime()) <=> engine->newDate(QDateTime())", + "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "engine->newVariant(QVariant()) <=> engine->newVariant(QVariant())", + "engine->newVariant(QVariant(123)) <=> engine->newVariant(QVariant(123))", + "engine->newVariant(QVariant(false)) <=> engine->newVariant(QVariant(false))", + "engine->newQObject(0) <=> QScriptValue(QScriptValue::NullValue)", + "engine->newQObject(0) <=> QScriptValue(0, QScriptValue::NullValue)", + "engine->newQObject(0) <=> QScriptValue(engine, QScriptValue::NullValue)", + "engine->newQObject(0) <=> engine->evaluate(\"null\")", + "engine->newQObject(0) <=> engine->nullValue()", + "engine->newQObject(0) <=> engine->newQObject(0)", + "engine->newQObject(engine) <=> engine->newQObject(engine)",}; + +void tst_QScriptValue::strictlyEquals_makeData(const char *expr) +{ + static QSet equals; + if (equals.isEmpty()) { + equals.reserve(523); + for (unsigned i = 0; i < 523; ++i) + equals.insert(strictlyEquals_array[i]); + } + QHash::const_iterator it; + for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) { + QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key()); + newRow(tag.toLatin1()) << it.value() << equals.contains(tag); + } +} + +void tst_QScriptValue::strictlyEquals_test(const char *, const QScriptValue& value) +{ + QFETCH(QScriptValue, other); + QFETCH(bool, expected); + QCOMPARE(value.strictlyEquals(other), expected); +} + +DEFINE_TEST_FUNCTION(strictlyEquals) + + +void tst_QScriptValue::lessThan_initData() +{ + QTest::addColumn("other"); + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString lessThan_array [] = { + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(true)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(int(122))", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(uint(124))", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(123.0)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(6.37e-8)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0x43211234)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0x10000)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0x10001)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(qInf())", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(\"Infinity\")", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, true)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, int(122))", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, uint(124))", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 123.0)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 0x10000)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 0x10001)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, qInf())", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, true)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, int(122))", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, uint(124))", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 123.0)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, qInf())", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"true\")", + "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"122\")", + "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"124\")", + "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"123.0\")", + "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"'123'\")", + "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(QScriptValue::NullValue) <=> engine->newVariant(QVariant(123))", + "QScriptValue(true) <=> QScriptValue(int(122))", + "QScriptValue(true) <=> QScriptValue(uint(124))", + "QScriptValue(true) <=> QScriptValue(123.0)", + "QScriptValue(true) <=> QScriptValue(0x43211234)", + "QScriptValue(true) <=> QScriptValue(0x10000)", + "QScriptValue(true) <=> QScriptValue(0x10001)", + "QScriptValue(true) <=> QScriptValue(qInf())", + "QScriptValue(true) <=> QScriptValue(\"Infinity\")", + "QScriptValue(true) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(true) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(true) <=> QScriptValue(0, int(122))", + "QScriptValue(true) <=> QScriptValue(0, uint(124))", + "QScriptValue(true) <=> QScriptValue(0, 123.0)", + "QScriptValue(true) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(true) <=> QScriptValue(0, 0x10000)", + "QScriptValue(true) <=> QScriptValue(0, 0x10001)", + "QScriptValue(true) <=> QScriptValue(0, qInf())", + "QScriptValue(true) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(true) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(true) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(true) <=> QScriptValue(engine, int(122))", + "QScriptValue(true) <=> QScriptValue(engine, uint(124))", + "QScriptValue(true) <=> QScriptValue(engine, 123.0)", + "QScriptValue(true) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(true) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(true) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(true) <=> QScriptValue(engine, qInf())", + "QScriptValue(true) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(true) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(true) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(true) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(true) <=> engine->evaluate(\"122\")", + "QScriptValue(true) <=> engine->evaluate(\"124\")", + "QScriptValue(true) <=> engine->evaluate(\"123.0\")", + "QScriptValue(true) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(true) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(true) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(true) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(true) <=> engine->evaluate(\"'123'\")", + "QScriptValue(true) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(true) <=> engine->newVariant(QVariant(123))", + "QScriptValue(false) <=> QScriptValue(true)", + "QScriptValue(false) <=> QScriptValue(int(122))", + "QScriptValue(false) <=> QScriptValue(uint(124))", + "QScriptValue(false) <=> QScriptValue(123.0)", + "QScriptValue(false) <=> QScriptValue(6.37e-8)", + "QScriptValue(false) <=> QScriptValue(0x43211234)", + "QScriptValue(false) <=> QScriptValue(0x10000)", + "QScriptValue(false) <=> QScriptValue(0x10001)", + "QScriptValue(false) <=> QScriptValue(qInf())", + "QScriptValue(false) <=> QScriptValue(\"Infinity\")", + "QScriptValue(false) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(false) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(false) <=> QScriptValue(0, true)", + "QScriptValue(false) <=> QScriptValue(0, int(122))", + "QScriptValue(false) <=> QScriptValue(0, uint(124))", + "QScriptValue(false) <=> QScriptValue(0, 123.0)", + "QScriptValue(false) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(false) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(false) <=> QScriptValue(0, 0x10000)", + "QScriptValue(false) <=> QScriptValue(0, 0x10001)", + "QScriptValue(false) <=> QScriptValue(0, qInf())", + "QScriptValue(false) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(false) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(false) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(false) <=> QScriptValue(engine, true)", + "QScriptValue(false) <=> QScriptValue(engine, int(122))", + "QScriptValue(false) <=> QScriptValue(engine, uint(124))", + "QScriptValue(false) <=> QScriptValue(engine, 123.0)", + "QScriptValue(false) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(false) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(false) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(false) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(false) <=> QScriptValue(engine, qInf())", + "QScriptValue(false) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(false) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(false) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(false) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(false) <=> engine->evaluate(\"true\")", + "QScriptValue(false) <=> engine->evaluate(\"122\")", + "QScriptValue(false) <=> engine->evaluate(\"124\")", + "QScriptValue(false) <=> engine->evaluate(\"123.0\")", + "QScriptValue(false) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(false) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(false) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(false) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(false) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(false) <=> engine->evaluate(\"'123'\")", + "QScriptValue(false) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(false) <=> engine->newVariant(QVariant(123))", + "QScriptValue(int(122)) <=> QScriptValue(uint(124))", + "QScriptValue(int(122)) <=> QScriptValue(123.0)", + "QScriptValue(int(122)) <=> QScriptValue(0x43211234)", + "QScriptValue(int(122)) <=> QScriptValue(0x10000)", + "QScriptValue(int(122)) <=> QScriptValue(0x10001)", + "QScriptValue(int(122)) <=> QScriptValue(qInf())", + "QScriptValue(int(122)) <=> QScriptValue(\"Infinity\")", + "QScriptValue(int(122)) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(int(122)) <=> QScriptValue(0, uint(124))", + "QScriptValue(int(122)) <=> QScriptValue(0, 123.0)", + "QScriptValue(int(122)) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(int(122)) <=> QScriptValue(0, 0x10000)", + "QScriptValue(int(122)) <=> QScriptValue(0, 0x10001)", + "QScriptValue(int(122)) <=> QScriptValue(0, qInf())", + "QScriptValue(int(122)) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(int(122)) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(int(122)) <=> QScriptValue(engine, uint(124))", + "QScriptValue(int(122)) <=> QScriptValue(engine, 123.0)", + "QScriptValue(int(122)) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(int(122)) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(int(122)) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(int(122)) <=> QScriptValue(engine, qInf())", + "QScriptValue(int(122)) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(int(122)) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(int(122)) <=> engine->evaluate(\"124\")", + "QScriptValue(int(122)) <=> engine->evaluate(\"123.0\")", + "QScriptValue(int(122)) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(int(122)) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(int(122)) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(int(122)) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(int(122)) <=> engine->evaluate(\"'123'\")", + "QScriptValue(int(122)) <=> engine->newVariant(QVariant(123))", + "QScriptValue(uint(124)) <=> QScriptValue(0x43211234)", + "QScriptValue(uint(124)) <=> QScriptValue(0x10000)", + "QScriptValue(uint(124)) <=> QScriptValue(0x10001)", + "QScriptValue(uint(124)) <=> QScriptValue(qInf())", + "QScriptValue(uint(124)) <=> QScriptValue(\"Infinity\")", + "QScriptValue(uint(124)) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(uint(124)) <=> QScriptValue(0, 0x10000)", + "QScriptValue(uint(124)) <=> QScriptValue(0, 0x10001)", + "QScriptValue(uint(124)) <=> QScriptValue(0, qInf())", + "QScriptValue(uint(124)) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(uint(124)) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(uint(124)) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(uint(124)) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(uint(124)) <=> QScriptValue(engine, qInf())", + "QScriptValue(uint(124)) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(uint(124)) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(uint(124)) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(uint(124)) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(uint(124)) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0) <=> QScriptValue(true)", + "QScriptValue(0) <=> QScriptValue(int(122))", + "QScriptValue(0) <=> QScriptValue(uint(124))", + "QScriptValue(0) <=> QScriptValue(123.0)", + "QScriptValue(0) <=> QScriptValue(6.37e-8)", + "QScriptValue(0) <=> QScriptValue(0x43211234)", + "QScriptValue(0) <=> QScriptValue(0x10000)", + "QScriptValue(0) <=> QScriptValue(0x10001)", + "QScriptValue(0) <=> QScriptValue(qInf())", + "QScriptValue(0) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(0) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(0) <=> QScriptValue(0, true)", + "QScriptValue(0) <=> QScriptValue(0, int(122))", + "QScriptValue(0) <=> QScriptValue(0, uint(124))", + "QScriptValue(0) <=> QScriptValue(0, 123.0)", + "QScriptValue(0) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(0) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0) <=> QScriptValue(0, 0x10000)", + "QScriptValue(0) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0) <=> QScriptValue(0, qInf())", + "QScriptValue(0) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(0) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(0) <=> QScriptValue(engine, true)", + "QScriptValue(0) <=> QScriptValue(engine, int(122))", + "QScriptValue(0) <=> QScriptValue(engine, uint(124))", + "QScriptValue(0) <=> QScriptValue(engine, 123.0)", + "QScriptValue(0) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(0) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0) <=> QScriptValue(engine, qInf())", + "QScriptValue(0) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(0) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(0) <=> engine->evaluate(\"true\")", + "QScriptValue(0) <=> engine->evaluate(\"122\")", + "QScriptValue(0) <=> engine->evaluate(\"124\")", + "QScriptValue(0) <=> engine->evaluate(\"123.0\")", + "QScriptValue(0) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(0) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0) <=> engine->evaluate(\"'123'\")", + "QScriptValue(0) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(0) <=> engine->newVariant(QVariant(123))", + "QScriptValue(0.0) <=> QScriptValue(true)", + "QScriptValue(0.0) <=> QScriptValue(int(122))", + "QScriptValue(0.0) <=> QScriptValue(uint(124))", + "QScriptValue(0.0) <=> QScriptValue(123.0)", + "QScriptValue(0.0) <=> QScriptValue(6.37e-8)", + "QScriptValue(0.0) <=> QScriptValue(0x43211234)", + "QScriptValue(0.0) <=> QScriptValue(0x10000)", + "QScriptValue(0.0) <=> QScriptValue(0x10001)", + "QScriptValue(0.0) <=> QScriptValue(qInf())", + "QScriptValue(0.0) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0.0) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(0.0) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(0.0) <=> QScriptValue(0, true)", + "QScriptValue(0.0) <=> QScriptValue(0, int(122))", + "QScriptValue(0.0) <=> QScriptValue(0, uint(124))", + "QScriptValue(0.0) <=> QScriptValue(0, 123.0)", + "QScriptValue(0.0) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(0.0) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0.0) <=> QScriptValue(0, 0x10000)", + "QScriptValue(0.0) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0.0) <=> QScriptValue(0, qInf())", + "QScriptValue(0.0) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0.0) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(0.0) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(0.0) <=> QScriptValue(engine, true)", + "QScriptValue(0.0) <=> QScriptValue(engine, int(122))", + "QScriptValue(0.0) <=> QScriptValue(engine, uint(124))", + "QScriptValue(0.0) <=> QScriptValue(engine, 123.0)", + "QScriptValue(0.0) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(0.0) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0.0) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0.0) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0.0) <=> QScriptValue(engine, qInf())", + "QScriptValue(0.0) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0.0) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(0.0) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(0.0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(0.0) <=> engine->evaluate(\"true\")", + "QScriptValue(0.0) <=> engine->evaluate(\"122\")", + "QScriptValue(0.0) <=> engine->evaluate(\"124\")", + "QScriptValue(0.0) <=> engine->evaluate(\"123.0\")", + "QScriptValue(0.0) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(0.0) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0.0) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0.0) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0.0) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0.0) <=> engine->evaluate(\"'123'\")", + "QScriptValue(0.0) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(0.0) <=> engine->newVariant(QVariant(123))", + "QScriptValue(123.0) <=> QScriptValue(uint(124))", + "QScriptValue(123.0) <=> QScriptValue(0x43211234)", + "QScriptValue(123.0) <=> QScriptValue(0x10000)", + "QScriptValue(123.0) <=> QScriptValue(0x10001)", + "QScriptValue(123.0) <=> QScriptValue(qInf())", + "QScriptValue(123.0) <=> QScriptValue(\"Infinity\")", + "QScriptValue(123.0) <=> QScriptValue(0, uint(124))", + "QScriptValue(123.0) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(123.0) <=> QScriptValue(0, 0x10000)", + "QScriptValue(123.0) <=> QScriptValue(0, 0x10001)", + "QScriptValue(123.0) <=> QScriptValue(0, qInf())", + "QScriptValue(123.0) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(123.0) <=> QScriptValue(engine, uint(124))", + "QScriptValue(123.0) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(123.0) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(123.0) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(123.0) <=> QScriptValue(engine, qInf())", + "QScriptValue(123.0) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(123.0) <=> engine->evaluate(\"124\")", + "QScriptValue(123.0) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(123.0) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(123.0) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(123.0) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(6.37e-8) <=> QScriptValue(true)", + "QScriptValue(6.37e-8) <=> QScriptValue(int(122))", + "QScriptValue(6.37e-8) <=> QScriptValue(uint(124))", + "QScriptValue(6.37e-8) <=> QScriptValue(123.0)", + "QScriptValue(6.37e-8) <=> QScriptValue(0x43211234)", + "QScriptValue(6.37e-8) <=> QScriptValue(0x10000)", + "QScriptValue(6.37e-8) <=> QScriptValue(0x10001)", + "QScriptValue(6.37e-8) <=> QScriptValue(qInf())", + "QScriptValue(6.37e-8) <=> QScriptValue(\"Infinity\")", + "QScriptValue(6.37e-8) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(6.37e-8) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(6.37e-8) <=> QScriptValue(0, true)", + "QScriptValue(6.37e-8) <=> QScriptValue(0, int(122))", + "QScriptValue(6.37e-8) <=> QScriptValue(0, uint(124))", + "QScriptValue(6.37e-8) <=> QScriptValue(0, 123.0)", + "QScriptValue(6.37e-8) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(6.37e-8) <=> QScriptValue(0, 0x10000)", + "QScriptValue(6.37e-8) <=> QScriptValue(0, 0x10001)", + "QScriptValue(6.37e-8) <=> QScriptValue(0, qInf())", + "QScriptValue(6.37e-8) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(6.37e-8) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(6.37e-8) <=> QScriptValue(engine, true)", + "QScriptValue(6.37e-8) <=> QScriptValue(engine, int(122))", + "QScriptValue(6.37e-8) <=> QScriptValue(engine, uint(124))", + "QScriptValue(6.37e-8) <=> QScriptValue(engine, 123.0)", + "QScriptValue(6.37e-8) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(6.37e-8) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(6.37e-8) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(6.37e-8) <=> QScriptValue(engine, qInf())", + "QScriptValue(6.37e-8) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(6.37e-8) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(6.37e-8) <=> engine->evaluate(\"true\")", + "QScriptValue(6.37e-8) <=> engine->evaluate(\"122\")", + "QScriptValue(6.37e-8) <=> engine->evaluate(\"124\")", + "QScriptValue(6.37e-8) <=> engine->evaluate(\"123.0\")", + "QScriptValue(6.37e-8) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(6.37e-8) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(6.37e-8) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(6.37e-8) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(6.37e-8) <=> engine->evaluate(\"'123'\")", + "QScriptValue(6.37e-8) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(6.37e-8) <=> engine->newVariant(QVariant(123))", + "QScriptValue(-6.37e-8) <=> QScriptValue(QScriptValue::NullValue)", + "QScriptValue(-6.37e-8) <=> QScriptValue(true)", + "QScriptValue(-6.37e-8) <=> QScriptValue(false)", + "QScriptValue(-6.37e-8) <=> QScriptValue(int(122))", + "QScriptValue(-6.37e-8) <=> QScriptValue(uint(124))", + "QScriptValue(-6.37e-8) <=> QScriptValue(0)", + "QScriptValue(-6.37e-8) <=> QScriptValue(0.0)", + "QScriptValue(-6.37e-8) <=> QScriptValue(123.0)", + "QScriptValue(-6.37e-8) <=> QScriptValue(6.37e-8)", + "QScriptValue(-6.37e-8) <=> QScriptValue(0x43211234)", + "QScriptValue(-6.37e-8) <=> QScriptValue(0x10000)", + "QScriptValue(-6.37e-8) <=> QScriptValue(0x10001)", + "QScriptValue(-6.37e-8) <=> QScriptValue(qInf())", + "QScriptValue(-6.37e-8) <=> QScriptValue(\"Infinity\")", + "QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"\"))", + "QScriptValue(-6.37e-8) <=> QScriptValue(QString())", + "QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(-6.37e-8) <=> QScriptValue(0, QScriptValue::NullValue)", + "QScriptValue(-6.37e-8) <=> QScriptValue(0, true)", + "QScriptValue(-6.37e-8) <=> QScriptValue(0, false)", + "QScriptValue(-6.37e-8) <=> QScriptValue(0, int(122))", + "QScriptValue(-6.37e-8) <=> QScriptValue(0, uint(124))", + "QScriptValue(-6.37e-8) <=> QScriptValue(0, 0)", + "QScriptValue(-6.37e-8) <=> QScriptValue(0, 0.0)", + "QScriptValue(-6.37e-8) <=> QScriptValue(0, 123.0)", + "QScriptValue(-6.37e-8) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(-6.37e-8) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(-6.37e-8) <=> QScriptValue(0, 0x10000)", + "QScriptValue(-6.37e-8) <=> QScriptValue(0, 0x10001)", + "QScriptValue(-6.37e-8) <=> QScriptValue(0, qInf())", + "QScriptValue(-6.37e-8) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(-6.37e-8) <=> QScriptValue(0, QString())", + "QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(-6.37e-8) <=> QScriptValue(engine, QScriptValue::NullValue)", + "QScriptValue(-6.37e-8) <=> QScriptValue(engine, true)", + "QScriptValue(-6.37e-8) <=> QScriptValue(engine, false)", + "QScriptValue(-6.37e-8) <=> QScriptValue(engine, int(122))", + "QScriptValue(-6.37e-8) <=> QScriptValue(engine, uint(124))", + "QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0)", + "QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0.0)", + "QScriptValue(-6.37e-8) <=> QScriptValue(engine, 123.0)", + "QScriptValue(-6.37e-8) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(-6.37e-8) <=> QScriptValue(engine, qInf())", + "QScriptValue(-6.37e-8) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString())", + "QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"[]\")", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"Array.prototype\")", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"new Array()\")", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"null\")", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"true\")", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"false\")", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"122\")", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"124\")", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"0\")", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"0.0\")", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"123.0\")", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"''\")", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"'0'\")", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"'123'\")", + "QScriptValue(-6.37e-8) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(-6.37e-8) <=> engine->nullValue()", + "QScriptValue(-6.37e-8) <=> engine->newArray()", + "QScriptValue(-6.37e-8) <=> engine->newVariant(QVariant(123))", + "QScriptValue(-6.37e-8) <=> engine->newVariant(QVariant(false))", + "QScriptValue(-6.37e-8) <=> engine->newQObject(0)", + "QScriptValue(0x43211234) <=> QScriptValue(qInf())", + "QScriptValue(0x43211234) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0x43211234) <=> QScriptValue(0, qInf())", + "QScriptValue(0x43211234) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0x43211234) <=> QScriptValue(engine, qInf())", + "QScriptValue(0x43211234) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0x43211234) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0x10000) <=> QScriptValue(0x43211234)", + "QScriptValue(0x10000) <=> QScriptValue(0x10001)", + "QScriptValue(0x10000) <=> QScriptValue(qInf())", + "QScriptValue(0x10000) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0x10000) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0x10000) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0x10000) <=> QScriptValue(0, qInf())", + "QScriptValue(0x10000) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0x10000) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0x10000) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0x10000) <=> QScriptValue(engine, qInf())", + "QScriptValue(0x10000) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0x10000) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0x10000) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0x10000) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0x10001) <=> QScriptValue(0x43211234)", + "QScriptValue(0x10001) <=> QScriptValue(qInf())", + "QScriptValue(0x10001) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0x10001) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0x10001) <=> QScriptValue(0, qInf())", + "QScriptValue(0x10001) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0x10001) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0x10001) <=> QScriptValue(engine, qInf())", + "QScriptValue(0x10001) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0x10001) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0x10001) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(-qInf()) <=> QScriptValue(QScriptValue::NullValue)", + "QScriptValue(-qInf()) <=> QScriptValue(true)", + "QScriptValue(-qInf()) <=> QScriptValue(false)", + "QScriptValue(-qInf()) <=> QScriptValue(int(122))", + "QScriptValue(-qInf()) <=> QScriptValue(uint(124))", + "QScriptValue(-qInf()) <=> QScriptValue(0)", + "QScriptValue(-qInf()) <=> QScriptValue(0.0)", + "QScriptValue(-qInf()) <=> QScriptValue(123.0)", + "QScriptValue(-qInf()) <=> QScriptValue(6.37e-8)", + "QScriptValue(-qInf()) <=> QScriptValue(-6.37e-8)", + "QScriptValue(-qInf()) <=> QScriptValue(0x43211234)", + "QScriptValue(-qInf()) <=> QScriptValue(0x10000)", + "QScriptValue(-qInf()) <=> QScriptValue(0x10001)", + "QScriptValue(-qInf()) <=> QScriptValue(qInf())", + "QScriptValue(-qInf()) <=> QScriptValue(\"Infinity\")", + "QScriptValue(-qInf()) <=> QScriptValue(QString(\"\"))", + "QScriptValue(-qInf()) <=> QScriptValue(QString())", + "QScriptValue(-qInf()) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(-qInf()) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(-qInf()) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(-qInf()) <=> QScriptValue(0, QScriptValue::NullValue)", + "QScriptValue(-qInf()) <=> QScriptValue(0, true)", + "QScriptValue(-qInf()) <=> QScriptValue(0, false)", + "QScriptValue(-qInf()) <=> QScriptValue(0, int(122))", + "QScriptValue(-qInf()) <=> QScriptValue(0, uint(124))", + "QScriptValue(-qInf()) <=> QScriptValue(0, 0)", + "QScriptValue(-qInf()) <=> QScriptValue(0, 0.0)", + "QScriptValue(-qInf()) <=> QScriptValue(0, 123.0)", + "QScriptValue(-qInf()) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(-qInf()) <=> QScriptValue(0, -6.37e-8)", + "QScriptValue(-qInf()) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(-qInf()) <=> QScriptValue(0, 0x10000)", + "QScriptValue(-qInf()) <=> QScriptValue(0, 0x10001)", + "QScriptValue(-qInf()) <=> QScriptValue(0, qInf())", + "QScriptValue(-qInf()) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(-qInf()) <=> QScriptValue(0, QString())", + "QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(-qInf()) <=> QScriptValue(engine, QScriptValue::NullValue)", + "QScriptValue(-qInf()) <=> QScriptValue(engine, true)", + "QScriptValue(-qInf()) <=> QScriptValue(engine, false)", + "QScriptValue(-qInf()) <=> QScriptValue(engine, int(122))", + "QScriptValue(-qInf()) <=> QScriptValue(engine, uint(124))", + "QScriptValue(-qInf()) <=> QScriptValue(engine, 0)", + "QScriptValue(-qInf()) <=> QScriptValue(engine, 0.0)", + "QScriptValue(-qInf()) <=> QScriptValue(engine, 123.0)", + "QScriptValue(-qInf()) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(-qInf()) <=> QScriptValue(engine, -6.37e-8)", + "QScriptValue(-qInf()) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(-qInf()) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(-qInf()) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(-qInf()) <=> QScriptValue(engine, qInf())", + "QScriptValue(-qInf()) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(-qInf()) <=> QScriptValue(engine, QString())", + "QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(-qInf()) <=> engine->evaluate(\"[]\")", + "QScriptValue(-qInf()) <=> engine->evaluate(\"Array.prototype\")", + "QScriptValue(-qInf()) <=> engine->evaluate(\"new Array()\")", + "QScriptValue(-qInf()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(-qInf()) <=> engine->evaluate(\"null\")", + "QScriptValue(-qInf()) <=> engine->evaluate(\"true\")", + "QScriptValue(-qInf()) <=> engine->evaluate(\"false\")", + "QScriptValue(-qInf()) <=> engine->evaluate(\"122\")", + "QScriptValue(-qInf()) <=> engine->evaluate(\"124\")", + "QScriptValue(-qInf()) <=> engine->evaluate(\"0\")", + "QScriptValue(-qInf()) <=> engine->evaluate(\"0.0\")", + "QScriptValue(-qInf()) <=> engine->evaluate(\"123.0\")", + "QScriptValue(-qInf()) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(-qInf()) <=> engine->evaluate(\"-6.37e-8\")", + "QScriptValue(-qInf()) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(-qInf()) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(-qInf()) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(-qInf()) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(-qInf()) <=> engine->evaluate(\"''\")", + "QScriptValue(-qInf()) <=> engine->evaluate(\"'0'\")", + "QScriptValue(-qInf()) <=> engine->evaluate(\"'123'\")", + "QScriptValue(-qInf()) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(-qInf()) <=> engine->nullValue()", + "QScriptValue(-qInf()) <=> engine->newArray()", + "QScriptValue(-qInf()) <=> engine->newVariant(QVariant(123))", + "QScriptValue(-qInf()) <=> engine->newVariant(QVariant(false))", + "QScriptValue(-qInf()) <=> engine->newQObject(0)", + "QScriptValue(\"NaN\") <=> QScriptValue(\"ciao\")", + "QScriptValue(\"NaN\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(\"NaN\") <=> QScriptValue(0, \"ciao\")", + "QScriptValue(\"NaN\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(\"NaN\") <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(\"NaN\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(\"NaN\") <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(\"NaN\") <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(\"NaN\") <=> engine->evaluate(\"Object\")", + "QScriptValue(\"NaN\") <=> engine->evaluate(\"Array\")", + "QScriptValue(\"NaN\") <=> engine->evaluate(\"Number\")", + "QScriptValue(\"NaN\") <=> engine->evaluate(\"Function\")", + "QScriptValue(\"NaN\") <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(\"NaN\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(\"NaN\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(\"NaN\") <=> engine->evaluate(\"new Object()\")", + "QScriptValue(\"NaN\") <=> engine->evaluate(\"Undefined\")", + "QScriptValue(\"NaN\") <=> engine->evaluate(\"Null\")", + "QScriptValue(\"NaN\") <=> engine->evaluate(\"True\")", + "QScriptValue(\"NaN\") <=> engine->evaluate(\"False\")", + "QScriptValue(\"NaN\") <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(\"NaN\") <=> engine->newObject()", + "QScriptValue(\"NaN\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(\"NaN\") <=> engine->newQObject(engine)", + "QScriptValue(\"Infinity\") <=> QScriptValue(\"NaN\")", + "QScriptValue(\"Infinity\") <=> QScriptValue(\"ciao\")", + "QScriptValue(\"Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(\"Infinity\") <=> QScriptValue(0, \"NaN\")", + "QScriptValue(\"Infinity\") <=> QScriptValue(0, \"ciao\")", + "QScriptValue(\"Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(\"Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Object\")", + "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Array\")", + "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Number\")", + "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Function\")", + "QScriptValue(\"Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(\"Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(\"Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(\"Infinity\") <=> engine->evaluate(\"new Object()\")", + "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Undefined\")", + "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Null\")", + "QScriptValue(\"Infinity\") <=> engine->evaluate(\"True\")", + "QScriptValue(\"Infinity\") <=> engine->evaluate(\"False\")", + "QScriptValue(\"Infinity\") <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(\"Infinity\") <=> engine->newObject()", + "QScriptValue(\"Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(\"Infinity\") <=> engine->newQObject(engine)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(QScriptValue::NullValue)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(true)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(false)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(int(122))", + "QScriptValue(\"-Infinity\") <=> QScriptValue(uint(124))", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0.0)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(123.0)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(6.37e-8)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(-6.37e-8)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0x43211234)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0x10000)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0x10001)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(qInf())", + "QScriptValue(\"-Infinity\") <=> QScriptValue(\"NaN\")", + "QScriptValue(\"-Infinity\") <=> QScriptValue(\"Infinity\")", + "QScriptValue(\"-Infinity\") <=> QScriptValue(\"ciao\")", + "QScriptValue(\"-Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(\"-Infinity\") <=> QScriptValue(QString(\"0\"))", + "QScriptValue(\"-Infinity\") <=> QScriptValue(QString(\"123\"))", + "QScriptValue(\"-Infinity\") <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, QScriptValue::NullValue)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, true)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, false)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, int(122))", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, uint(124))", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0.0)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, 123.0)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, -6.37e-8)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0x43211234)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0x10000)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0x10001)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, qInf())", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"NaN\")", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"ciao\")", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QScriptValue::NullValue)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, true)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, false)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, int(122))", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, uint(124))", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0.0)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 123.0)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, -6.37e-8)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0x10000)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0x10001)", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, qInf())", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Error.prototype\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Object\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Array\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Number\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Function\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"/foo/\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"new Object()\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"new Error()\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Undefined\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Null\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"True\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"False\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"null\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"true\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"false\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"122\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"124\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"0\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"0.0\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"123.0\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"-6.37e-8\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"0x10000\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"0x10001\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Infinity\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"'0'\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"'123'\")", + "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(\"-Infinity\") <=> engine->nullValue()", + "QScriptValue(\"-Infinity\") <=> engine->newObject()", + "QScriptValue(\"-Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(\"-Infinity\") <=> engine->newVariant(QVariant(123))", + "QScriptValue(\"-Infinity\") <=> engine->newVariant(QVariant(false))", + "QScriptValue(\"-Infinity\") <=> engine->newQObject(0)", + "QScriptValue(\"-Infinity\") <=> engine->newQObject(engine)", + "QScriptValue(\"ciao\") <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(\"ciao\") <=> engine->evaluate(\"Object\")", + "QScriptValue(\"ciao\") <=> engine->evaluate(\"Array\")", + "QScriptValue(\"ciao\") <=> engine->evaluate(\"Number\")", + "QScriptValue(\"ciao\") <=> engine->evaluate(\"Function\")", + "QScriptValue(\"ciao\") <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(\"ciao\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(\"ciao\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Object\")", + "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Array\")", + "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Number\")", + "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function\")", + "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(QString(\"\")) <=> QScriptValue(true)", + "QScriptValue(QString(\"\")) <=> QScriptValue(int(122))", + "QScriptValue(QString(\"\")) <=> QScriptValue(uint(124))", + "QScriptValue(QString(\"\")) <=> QScriptValue(123.0)", + "QScriptValue(QString(\"\")) <=> QScriptValue(6.37e-8)", + "QScriptValue(QString(\"\")) <=> QScriptValue(0x43211234)", + "QScriptValue(QString(\"\")) <=> QScriptValue(0x10000)", + "QScriptValue(QString(\"\")) <=> QScriptValue(0x10001)", + "QScriptValue(QString(\"\")) <=> QScriptValue(qInf())", + "QScriptValue(QString(\"\")) <=> QScriptValue(\"NaN\")", + "QScriptValue(QString(\"\")) <=> QScriptValue(\"Infinity\")", + "QScriptValue(QString(\"\")) <=> QScriptValue(\"-Infinity\")", + "QScriptValue(QString(\"\")) <=> QScriptValue(\"ciao\")", + "QScriptValue(QString(\"\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, true)", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, int(122))", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, uint(124))", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, 123.0)", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, 0x10000)", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, 0x10001)", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, qInf())", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, \"NaN\")", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, \"-Infinity\")", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, \"ciao\")", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, true)", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, int(122))", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, uint(124))", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 123.0)", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, qInf())", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"-Infinity\")", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Error.prototype\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Object\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Array\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Number\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Function\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"/foo/\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"new Object()\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"new Error()\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Undefined\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Null\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"True\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"False\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"true\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"122\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"124\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"123.0\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"'0'\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"'123'\")", + "QScriptValue(QString(\"\")) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(QString(\"\")) <=> engine->newObject()", + "QScriptValue(QString(\"\")) <=> engine->newArray(10)", + "QScriptValue(QString(\"\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(QString(\"\")) <=> engine->newVariant(QVariant(123))", + "QScriptValue(QString(\"\")) <=> engine->newQObject(engine)", + "QScriptValue(QString()) <=> QScriptValue(true)", + "QScriptValue(QString()) <=> QScriptValue(int(122))", + "QScriptValue(QString()) <=> QScriptValue(uint(124))", + "QScriptValue(QString()) <=> QScriptValue(123.0)", + "QScriptValue(QString()) <=> QScriptValue(6.37e-8)", + "QScriptValue(QString()) <=> QScriptValue(0x43211234)", + "QScriptValue(QString()) <=> QScriptValue(0x10000)", + "QScriptValue(QString()) <=> QScriptValue(0x10001)", + "QScriptValue(QString()) <=> QScriptValue(qInf())", + "QScriptValue(QString()) <=> QScriptValue(\"NaN\")", + "QScriptValue(QString()) <=> QScriptValue(\"Infinity\")", + "QScriptValue(QString()) <=> QScriptValue(\"-Infinity\")", + "QScriptValue(QString()) <=> QScriptValue(\"ciao\")", + "QScriptValue(QString()) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(QString()) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(QString()) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(QString()) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(QString()) <=> QScriptValue(0, true)", + "QScriptValue(QString()) <=> QScriptValue(0, int(122))", + "QScriptValue(QString()) <=> QScriptValue(0, uint(124))", + "QScriptValue(QString()) <=> QScriptValue(0, 123.0)", + "QScriptValue(QString()) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(QString()) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(QString()) <=> QScriptValue(0, 0x10000)", + "QScriptValue(QString()) <=> QScriptValue(0, 0x10001)", + "QScriptValue(QString()) <=> QScriptValue(0, qInf())", + "QScriptValue(QString()) <=> QScriptValue(0, \"NaN\")", + "QScriptValue(QString()) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(QString()) <=> QScriptValue(0, \"-Infinity\")", + "QScriptValue(QString()) <=> QScriptValue(0, \"ciao\")", + "QScriptValue(QString()) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(QString()) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(QString()) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(QString()) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(QString()) <=> QScriptValue(engine, true)", + "QScriptValue(QString()) <=> QScriptValue(engine, int(122))", + "QScriptValue(QString()) <=> QScriptValue(engine, uint(124))", + "QScriptValue(QString()) <=> QScriptValue(engine, 123.0)", + "QScriptValue(QString()) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(QString()) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(QString()) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(QString()) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(QString()) <=> QScriptValue(engine, qInf())", + "QScriptValue(QString()) <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(QString()) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(QString()) <=> QScriptValue(engine, \"-Infinity\")", + "QScriptValue(QString()) <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(QString()) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(QString()) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(QString()) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(QString()) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(QString()) <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(QString()) <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(QString()) <=> engine->evaluate(\"Error.prototype\")", + "QScriptValue(QString()) <=> engine->evaluate(\"Object\")", + "QScriptValue(QString()) <=> engine->evaluate(\"Array\")", + "QScriptValue(QString()) <=> engine->evaluate(\"Number\")", + "QScriptValue(QString()) <=> engine->evaluate(\"Function\")", + "QScriptValue(QString()) <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(QString()) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(QString()) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(QString()) <=> engine->evaluate(\"/foo/\")", + "QScriptValue(QString()) <=> engine->evaluate(\"new Object()\")", + "QScriptValue(QString()) <=> engine->evaluate(\"new Error()\")", + "QScriptValue(QString()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(QString()) <=> engine->evaluate(\"Undefined\")", + "QScriptValue(QString()) <=> engine->evaluate(\"Null\")", + "QScriptValue(QString()) <=> engine->evaluate(\"True\")", + "QScriptValue(QString()) <=> engine->evaluate(\"False\")", + "QScriptValue(QString()) <=> engine->evaluate(\"true\")", + "QScriptValue(QString()) <=> engine->evaluate(\"122\")", + "QScriptValue(QString()) <=> engine->evaluate(\"124\")", + "QScriptValue(QString()) <=> engine->evaluate(\"123.0\")", + "QScriptValue(QString()) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(QString()) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(QString()) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(QString()) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(QString()) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(QString()) <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(QString()) <=> engine->evaluate(\"'0'\")", + "QScriptValue(QString()) <=> engine->evaluate(\"'123'\")", + "QScriptValue(QString()) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(QString()) <=> engine->newObject()", + "QScriptValue(QString()) <=> engine->newArray(10)", + "QScriptValue(QString()) <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(QString()) <=> engine->newVariant(QVariant(123))", + "QScriptValue(QString()) <=> engine->newQObject(engine)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(true)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(int(122))", + "QScriptValue(QString(\"0\")) <=> QScriptValue(uint(124))", + "QScriptValue(QString(\"0\")) <=> QScriptValue(123.0)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(6.37e-8)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0x43211234)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0x10000)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0x10001)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(qInf())", + "QScriptValue(QString(\"0\")) <=> QScriptValue(\"NaN\")", + "QScriptValue(QString(\"0\")) <=> QScriptValue(\"Infinity\")", + "QScriptValue(QString(\"0\")) <=> QScriptValue(\"ciao\")", + "QScriptValue(QString(\"0\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0, true)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0, int(122))", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0, uint(124))", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 123.0)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0x10000)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0x10001)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0, qInf())", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0, \"NaN\")", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0, \"ciao\")", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, true)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, int(122))", + "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, uint(124))", + "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 123.0)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, qInf())", + "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Error.prototype\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Object\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Array\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Number\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Function\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"new Object()\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"new Error()\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Undefined\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Null\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"True\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"False\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"true\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"122\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"124\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"123.0\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"'123'\")", + "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(QString(\"0\")) <=> engine->newObject()", + "QScriptValue(QString(\"0\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(QString(\"0\")) <=> engine->newVariant(QVariant(123))", + "QScriptValue(QString(\"0\")) <=> engine->newQObject(engine)", + "QScriptValue(QString(\"123\")) <=> QScriptValue(uint(124))", + "QScriptValue(QString(\"123\")) <=> QScriptValue(0x43211234)", + "QScriptValue(QString(\"123\")) <=> QScriptValue(0x10000)", + "QScriptValue(QString(\"123\")) <=> QScriptValue(0x10001)", + "QScriptValue(QString(\"123\")) <=> QScriptValue(qInf())", + "QScriptValue(QString(\"123\")) <=> QScriptValue(\"NaN\")", + "QScriptValue(QString(\"123\")) <=> QScriptValue(\"Infinity\")", + "QScriptValue(QString(\"123\")) <=> QScriptValue(\"ciao\")", + "QScriptValue(QString(\"123\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(QString(\"123\")) <=> QScriptValue(0, uint(124))", + "QScriptValue(QString(\"123\")) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(QString(\"123\")) <=> QScriptValue(0, 0x10000)", + "QScriptValue(QString(\"123\")) <=> QScriptValue(0, 0x10001)", + "QScriptValue(QString(\"123\")) <=> QScriptValue(0, qInf())", + "QScriptValue(QString(\"123\")) <=> QScriptValue(0, \"NaN\")", + "QScriptValue(QString(\"123\")) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(QString(\"123\")) <=> QScriptValue(0, \"ciao\")", + "QScriptValue(QString(\"123\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, uint(124))", + "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, qInf())", + "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Error.prototype\")", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Object\")", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Array\")", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Number\")", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Function\")", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"new Object()\")", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"new Error()\")", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Undefined\")", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Null\")", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"True\")", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"False\")", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"124\")", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(QString(\"123\")) <=> engine->newObject()", + "QScriptValue(QString(\"123\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(QString(\"123\")) <=> engine->newQObject(engine)", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(int(122))", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(uint(124))", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(123.0)", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0x43211234)", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0x10000)", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0x10001)", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(qInf())", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(\"NaN\")", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(\"Infinity\")", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(\"ciao\")", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, int(122))", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, uint(124))", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 123.0)", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 0x10000)", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 0x10001)", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, qInf())", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, \"NaN\")", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, \"ciao\")", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, int(122))", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, uint(124))", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 123.0)", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, qInf())", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Error.prototype\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Object\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Array\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Number\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Function\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"new Object()\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"new Error()\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Undefined\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Null\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"True\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"False\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"122\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"124\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"123.0\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"'123'\")", + "QScriptValue(QString(\"12.4\")) <=> engine->newObject()", + "QScriptValue(QString(\"12.4\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(QString(\"12.4\")) <=> engine->newVariant(QVariant(123))", + "QScriptValue(QString(\"12.4\")) <=> engine->newQObject(engine)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(true)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(int(122))", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(uint(124))", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(123.0)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(6.37e-8)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0x43211234)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0x10000)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0x10001)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(qInf())", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, true)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, int(122))", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, uint(124))", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 123.0)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 0x10000)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, qInf())", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, true)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, int(122))", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, uint(124))", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 123.0)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, qInf())", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"true\")", + "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"122\")", + "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"124\")", + "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"123.0\")", + "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"'123'\")", + "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(0, QScriptValue::NullValue) <=> engine->newVariant(QVariant(123))", + "QScriptValue(0, true) <=> QScriptValue(int(122))", + "QScriptValue(0, true) <=> QScriptValue(uint(124))", + "QScriptValue(0, true) <=> QScriptValue(123.0)", + "QScriptValue(0, true) <=> QScriptValue(0x43211234)", + "QScriptValue(0, true) <=> QScriptValue(0x10000)", + "QScriptValue(0, true) <=> QScriptValue(0x10001)", + "QScriptValue(0, true) <=> QScriptValue(qInf())", + "QScriptValue(0, true) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, true) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(0, true) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(0, true) <=> QScriptValue(0, int(122))", + "QScriptValue(0, true) <=> QScriptValue(0, uint(124))", + "QScriptValue(0, true) <=> QScriptValue(0, 123.0)", + "QScriptValue(0, true) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0, true) <=> QScriptValue(0, 0x10000)", + "QScriptValue(0, true) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0, true) <=> QScriptValue(0, qInf())", + "QScriptValue(0, true) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, true) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(0, true) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(0, true) <=> QScriptValue(engine, int(122))", + "QScriptValue(0, true) <=> QScriptValue(engine, uint(124))", + "QScriptValue(0, true) <=> QScriptValue(engine, 123.0)", + "QScriptValue(0, true) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0, true) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0, true) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0, true) <=> QScriptValue(engine, qInf())", + "QScriptValue(0, true) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, true) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(0, true) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(0, true) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(0, true) <=> engine->evaluate(\"122\")", + "QScriptValue(0, true) <=> engine->evaluate(\"124\")", + "QScriptValue(0, true) <=> engine->evaluate(\"123.0\")", + "QScriptValue(0, true) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0, true) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0, true) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0, true) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, true) <=> engine->evaluate(\"'123'\")", + "QScriptValue(0, true) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(0, true) <=> engine->newVariant(QVariant(123))", + "QScriptValue(0, false) <=> QScriptValue(true)", + "QScriptValue(0, false) <=> QScriptValue(int(122))", + "QScriptValue(0, false) <=> QScriptValue(uint(124))", + "QScriptValue(0, false) <=> QScriptValue(123.0)", + "QScriptValue(0, false) <=> QScriptValue(6.37e-8)", + "QScriptValue(0, false) <=> QScriptValue(0x43211234)", + "QScriptValue(0, false) <=> QScriptValue(0x10000)", + "QScriptValue(0, false) <=> QScriptValue(0x10001)", + "QScriptValue(0, false) <=> QScriptValue(qInf())", + "QScriptValue(0, false) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, false) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(0, false) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(0, false) <=> QScriptValue(0, true)", + "QScriptValue(0, false) <=> QScriptValue(0, int(122))", + "QScriptValue(0, false) <=> QScriptValue(0, uint(124))", + "QScriptValue(0, false) <=> QScriptValue(0, 123.0)", + "QScriptValue(0, false) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(0, false) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0, false) <=> QScriptValue(0, 0x10000)", + "QScriptValue(0, false) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0, false) <=> QScriptValue(0, qInf())", + "QScriptValue(0, false) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, false) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(0, false) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(0, false) <=> QScriptValue(engine, true)", + "QScriptValue(0, false) <=> QScriptValue(engine, int(122))", + "QScriptValue(0, false) <=> QScriptValue(engine, uint(124))", + "QScriptValue(0, false) <=> QScriptValue(engine, 123.0)", + "QScriptValue(0, false) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(0, false) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0, false) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0, false) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0, false) <=> QScriptValue(engine, qInf())", + "QScriptValue(0, false) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, false) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(0, false) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(0, false) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(0, false) <=> engine->evaluate(\"true\")", + "QScriptValue(0, false) <=> engine->evaluate(\"122\")", + "QScriptValue(0, false) <=> engine->evaluate(\"124\")", + "QScriptValue(0, false) <=> engine->evaluate(\"123.0\")", + "QScriptValue(0, false) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(0, false) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0, false) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0, false) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0, false) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, false) <=> engine->evaluate(\"'123'\")", + "QScriptValue(0, false) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(0, false) <=> engine->newVariant(QVariant(123))", + "QScriptValue(0, int(122)) <=> QScriptValue(uint(124))", + "QScriptValue(0, int(122)) <=> QScriptValue(123.0)", + "QScriptValue(0, int(122)) <=> QScriptValue(0x43211234)", + "QScriptValue(0, int(122)) <=> QScriptValue(0x10000)", + "QScriptValue(0, int(122)) <=> QScriptValue(0x10001)", + "QScriptValue(0, int(122)) <=> QScriptValue(qInf())", + "QScriptValue(0, int(122)) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, int(122)) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(0, int(122)) <=> QScriptValue(0, uint(124))", + "QScriptValue(0, int(122)) <=> QScriptValue(0, 123.0)", + "QScriptValue(0, int(122)) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0, int(122)) <=> QScriptValue(0, 0x10000)", + "QScriptValue(0, int(122)) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0, int(122)) <=> QScriptValue(0, qInf())", + "QScriptValue(0, int(122)) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, int(122)) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(0, int(122)) <=> QScriptValue(engine, uint(124))", + "QScriptValue(0, int(122)) <=> QScriptValue(engine, 123.0)", + "QScriptValue(0, int(122)) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0, int(122)) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0, int(122)) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0, int(122)) <=> QScriptValue(engine, qInf())", + "QScriptValue(0, int(122)) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, int(122)) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(0, int(122)) <=> engine->evaluate(\"124\")", + "QScriptValue(0, int(122)) <=> engine->evaluate(\"123.0\")", + "QScriptValue(0, int(122)) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0, int(122)) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0, int(122)) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0, int(122)) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, int(122)) <=> engine->evaluate(\"'123'\")", + "QScriptValue(0, int(122)) <=> engine->newVariant(QVariant(123))", + "QScriptValue(0, uint(124)) <=> QScriptValue(0x43211234)", + "QScriptValue(0, uint(124)) <=> QScriptValue(0x10000)", + "QScriptValue(0, uint(124)) <=> QScriptValue(0x10001)", + "QScriptValue(0, uint(124)) <=> QScriptValue(qInf())", + "QScriptValue(0, uint(124)) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, uint(124)) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0, uint(124)) <=> QScriptValue(0, 0x10000)", + "QScriptValue(0, uint(124)) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0, uint(124)) <=> QScriptValue(0, qInf())", + "QScriptValue(0, uint(124)) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, uint(124)) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0, uint(124)) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0, uint(124)) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0, uint(124)) <=> QScriptValue(engine, qInf())", + "QScriptValue(0, uint(124)) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, uint(124)) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0, uint(124)) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0, uint(124)) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0, uint(124)) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, 0) <=> QScriptValue(true)", + "QScriptValue(0, 0) <=> QScriptValue(int(122))", + "QScriptValue(0, 0) <=> QScriptValue(uint(124))", + "QScriptValue(0, 0) <=> QScriptValue(123.0)", + "QScriptValue(0, 0) <=> QScriptValue(6.37e-8)", + "QScriptValue(0, 0) <=> QScriptValue(0x43211234)", + "QScriptValue(0, 0) <=> QScriptValue(0x10000)", + "QScriptValue(0, 0) <=> QScriptValue(0x10001)", + "QScriptValue(0, 0) <=> QScriptValue(qInf())", + "QScriptValue(0, 0) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, 0) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(0, 0) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(0, 0) <=> QScriptValue(0, true)", + "QScriptValue(0, 0) <=> QScriptValue(0, int(122))", + "QScriptValue(0, 0) <=> QScriptValue(0, uint(124))", + "QScriptValue(0, 0) <=> QScriptValue(0, 123.0)", + "QScriptValue(0, 0) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(0, 0) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0, 0) <=> QScriptValue(0, 0x10000)", + "QScriptValue(0, 0) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0, 0) <=> QScriptValue(0, qInf())", + "QScriptValue(0, 0) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, 0) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(0, 0) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(0, 0) <=> QScriptValue(engine, true)", + "QScriptValue(0, 0) <=> QScriptValue(engine, int(122))", + "QScriptValue(0, 0) <=> QScriptValue(engine, uint(124))", + "QScriptValue(0, 0) <=> QScriptValue(engine, 123.0)", + "QScriptValue(0, 0) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(0, 0) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0, 0) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0, 0) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0, 0) <=> QScriptValue(engine, qInf())", + "QScriptValue(0, 0) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(0, 0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(0, 0) <=> engine->evaluate(\"true\")", + "QScriptValue(0, 0) <=> engine->evaluate(\"122\")", + "QScriptValue(0, 0) <=> engine->evaluate(\"124\")", + "QScriptValue(0, 0) <=> engine->evaluate(\"123.0\")", + "QScriptValue(0, 0) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(0, 0) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0, 0) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0, 0) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0, 0) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, 0) <=> engine->evaluate(\"'123'\")", + "QScriptValue(0, 0) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(0, 0) <=> engine->newVariant(QVariant(123))", + "QScriptValue(0, 0.0) <=> QScriptValue(true)", + "QScriptValue(0, 0.0) <=> QScriptValue(int(122))", + "QScriptValue(0, 0.0) <=> QScriptValue(uint(124))", + "QScriptValue(0, 0.0) <=> QScriptValue(123.0)", + "QScriptValue(0, 0.0) <=> QScriptValue(6.37e-8)", + "QScriptValue(0, 0.0) <=> QScriptValue(0x43211234)", + "QScriptValue(0, 0.0) <=> QScriptValue(0x10000)", + "QScriptValue(0, 0.0) <=> QScriptValue(0x10001)", + "QScriptValue(0, 0.0) <=> QScriptValue(qInf())", + "QScriptValue(0, 0.0) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, 0.0) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(0, 0.0) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(0, 0.0) <=> QScriptValue(0, true)", + "QScriptValue(0, 0.0) <=> QScriptValue(0, int(122))", + "QScriptValue(0, 0.0) <=> QScriptValue(0, uint(124))", + "QScriptValue(0, 0.0) <=> QScriptValue(0, 123.0)", + "QScriptValue(0, 0.0) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(0, 0.0) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0, 0.0) <=> QScriptValue(0, 0x10000)", + "QScriptValue(0, 0.0) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0, 0.0) <=> QScriptValue(0, qInf())", + "QScriptValue(0, 0.0) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(0, 0.0) <=> QScriptValue(engine, true)", + "QScriptValue(0, 0.0) <=> QScriptValue(engine, int(122))", + "QScriptValue(0, 0.0) <=> QScriptValue(engine, uint(124))", + "QScriptValue(0, 0.0) <=> QScriptValue(engine, 123.0)", + "QScriptValue(0, 0.0) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0, 0.0) <=> QScriptValue(engine, qInf())", + "QScriptValue(0, 0.0) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(0, 0.0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(0, 0.0) <=> engine->evaluate(\"true\")", + "QScriptValue(0, 0.0) <=> engine->evaluate(\"122\")", + "QScriptValue(0, 0.0) <=> engine->evaluate(\"124\")", + "QScriptValue(0, 0.0) <=> engine->evaluate(\"123.0\")", + "QScriptValue(0, 0.0) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(0, 0.0) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0, 0.0) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0, 0.0) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0, 0.0) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, 0.0) <=> engine->evaluate(\"'123'\")", + "QScriptValue(0, 0.0) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(0, 0.0) <=> engine->newVariant(QVariant(123))", + "QScriptValue(0, 123.0) <=> QScriptValue(uint(124))", + "QScriptValue(0, 123.0) <=> QScriptValue(0x43211234)", + "QScriptValue(0, 123.0) <=> QScriptValue(0x10000)", + "QScriptValue(0, 123.0) <=> QScriptValue(0x10001)", + "QScriptValue(0, 123.0) <=> QScriptValue(qInf())", + "QScriptValue(0, 123.0) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, 123.0) <=> QScriptValue(0, uint(124))", + "QScriptValue(0, 123.0) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0, 123.0) <=> QScriptValue(0, 0x10000)", + "QScriptValue(0, 123.0) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0, 123.0) <=> QScriptValue(0, qInf())", + "QScriptValue(0, 123.0) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, 123.0) <=> QScriptValue(engine, uint(124))", + "QScriptValue(0, 123.0) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0, 123.0) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0, 123.0) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0, 123.0) <=> QScriptValue(engine, qInf())", + "QScriptValue(0, 123.0) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, 123.0) <=> engine->evaluate(\"124\")", + "QScriptValue(0, 123.0) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0, 123.0) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0, 123.0) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0, 123.0) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(true)", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(int(122))", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(uint(124))", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(123.0)", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(0x43211234)", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(0x10000)", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(0x10001)", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(qInf())", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, true)", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, int(122))", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, uint(124))", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 123.0)", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 0x10000)", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, qInf())", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, true)", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, int(122))", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, uint(124))", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 123.0)", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, qInf())", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"true\")", + "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"122\")", + "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"124\")", + "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"123.0\")", + "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"'123'\")", + "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(0, 6.37e-8) <=> engine->newVariant(QVariant(123))", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(QScriptValue::NullValue)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(true)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(false)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(int(122))", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(uint(124))", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0.0)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(123.0)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(6.37e-8)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0x43211234)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0x10000)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0x10001)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(qInf())", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"\"))", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(QString())", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QScriptValue::NullValue)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, true)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, false)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, int(122))", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, uint(124))", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0.0)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 123.0)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0x10000)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, qInf())", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString())", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QScriptValue::NullValue)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, true)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, false)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, int(122))", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, uint(124))", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0.0)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 123.0)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, qInf())", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString())", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"[]\")", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"Array.prototype\")", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"new Array()\")", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"null\")", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"true\")", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"false\")", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"122\")", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"124\")", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"0\")", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"0.0\")", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"123.0\")", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"''\")", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"'0'\")", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"'123'\")", + "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(0, -6.37e-8) <=> engine->nullValue()", + "QScriptValue(0, -6.37e-8) <=> engine->newArray()", + "QScriptValue(0, -6.37e-8) <=> engine->newVariant(QVariant(123))", + "QScriptValue(0, -6.37e-8) <=> engine->newVariant(QVariant(false))", + "QScriptValue(0, -6.37e-8) <=> engine->newQObject(0)", + "QScriptValue(0, 0x43211234) <=> QScriptValue(qInf())", + "QScriptValue(0, 0x43211234) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, 0x43211234) <=> QScriptValue(0, qInf())", + "QScriptValue(0, 0x43211234) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, 0x43211234) <=> QScriptValue(engine, qInf())", + "QScriptValue(0, 0x43211234) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, 0x43211234) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, 0x10000) <=> QScriptValue(0x43211234)", + "QScriptValue(0, 0x10000) <=> QScriptValue(0x10001)", + "QScriptValue(0, 0x10000) <=> QScriptValue(qInf())", + "QScriptValue(0, 0x10000) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0, 0x10000) <=> QScriptValue(0, qInf())", + "QScriptValue(0, 0x10000) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0, 0x10000) <=> QScriptValue(engine, qInf())", + "QScriptValue(0, 0x10000) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, 0x10000) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0, 0x10000) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0, 0x10000) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, 0x10001) <=> QScriptValue(0x43211234)", + "QScriptValue(0, 0x10001) <=> QScriptValue(qInf())", + "QScriptValue(0, 0x10001) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, 0x10001) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0, 0x10001) <=> QScriptValue(0, qInf())", + "QScriptValue(0, 0x10001) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, 0x10001) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0, 0x10001) <=> QScriptValue(engine, qInf())", + "QScriptValue(0, 0x10001) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, 0x10001) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0, 0x10001) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, -qInf()) <=> QScriptValue(QScriptValue::NullValue)", + "QScriptValue(0, -qInf()) <=> QScriptValue(true)", + "QScriptValue(0, -qInf()) <=> QScriptValue(false)", + "QScriptValue(0, -qInf()) <=> QScriptValue(int(122))", + "QScriptValue(0, -qInf()) <=> QScriptValue(uint(124))", + "QScriptValue(0, -qInf()) <=> QScriptValue(0)", + "QScriptValue(0, -qInf()) <=> QScriptValue(0.0)", + "QScriptValue(0, -qInf()) <=> QScriptValue(123.0)", + "QScriptValue(0, -qInf()) <=> QScriptValue(6.37e-8)", + "QScriptValue(0, -qInf()) <=> QScriptValue(-6.37e-8)", + "QScriptValue(0, -qInf()) <=> QScriptValue(0x43211234)", + "QScriptValue(0, -qInf()) <=> QScriptValue(0x10000)", + "QScriptValue(0, -qInf()) <=> QScriptValue(0x10001)", + "QScriptValue(0, -qInf()) <=> QScriptValue(qInf())", + "QScriptValue(0, -qInf()) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"\"))", + "QScriptValue(0, -qInf()) <=> QScriptValue(QString())", + "QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, QScriptValue::NullValue)", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, true)", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, false)", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, int(122))", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, uint(124))", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, 0)", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, 0.0)", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, 123.0)", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, -6.37e-8)", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, 0x10000)", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, qInf())", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, QString())", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, QScriptValue::NullValue)", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, true)", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, false)", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, int(122))", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, uint(124))", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0)", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0.0)", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, 123.0)", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, -6.37e-8)", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, qInf())", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString())", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"[]\")", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"Array.prototype\")", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"new Array()\")", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"null\")", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"true\")", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"false\")", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"122\")", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"124\")", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"0\")", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"0.0\")", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"123.0\")", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"-6.37e-8\")", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"''\")", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"'0'\")", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"'123'\")", + "QScriptValue(0, -qInf()) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(0, -qInf()) <=> engine->nullValue()", + "QScriptValue(0, -qInf()) <=> engine->newArray()", + "QScriptValue(0, -qInf()) <=> engine->newVariant(QVariant(123))", + "QScriptValue(0, -qInf()) <=> engine->newVariant(QVariant(false))", + "QScriptValue(0, -qInf()) <=> engine->newQObject(0)", + "QScriptValue(0, \"NaN\") <=> QScriptValue(\"ciao\")", + "QScriptValue(0, \"NaN\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, \"NaN\") <=> QScriptValue(0, \"ciao\")", + "QScriptValue(0, \"NaN\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, \"NaN\") <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(0, \"NaN\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Object\")", + "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Array\")", + "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Number\")", + "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Function\")", + "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"new Object()\")", + "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Undefined\")", + "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Null\")", + "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"True\")", + "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"False\")", + "QScriptValue(0, \"NaN\") <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(0, \"NaN\") <=> engine->newObject()", + "QScriptValue(0, \"NaN\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(0, \"NaN\") <=> engine->newQObject(engine)", + "QScriptValue(0, \"Infinity\") <=> QScriptValue(\"NaN\")", + "QScriptValue(0, \"Infinity\") <=> QScriptValue(\"ciao\")", + "QScriptValue(0, \"Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"NaN\")", + "QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"ciao\")", + "QScriptValue(0, \"Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Object\")", + "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Array\")", + "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Number\")", + "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Function\")", + "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"new Object()\")", + "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Undefined\")", + "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Null\")", + "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"True\")", + "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"False\")", + "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(0, \"Infinity\") <=> engine->newObject()", + "QScriptValue(0, \"Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(0, \"Infinity\") <=> engine->newQObject(engine)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(QScriptValue::NullValue)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(true)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(false)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(int(122))", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(uint(124))", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0.0)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(123.0)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(6.37e-8)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(-6.37e-8)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0x43211234)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0x10000)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0x10001)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(qInf())", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"NaN\")", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"ciao\")", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString(\"0\"))", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString(\"123\"))", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QScriptValue::NullValue)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, true)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, false)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, int(122))", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, uint(124))", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0.0)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 123.0)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, -6.37e-8)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0x10000)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0x10001)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, qInf())", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"NaN\")", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"ciao\")", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QScriptValue::NullValue)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, true)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, false)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, int(122))", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, uint(124))", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0.0)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 123.0)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, -6.37e-8)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, qInf())", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Error.prototype\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Object\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Array\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Number\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Function\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"/foo/\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"new Object()\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"new Error()\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Undefined\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Null\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"True\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"False\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"null\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"true\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"false\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"122\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"124\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"0\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"0.0\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"123.0\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"-6.37e-8\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"'0'\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"'123'\")", + "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(0, \"-Infinity\") <=> engine->nullValue()", + "QScriptValue(0, \"-Infinity\") <=> engine->newObject()", + "QScriptValue(0, \"-Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(0, \"-Infinity\") <=> engine->newVariant(QVariant(123))", + "QScriptValue(0, \"-Infinity\") <=> engine->newVariant(QVariant(false))", + "QScriptValue(0, \"-Infinity\") <=> engine->newQObject(0)", + "QScriptValue(0, \"-Infinity\") <=> engine->newQObject(engine)", + "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Object\")", + "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Array\")", + "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Number\")", + "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Function\")", + "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Object\")", + "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Array\")", + "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Number\")", + "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function\")", + "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(true)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(int(122))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(uint(124))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(123.0)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(6.37e-8)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0x43211234)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0x10000)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0x10001)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(qInf())", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(\"NaN\")", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(\"-Infinity\")", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(\"ciao\")", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, true)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, int(122))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, uint(124))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 123.0)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0x10000)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, qInf())", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"NaN\")", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"-Infinity\")", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"ciao\")", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, true)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, int(122))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, uint(124))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 123.0)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, qInf())", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"-Infinity\")", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Error.prototype\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Object\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Array\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Number\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Function\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"/foo/\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"new Object()\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"new Error()\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Undefined\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Null\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"True\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"False\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"true\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"122\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"124\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"123.0\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"'0'\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"'123'\")", + "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(0, QString(\"\")) <=> engine->newObject()", + "QScriptValue(0, QString(\"\")) <=> engine->newArray(10)", + "QScriptValue(0, QString(\"\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(0, QString(\"\")) <=> engine->newVariant(QVariant(123))", + "QScriptValue(0, QString(\"\")) <=> engine->newQObject(engine)", + "QScriptValue(0, QString()) <=> QScriptValue(true)", + "QScriptValue(0, QString()) <=> QScriptValue(int(122))", + "QScriptValue(0, QString()) <=> QScriptValue(uint(124))", + "QScriptValue(0, QString()) <=> QScriptValue(123.0)", + "QScriptValue(0, QString()) <=> QScriptValue(6.37e-8)", + "QScriptValue(0, QString()) <=> QScriptValue(0x43211234)", + "QScriptValue(0, QString()) <=> QScriptValue(0x10000)", + "QScriptValue(0, QString()) <=> QScriptValue(0x10001)", + "QScriptValue(0, QString()) <=> QScriptValue(qInf())", + "QScriptValue(0, QString()) <=> QScriptValue(\"NaN\")", + "QScriptValue(0, QString()) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, QString()) <=> QScriptValue(\"-Infinity\")", + "QScriptValue(0, QString()) <=> QScriptValue(\"ciao\")", + "QScriptValue(0, QString()) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, QString()) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(0, QString()) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(0, QString()) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(0, QString()) <=> QScriptValue(0, true)", + "QScriptValue(0, QString()) <=> QScriptValue(0, int(122))", + "QScriptValue(0, QString()) <=> QScriptValue(0, uint(124))", + "QScriptValue(0, QString()) <=> QScriptValue(0, 123.0)", + "QScriptValue(0, QString()) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(0, QString()) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0, QString()) <=> QScriptValue(0, 0x10000)", + "QScriptValue(0, QString()) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0, QString()) <=> QScriptValue(0, qInf())", + "QScriptValue(0, QString()) <=> QScriptValue(0, \"NaN\")", + "QScriptValue(0, QString()) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, QString()) <=> QScriptValue(0, \"-Infinity\")", + "QScriptValue(0, QString()) <=> QScriptValue(0, \"ciao\")", + "QScriptValue(0, QString()) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(0, QString()) <=> QScriptValue(engine, true)", + "QScriptValue(0, QString()) <=> QScriptValue(engine, int(122))", + "QScriptValue(0, QString()) <=> QScriptValue(engine, uint(124))", + "QScriptValue(0, QString()) <=> QScriptValue(engine, 123.0)", + "QScriptValue(0, QString()) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(0, QString()) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0, QString()) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0, QString()) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0, QString()) <=> QScriptValue(engine, qInf())", + "QScriptValue(0, QString()) <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(0, QString()) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, QString()) <=> QScriptValue(engine, \"-Infinity\")", + "QScriptValue(0, QString()) <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(0, QString()) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(0, QString()) <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"Error.prototype\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"Object\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"Array\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"Number\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"Function\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"/foo/\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"new Object()\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"new Error()\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"Undefined\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"Null\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"True\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"False\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"true\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"122\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"124\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"123.0\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"'0'\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"'123'\")", + "QScriptValue(0, QString()) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(0, QString()) <=> engine->newObject()", + "QScriptValue(0, QString()) <=> engine->newArray(10)", + "QScriptValue(0, QString()) <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(0, QString()) <=> engine->newVariant(QVariant(123))", + "QScriptValue(0, QString()) <=> engine->newQObject(engine)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(true)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(int(122))", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(uint(124))", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(123.0)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(6.37e-8)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0x43211234)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0x10000)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0x10001)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(qInf())", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(\"NaN\")", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(\"ciao\")", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, true)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, int(122))", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, uint(124))", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 123.0)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0x10000)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, qInf())", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, \"NaN\")", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, \"ciao\")", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, true)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, int(122))", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, uint(124))", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 123.0)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, qInf())", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Error.prototype\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Object\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Array\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Number\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Function\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"new Object()\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"new Error()\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Undefined\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Null\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"True\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"False\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"true\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"122\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"124\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"123.0\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"'123'\")", + "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(0, QString(\"0\")) <=> engine->newObject()", + "QScriptValue(0, QString(\"0\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(0, QString(\"0\")) <=> engine->newVariant(QVariant(123))", + "QScriptValue(0, QString(\"0\")) <=> engine->newQObject(engine)", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(uint(124))", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0x43211234)", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0x10000)", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0x10001)", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(qInf())", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(\"NaN\")", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(\"ciao\")", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, uint(124))", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 0x10000)", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, qInf())", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, \"NaN\")", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, \"ciao\")", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, uint(124))", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, qInf())", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Error.prototype\")", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Object\")", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Array\")", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Number\")", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Function\")", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"new Object()\")", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"new Error()\")", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Undefined\")", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Null\")", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"True\")", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"False\")", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"124\")", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(0, QString(\"123\")) <=> engine->newObject()", + "QScriptValue(0, QString(\"123\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(0, QString(\"123\")) <=> engine->newQObject(engine)", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(int(122))", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(uint(124))", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(123.0)", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0x43211234)", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0x10000)", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0x10001)", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(qInf())", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(\"NaN\")", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(\"Infinity\")", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(\"ciao\")", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, int(122))", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, uint(124))", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 123.0)", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 0x10000)", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 0x10001)", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, qInf())", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, \"NaN\")", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, \"ciao\")", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, int(122))", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, uint(124))", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 123.0)", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, qInf())", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Error.prototype\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Object\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Array\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Number\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Function\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"new Object()\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"new Error()\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Undefined\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Null\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"True\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"False\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"122\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"124\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"123.0\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"'123'\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(0, QString(\"12.3\")) <=> engine->newObject()", + "QScriptValue(0, QString(\"12.3\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(0, QString(\"12.3\")) <=> engine->newVariant(QVariant(123))", + "QScriptValue(0, QString(\"12.3\")) <=> engine->newQObject(engine)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(true)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(int(122))", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(uint(124))", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(123.0)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(6.37e-8)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0x43211234)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0x10000)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0x10001)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(qInf())", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, true)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, int(122))", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, uint(124))", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 123.0)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 0x10000)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 0x10001)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, qInf())", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, true)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, int(122))", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, uint(124))", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 123.0)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"true\")", + "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"122\")", + "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"124\")", + "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"123.0\")", + "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"'123'\")", + "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(engine, QScriptValue::NullValue) <=> engine->newVariant(QVariant(123))", + "QScriptValue(engine, true) <=> QScriptValue(int(122))", + "QScriptValue(engine, true) <=> QScriptValue(uint(124))", + "QScriptValue(engine, true) <=> QScriptValue(123.0)", + "QScriptValue(engine, true) <=> QScriptValue(0x43211234)", + "QScriptValue(engine, true) <=> QScriptValue(0x10000)", + "QScriptValue(engine, true) <=> QScriptValue(0x10001)", + "QScriptValue(engine, true) <=> QScriptValue(qInf())", + "QScriptValue(engine, true) <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, true) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(engine, true) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(engine, true) <=> QScriptValue(0, int(122))", + "QScriptValue(engine, true) <=> QScriptValue(0, uint(124))", + "QScriptValue(engine, true) <=> QScriptValue(0, 123.0)", + "QScriptValue(engine, true) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(engine, true) <=> QScriptValue(0, 0x10000)", + "QScriptValue(engine, true) <=> QScriptValue(0, 0x10001)", + "QScriptValue(engine, true) <=> QScriptValue(0, qInf())", + "QScriptValue(engine, true) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, true) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(engine, true) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(engine, true) <=> QScriptValue(engine, int(122))", + "QScriptValue(engine, true) <=> QScriptValue(engine, uint(124))", + "QScriptValue(engine, true) <=> QScriptValue(engine, 123.0)", + "QScriptValue(engine, true) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(engine, true) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(engine, true) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(engine, true) <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, true) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, true) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(engine, true) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(engine, true) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(engine, true) <=> engine->evaluate(\"122\")", + "QScriptValue(engine, true) <=> engine->evaluate(\"124\")", + "QScriptValue(engine, true) <=> engine->evaluate(\"123.0\")", + "QScriptValue(engine, true) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(engine, true) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(engine, true) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(engine, true) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, true) <=> engine->evaluate(\"'123'\")", + "QScriptValue(engine, true) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(engine, true) <=> engine->newVariant(QVariant(123))", + "QScriptValue(engine, false) <=> QScriptValue(true)", + "QScriptValue(engine, false) <=> QScriptValue(int(122))", + "QScriptValue(engine, false) <=> QScriptValue(uint(124))", + "QScriptValue(engine, false) <=> QScriptValue(123.0)", + "QScriptValue(engine, false) <=> QScriptValue(6.37e-8)", + "QScriptValue(engine, false) <=> QScriptValue(0x43211234)", + "QScriptValue(engine, false) <=> QScriptValue(0x10000)", + "QScriptValue(engine, false) <=> QScriptValue(0x10001)", + "QScriptValue(engine, false) <=> QScriptValue(qInf())", + "QScriptValue(engine, false) <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, false) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(engine, false) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(engine, false) <=> QScriptValue(0, true)", + "QScriptValue(engine, false) <=> QScriptValue(0, int(122))", + "QScriptValue(engine, false) <=> QScriptValue(0, uint(124))", + "QScriptValue(engine, false) <=> QScriptValue(0, 123.0)", + "QScriptValue(engine, false) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(engine, false) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(engine, false) <=> QScriptValue(0, 0x10000)", + "QScriptValue(engine, false) <=> QScriptValue(0, 0x10001)", + "QScriptValue(engine, false) <=> QScriptValue(0, qInf())", + "QScriptValue(engine, false) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, false) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(engine, false) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(engine, false) <=> QScriptValue(engine, true)", + "QScriptValue(engine, false) <=> QScriptValue(engine, int(122))", + "QScriptValue(engine, false) <=> QScriptValue(engine, uint(124))", + "QScriptValue(engine, false) <=> QScriptValue(engine, 123.0)", + "QScriptValue(engine, false) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(engine, false) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(engine, false) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(engine, false) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(engine, false) <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, false) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(engine, false) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(engine, false) <=> engine->evaluate(\"true\")", + "QScriptValue(engine, false) <=> engine->evaluate(\"122\")", + "QScriptValue(engine, false) <=> engine->evaluate(\"124\")", + "QScriptValue(engine, false) <=> engine->evaluate(\"123.0\")", + "QScriptValue(engine, false) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(engine, false) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(engine, false) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(engine, false) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(engine, false) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, false) <=> engine->evaluate(\"'123'\")", + "QScriptValue(engine, false) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(engine, false) <=> engine->newVariant(QVariant(123))", + "QScriptValue(engine, int(122)) <=> QScriptValue(uint(124))", + "QScriptValue(engine, int(122)) <=> QScriptValue(123.0)", + "QScriptValue(engine, int(122)) <=> QScriptValue(0x43211234)", + "QScriptValue(engine, int(122)) <=> QScriptValue(0x10000)", + "QScriptValue(engine, int(122)) <=> QScriptValue(0x10001)", + "QScriptValue(engine, int(122)) <=> QScriptValue(qInf())", + "QScriptValue(engine, int(122)) <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, int(122)) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(engine, int(122)) <=> QScriptValue(0, uint(124))", + "QScriptValue(engine, int(122)) <=> QScriptValue(0, 123.0)", + "QScriptValue(engine, int(122)) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(engine, int(122)) <=> QScriptValue(0, 0x10000)", + "QScriptValue(engine, int(122)) <=> QScriptValue(0, 0x10001)", + "QScriptValue(engine, int(122)) <=> QScriptValue(0, qInf())", + "QScriptValue(engine, int(122)) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, int(122)) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(engine, int(122)) <=> QScriptValue(engine, uint(124))", + "QScriptValue(engine, int(122)) <=> QScriptValue(engine, 123.0)", + "QScriptValue(engine, int(122)) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(engine, int(122)) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(engine, int(122)) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(engine, int(122)) <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, int(122)) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, int(122)) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(engine, int(122)) <=> engine->evaluate(\"124\")", + "QScriptValue(engine, int(122)) <=> engine->evaluate(\"123.0\")", + "QScriptValue(engine, int(122)) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(engine, int(122)) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(engine, int(122)) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(engine, int(122)) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, int(122)) <=> engine->evaluate(\"'123'\")", + "QScriptValue(engine, int(122)) <=> engine->newVariant(QVariant(123))", + "QScriptValue(engine, uint(124)) <=> QScriptValue(0x43211234)", + "QScriptValue(engine, uint(124)) <=> QScriptValue(0x10000)", + "QScriptValue(engine, uint(124)) <=> QScriptValue(0x10001)", + "QScriptValue(engine, uint(124)) <=> QScriptValue(qInf())", + "QScriptValue(engine, uint(124)) <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, uint(124)) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(engine, uint(124)) <=> QScriptValue(0, 0x10000)", + "QScriptValue(engine, uint(124)) <=> QScriptValue(0, 0x10001)", + "QScriptValue(engine, uint(124)) <=> QScriptValue(0, qInf())", + "QScriptValue(engine, uint(124)) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, uint(124)) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(engine, uint(124)) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(engine, uint(124)) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(engine, uint(124)) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, 0) <=> QScriptValue(true)", + "QScriptValue(engine, 0) <=> QScriptValue(int(122))", + "QScriptValue(engine, 0) <=> QScriptValue(uint(124))", + "QScriptValue(engine, 0) <=> QScriptValue(123.0)", + "QScriptValue(engine, 0) <=> QScriptValue(6.37e-8)", + "QScriptValue(engine, 0) <=> QScriptValue(0x43211234)", + "QScriptValue(engine, 0) <=> QScriptValue(0x10000)", + "QScriptValue(engine, 0) <=> QScriptValue(0x10001)", + "QScriptValue(engine, 0) <=> QScriptValue(qInf())", + "QScriptValue(engine, 0) <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, 0) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(engine, 0) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(engine, 0) <=> QScriptValue(0, true)", + "QScriptValue(engine, 0) <=> QScriptValue(0, int(122))", + "QScriptValue(engine, 0) <=> QScriptValue(0, uint(124))", + "QScriptValue(engine, 0) <=> QScriptValue(0, 123.0)", + "QScriptValue(engine, 0) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(engine, 0) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(engine, 0) <=> QScriptValue(0, 0x10000)", + "QScriptValue(engine, 0) <=> QScriptValue(0, 0x10001)", + "QScriptValue(engine, 0) <=> QScriptValue(0, qInf())", + "QScriptValue(engine, 0) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(engine, 0) <=> QScriptValue(engine, true)", + "QScriptValue(engine, 0) <=> QScriptValue(engine, int(122))", + "QScriptValue(engine, 0) <=> QScriptValue(engine, uint(124))", + "QScriptValue(engine, 0) <=> QScriptValue(engine, 123.0)", + "QScriptValue(engine, 0) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(engine, 0) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(engine, 0) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(engine, 0) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(engine, 0) <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, 0) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(engine, 0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(engine, 0) <=> engine->evaluate(\"true\")", + "QScriptValue(engine, 0) <=> engine->evaluate(\"122\")", + "QScriptValue(engine, 0) <=> engine->evaluate(\"124\")", + "QScriptValue(engine, 0) <=> engine->evaluate(\"123.0\")", + "QScriptValue(engine, 0) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(engine, 0) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(engine, 0) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(engine, 0) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(engine, 0) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, 0) <=> engine->evaluate(\"'123'\")", + "QScriptValue(engine, 0) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(engine, 0) <=> engine->newVariant(QVariant(123))", + "QScriptValue(engine, 0.0) <=> QScriptValue(true)", + "QScriptValue(engine, 0.0) <=> QScriptValue(int(122))", + "QScriptValue(engine, 0.0) <=> QScriptValue(uint(124))", + "QScriptValue(engine, 0.0) <=> QScriptValue(123.0)", + "QScriptValue(engine, 0.0) <=> QScriptValue(6.37e-8)", + "QScriptValue(engine, 0.0) <=> QScriptValue(0x43211234)", + "QScriptValue(engine, 0.0) <=> QScriptValue(0x10000)", + "QScriptValue(engine, 0.0) <=> QScriptValue(0x10001)", + "QScriptValue(engine, 0.0) <=> QScriptValue(qInf())", + "QScriptValue(engine, 0.0) <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(engine, 0.0) <=> QScriptValue(0, true)", + "QScriptValue(engine, 0.0) <=> QScriptValue(0, int(122))", + "QScriptValue(engine, 0.0) <=> QScriptValue(0, uint(124))", + "QScriptValue(engine, 0.0) <=> QScriptValue(0, 123.0)", + "QScriptValue(engine, 0.0) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0x10000)", + "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0x10001)", + "QScriptValue(engine, 0.0) <=> QScriptValue(0, qInf())", + "QScriptValue(engine, 0.0) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(engine, 0.0) <=> QScriptValue(engine, true)", + "QScriptValue(engine, 0.0) <=> QScriptValue(engine, int(122))", + "QScriptValue(engine, 0.0) <=> QScriptValue(engine, uint(124))", + "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 123.0)", + "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(engine, 0.0) <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, 0.0) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(engine, 0.0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(engine, 0.0) <=> engine->evaluate(\"true\")", + "QScriptValue(engine, 0.0) <=> engine->evaluate(\"122\")", + "QScriptValue(engine, 0.0) <=> engine->evaluate(\"124\")", + "QScriptValue(engine, 0.0) <=> engine->evaluate(\"123.0\")", + "QScriptValue(engine, 0.0) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(engine, 0.0) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, 0.0) <=> engine->evaluate(\"'123'\")", + "QScriptValue(engine, 0.0) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(engine, 0.0) <=> engine->newVariant(QVariant(123))", + "QScriptValue(engine, 123.0) <=> QScriptValue(uint(124))", + "QScriptValue(engine, 123.0) <=> QScriptValue(0x43211234)", + "QScriptValue(engine, 123.0) <=> QScriptValue(0x10000)", + "QScriptValue(engine, 123.0) <=> QScriptValue(0x10001)", + "QScriptValue(engine, 123.0) <=> QScriptValue(qInf())", + "QScriptValue(engine, 123.0) <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, 123.0) <=> QScriptValue(0, uint(124))", + "QScriptValue(engine, 123.0) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(engine, 123.0) <=> QScriptValue(0, 0x10000)", + "QScriptValue(engine, 123.0) <=> QScriptValue(0, 0x10001)", + "QScriptValue(engine, 123.0) <=> QScriptValue(0, qInf())", + "QScriptValue(engine, 123.0) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, 123.0) <=> QScriptValue(engine, uint(124))", + "QScriptValue(engine, 123.0) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(engine, 123.0) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(engine, 123.0) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(engine, 123.0) <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, 123.0) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, 123.0) <=> engine->evaluate(\"124\")", + "QScriptValue(engine, 123.0) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(engine, 123.0) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(engine, 123.0) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(engine, 123.0) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(true)", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(int(122))", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(uint(124))", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(123.0)", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0x43211234)", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0x10000)", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0x10001)", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(qInf())", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, true)", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, int(122))", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, uint(124))", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 123.0)", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 0x10000)", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 0x10001)", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, qInf())", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, true)", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, int(122))", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, uint(124))", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 123.0)", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"true\")", + "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"122\")", + "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"124\")", + "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"123.0\")", + "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"'123'\")", + "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(engine, 6.37e-8) <=> engine->newVariant(QVariant(123))", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(QScriptValue::NullValue)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(true)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(false)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(int(122))", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(uint(124))", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0.0)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(123.0)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(6.37e-8)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0x43211234)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0x10000)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0x10001)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(qInf())", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"\"))", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString())", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QScriptValue::NullValue)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, true)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, false)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, int(122))", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, uint(124))", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0.0)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 123.0)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0x10000)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0x10001)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, qInf())", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString())", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QScriptValue::NullValue)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, true)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, false)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, int(122))", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, uint(124))", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0.0)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 123.0)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString())", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"[]\")", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"Array.prototype\")", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"new Array()\")", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"null\")", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"true\")", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"false\")", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"122\")", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"124\")", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"0\")", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"0.0\")", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"123.0\")", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"''\")", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"'0'\")", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"'123'\")", + "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(engine, -6.37e-8) <=> engine->nullValue()", + "QScriptValue(engine, -6.37e-8) <=> engine->newArray()", + "QScriptValue(engine, -6.37e-8) <=> engine->newVariant(QVariant(123))", + "QScriptValue(engine, -6.37e-8) <=> engine->newVariant(QVariant(false))", + "QScriptValue(engine, -6.37e-8) <=> engine->newQObject(0)", + "QScriptValue(engine, 0x43211234) <=> QScriptValue(qInf())", + "QScriptValue(engine, 0x43211234) <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, 0x43211234) <=> QScriptValue(0, qInf())", + "QScriptValue(engine, 0x43211234) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, 0x43211234) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, 0x10000) <=> QScriptValue(0x43211234)", + "QScriptValue(engine, 0x10000) <=> QScriptValue(0x10001)", + "QScriptValue(engine, 0x10000) <=> QScriptValue(qInf())", + "QScriptValue(engine, 0x10000) <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x10001)", + "QScriptValue(engine, 0x10000) <=> QScriptValue(0, qInf())", + "QScriptValue(engine, 0x10000) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(engine, 0x10000) <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, 0x10000) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, 0x10000) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(engine, 0x10000) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(engine, 0x10000) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, 0x10001) <=> QScriptValue(0x43211234)", + "QScriptValue(engine, 0x10001) <=> QScriptValue(qInf())", + "QScriptValue(engine, 0x10001) <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, 0x10001) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(engine, 0x10001) <=> QScriptValue(0, qInf())", + "QScriptValue(engine, 0x10001) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, 0x10001) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(engine, 0x10001) <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, 0x10001) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, 0x10001) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(engine, 0x10001) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, -qInf()) <=> QScriptValue(QScriptValue::NullValue)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(true)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(false)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(int(122))", + "QScriptValue(engine, -qInf()) <=> QScriptValue(uint(124))", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0.0)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(123.0)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(6.37e-8)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(-6.37e-8)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0x43211234)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0x10000)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0x10001)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(qInf())", + "QScriptValue(engine, -qInf()) <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"\"))", + "QScriptValue(engine, -qInf()) <=> QScriptValue(QString())", + "QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, QScriptValue::NullValue)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, true)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, false)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, int(122))", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, uint(124))", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0.0)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, 123.0)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, -6.37e-8)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0x10000)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0x10001)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, qInf())", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"\"))", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString())", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QScriptValue::NullValue)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, true)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, false)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, int(122))", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, uint(124))", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0.0)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 123.0)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, -6.37e-8)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"\"))", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString())", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"[]\")", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"Array.prototype\")", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"new Array()\")", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"null\")", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"true\")", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"false\")", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"122\")", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"124\")", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"0\")", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"0.0\")", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"123.0\")", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"-6.37e-8\")", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"''\")", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"'0'\")", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"'123'\")", + "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(engine, -qInf()) <=> engine->nullValue()", + "QScriptValue(engine, -qInf()) <=> engine->newArray()", + "QScriptValue(engine, -qInf()) <=> engine->newVariant(QVariant(123))", + "QScriptValue(engine, -qInf()) <=> engine->newVariant(QVariant(false))", + "QScriptValue(engine, -qInf()) <=> engine->newQObject(0)", + "QScriptValue(engine, \"NaN\") <=> QScriptValue(\"ciao\")", + "QScriptValue(engine, \"NaN\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, \"NaN\") <=> QScriptValue(0, \"ciao\")", + "QScriptValue(engine, \"NaN\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Object\")", + "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Array\")", + "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Number\")", + "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Function\")", + "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"new Object()\")", + "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Undefined\")", + "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Null\")", + "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"True\")", + "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"False\")", + "QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(engine, \"NaN\") <=> engine->newObject()", + "QScriptValue(engine, \"NaN\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(engine, \"NaN\") <=> engine->newQObject(engine)", + "QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"NaN\")", + "QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"ciao\")", + "QScriptValue(engine, \"Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"NaN\")", + "QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"ciao\")", + "QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Object\")", + "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Array\")", + "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Number\")", + "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Function\")", + "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"new Object()\")", + "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Undefined\")", + "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Null\")", + "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"True\")", + "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"False\")", + "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(engine, \"Infinity\") <=> engine->newObject()", + "QScriptValue(engine, \"Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(engine, \"Infinity\") <=> engine->newQObject(engine)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QScriptValue::NullValue)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(true)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(false)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(int(122))", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(uint(124))", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0.0)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(123.0)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(6.37e-8)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(-6.37e-8)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0x43211234)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0x10000)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0x10001)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(qInf())", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"NaN\")", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"ciao\")", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString(\"0\"))", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString(\"123\"))", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QScriptValue::NullValue)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, true)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, false)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, int(122))", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, uint(124))", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0.0)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 123.0)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, -6.37e-8)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0x43211234)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0x10000)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0x10001)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, qInf())", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"NaN\")", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"ciao\")", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QScriptValue::NullValue)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, true)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, false)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, int(122))", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, uint(124))", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0.0)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 123.0)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, -6.37e-8)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0x10000)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0x10001)", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Error.prototype\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Object\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Array\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Number\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Function\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"/foo/\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"new Object()\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"new Error()\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Undefined\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Null\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"True\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"False\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"null\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"true\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"false\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"122\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"124\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"0\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"0.0\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"123.0\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"-6.37e-8\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"0x10000\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"0x10001\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"'0'\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"'123'\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(engine, \"-Infinity\") <=> engine->nullValue()", + "QScriptValue(engine, \"-Infinity\") <=> engine->newObject()", + "QScriptValue(engine, \"-Infinity\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(engine, \"-Infinity\") <=> engine->newVariant(QVariant(123))", + "QScriptValue(engine, \"-Infinity\") <=> engine->newVariant(QVariant(false))", + "QScriptValue(engine, \"-Infinity\") <=> engine->newQObject(0)", + "QScriptValue(engine, \"-Infinity\") <=> engine->newQObject(engine)", + "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Object\")", + "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Array\")", + "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Number\")", + "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Function\")", + "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Object\")", + "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Array\")", + "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Number\")", + "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function\")", + "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(true)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(int(122))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(uint(124))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(123.0)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(6.37e-8)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0x43211234)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0x10000)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0x10001)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(qInf())", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"NaN\")", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"-Infinity\")", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"ciao\")", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, true)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, int(122))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, uint(124))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 123.0)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0x10000)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0x10001)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, qInf())", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"NaN\")", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"-Infinity\")", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"ciao\")", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, true)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, int(122))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, uint(124))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 123.0)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"-Infinity\")", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Error.prototype\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Object\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Array\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Number\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Function\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"/foo/\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"new Object()\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"new Error()\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Undefined\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Null\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"True\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"False\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"true\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"122\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"124\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"123.0\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"'0'\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"'123'\")", + "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(engine, QString(\"\")) <=> engine->newObject()", + "QScriptValue(engine, QString(\"\")) <=> engine->newArray(10)", + "QScriptValue(engine, QString(\"\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(engine, QString(\"\")) <=> engine->newVariant(QVariant(123))", + "QScriptValue(engine, QString(\"\")) <=> engine->newQObject(engine)", + "QScriptValue(engine, QString()) <=> QScriptValue(true)", + "QScriptValue(engine, QString()) <=> QScriptValue(int(122))", + "QScriptValue(engine, QString()) <=> QScriptValue(uint(124))", + "QScriptValue(engine, QString()) <=> QScriptValue(123.0)", + "QScriptValue(engine, QString()) <=> QScriptValue(6.37e-8)", + "QScriptValue(engine, QString()) <=> QScriptValue(0x43211234)", + "QScriptValue(engine, QString()) <=> QScriptValue(0x10000)", + "QScriptValue(engine, QString()) <=> QScriptValue(0x10001)", + "QScriptValue(engine, QString()) <=> QScriptValue(qInf())", + "QScriptValue(engine, QString()) <=> QScriptValue(\"NaN\")", + "QScriptValue(engine, QString()) <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, QString()) <=> QScriptValue(\"-Infinity\")", + "QScriptValue(engine, QString()) <=> QScriptValue(\"ciao\")", + "QScriptValue(engine, QString()) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, QString()) <=> QScriptValue(QString(\"0\"))", + "QScriptValue(engine, QString()) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(engine, QString()) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(engine, QString()) <=> QScriptValue(0, true)", + "QScriptValue(engine, QString()) <=> QScriptValue(0, int(122))", + "QScriptValue(engine, QString()) <=> QScriptValue(0, uint(124))", + "QScriptValue(engine, QString()) <=> QScriptValue(0, 123.0)", + "QScriptValue(engine, QString()) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(engine, QString()) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(engine, QString()) <=> QScriptValue(0, 0x10000)", + "QScriptValue(engine, QString()) <=> QScriptValue(0, 0x10001)", + "QScriptValue(engine, QString()) <=> QScriptValue(0, qInf())", + "QScriptValue(engine, QString()) <=> QScriptValue(0, \"NaN\")", + "QScriptValue(engine, QString()) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, QString()) <=> QScriptValue(0, \"-Infinity\")", + "QScriptValue(engine, QString()) <=> QScriptValue(0, \"ciao\")", + "QScriptValue(engine, QString()) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"0\"))", + "QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, true)", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, int(122))", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, uint(124))", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, 123.0)", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, \"-Infinity\")", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"0\"))", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"Error.prototype\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"Object\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"Array\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"Number\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"Function\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"/foo/\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"new Object()\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"new Error()\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"Undefined\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"Null\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"True\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"False\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"true\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"122\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"124\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"123.0\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"'0'\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"'123'\")", + "QScriptValue(engine, QString()) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(engine, QString()) <=> engine->newObject()", + "QScriptValue(engine, QString()) <=> engine->newArray(10)", + "QScriptValue(engine, QString()) <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(engine, QString()) <=> engine->newVariant(QVariant(123))", + "QScriptValue(engine, QString()) <=> engine->newQObject(engine)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(true)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(int(122))", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(uint(124))", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(123.0)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(6.37e-8)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0x43211234)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0x10000)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0x10001)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(qInf())", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(\"NaN\")", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(\"ciao\")", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, true)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, int(122))", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, uint(124))", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 123.0)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 6.37e-8)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0x10000)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0x10001)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, qInf())", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, \"NaN\")", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, \"ciao\")", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, true)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, int(122))", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, uint(124))", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 123.0)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 6.37e-8)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"1.23\"))", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Error.prototype\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Object\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Array\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Number\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Function\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"new Object()\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"new Error()\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Undefined\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Null\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"True\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"False\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"true\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"122\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"124\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"123.0\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"6.37e-8\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"'123'\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(engine, QString(\"0\")) <=> engine->newObject()", + "QScriptValue(engine, QString(\"0\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(engine, QString(\"0\")) <=> engine->newVariant(QVariant(123))", + "QScriptValue(engine, QString(\"0\")) <=> engine->newQObject(engine)", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(uint(124))", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0x43211234)", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0x10000)", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0x10001)", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(qInf())", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(\"NaN\")", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(\"ciao\")", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, uint(124))", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 0x10000)", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 0x10001)", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, qInf())", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, \"NaN\")", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, \"ciao\")", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, uint(124))", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Error.prototype\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Object\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Array\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Number\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Function\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"new Object()\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"new Error()\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Undefined\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Null\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"True\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"False\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"124\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(engine, QString(\"123\")) <=> engine->newObject()", + "QScriptValue(engine, QString(\"123\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(engine, QString(\"123\")) <=> engine->newQObject(engine)", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(int(122))", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(uint(124))", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(123.0)", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0x43211234)", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0x10000)", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0x10001)", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(qInf())", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(\"NaN\")", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(\"Infinity\")", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(\"ciao\")", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(QString(\"123\"))", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(QString(\"12.4\"))", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, int(122))", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, uint(124))", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 123.0)", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 0x43211234)", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 0x10000)", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 0x10001)", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, qInf())", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, \"NaN\")", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, \"Infinity\")", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, \"ciao\")", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, QString(\"123\"))", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, QString(\"12.3\"))", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, int(122))", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, uint(124))", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 123.0)", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 0x43211234)", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 0x10000)", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 0x10001)", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, qInf())", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, \"NaN\")", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, \"Infinity\")", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, \"ciao\")", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString(\"123\"))", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Object.prototype\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Function.prototype\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Error.prototype\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Object\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Array\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Number\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Function\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"(function() { return 1; })\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"new Object()\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"new Error()\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Undefined\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Null\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"True\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"False\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"122\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"124\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"123.0\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"0x43211234\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"0x10000\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"0x10001\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Infinity\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"'ciao'\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"'123'\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"'12.4'\")", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->newObject()", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->newVariant(QVariant(123))", + "QScriptValue(engine, QString(\"1.23\")) <=> engine->newQObject(engine)", + "engine->evaluate(\"[]\") <=> QScriptValue(true)", + "engine->evaluate(\"[]\") <=> QScriptValue(int(122))", + "engine->evaluate(\"[]\") <=> QScriptValue(uint(124))", + "engine->evaluate(\"[]\") <=> QScriptValue(123.0)", + "engine->evaluate(\"[]\") <=> QScriptValue(6.37e-8)", + "engine->evaluate(\"[]\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"[]\") <=> QScriptValue(0x10000)", + "engine->evaluate(\"[]\") <=> QScriptValue(0x10001)", + "engine->evaluate(\"[]\") <=> QScriptValue(qInf())", + "engine->evaluate(\"[]\") <=> QScriptValue(\"NaN\")", + "engine->evaluate(\"[]\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"[]\") <=> QScriptValue(\"-Infinity\")", + "engine->evaluate(\"[]\") <=> QScriptValue(\"ciao\")", + "engine->evaluate(\"[]\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"[]\") <=> QScriptValue(QString(\"0\"))", + "engine->evaluate(\"[]\") <=> QScriptValue(QString(\"123\"))", + "engine->evaluate(\"[]\") <=> QScriptValue(QString(\"12.4\"))", + "engine->evaluate(\"[]\") <=> QScriptValue(0, true)", + "engine->evaluate(\"[]\") <=> QScriptValue(0, int(122))", + "engine->evaluate(\"[]\") <=> QScriptValue(0, uint(124))", + "engine->evaluate(\"[]\") <=> QScriptValue(0, 123.0)", + "engine->evaluate(\"[]\") <=> QScriptValue(0, 6.37e-8)", + "engine->evaluate(\"[]\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"[]\") <=> QScriptValue(0, 0x10000)", + "engine->evaluate(\"[]\") <=> QScriptValue(0, 0x10001)", + "engine->evaluate(\"[]\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"[]\") <=> QScriptValue(0, \"NaN\")", + "engine->evaluate(\"[]\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"[]\") <=> QScriptValue(0, \"-Infinity\")", + "engine->evaluate(\"[]\") <=> QScriptValue(0, \"ciao\")", + "engine->evaluate(\"[]\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"0\"))", + "engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"123\"))", + "engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"12.3\"))", + "engine->evaluate(\"[]\") <=> QScriptValue(engine, true)", + "engine->evaluate(\"[]\") <=> QScriptValue(engine, int(122))", + "engine->evaluate(\"[]\") <=> QScriptValue(engine, uint(124))", + "engine->evaluate(\"[]\") <=> QScriptValue(engine, 123.0)", + "engine->evaluate(\"[]\") <=> QScriptValue(engine, 6.37e-8)", + "engine->evaluate(\"[]\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"[]\") <=> QScriptValue(engine, 0x10000)", + "engine->evaluate(\"[]\") <=> QScriptValue(engine, 0x10001)", + "engine->evaluate(\"[]\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"[]\") <=> QScriptValue(engine, \"NaN\")", + "engine->evaluate(\"[]\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"[]\") <=> QScriptValue(engine, \"-Infinity\")", + "engine->evaluate(\"[]\") <=> QScriptValue(engine, \"ciao\")", + "engine->evaluate(\"[]\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"0\"))", + "engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"123\"))", + "engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"1.23\"))", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"Object.prototype\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"Function.prototype\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"Error.prototype\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"/foo/\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"new Object()\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"new Error()\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"Undefined\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"Null\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"True\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"False\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"true\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"122\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"124\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"123.0\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"6.37e-8\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"0x10000\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"0x10001\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"'ciao'\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"'0'\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"'123'\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"'12.4'\")", + "engine->evaluate(\"[]\") <=> engine->newObject()", + "engine->evaluate(\"[]\") <=> engine->newArray(10)", + "engine->evaluate(\"[]\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "engine->evaluate(\"[]\") <=> engine->newVariant(QVariant(123))", + "engine->evaluate(\"[]\") <=> engine->newQObject(engine)", + "engine->evaluate(\"Object.prototype\") <=> QScriptValue(\"ciao\")", + "engine->evaluate(\"Object.prototype\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"Object.prototype\") <=> QScriptValue(0, \"ciao\")", + "engine->evaluate(\"Object.prototype\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"Object.prototype\") <=> QScriptValue(engine, \"ciao\")", + "engine->evaluate(\"Object.prototype\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Function.prototype\")", + "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"'ciao'\")", + "engine->evaluate(\"Object.prototype\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(true)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(int(122))", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(uint(124))", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(123.0)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(6.37e-8)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0x10000)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0x10001)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(qInf())", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"NaN\")", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"-Infinity\")", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"ciao\")", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"0\"))", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"123\"))", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"12.4\"))", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, true)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, int(122))", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, uint(124))", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 123.0)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 6.37e-8)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0x10000)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0x10001)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"NaN\")", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"-Infinity\")", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"ciao\")", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"0\"))", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"123\"))", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"12.3\"))", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, true)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, int(122))", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, uint(124))", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 123.0)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 6.37e-8)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0x10000)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0x10001)", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"NaN\")", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"-Infinity\")", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"ciao\")", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"0\"))", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"123\"))", + "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"1.23\"))", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Object.prototype\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Function.prototype\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Error.prototype\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"/foo/\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"new Object()\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"new Error()\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Undefined\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Null\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"True\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"False\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"true\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"122\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"124\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"123.0\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"6.37e-8\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"0x10000\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"0x10001\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"'ciao'\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"'0'\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"'123'\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"'12.4'\")", + "engine->evaluate(\"Array.prototype\") <=> engine->newObject()", + "engine->evaluate(\"Array.prototype\") <=> engine->newArray(10)", + "engine->evaluate(\"Array.prototype\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "engine->evaluate(\"Array.prototype\") <=> engine->newVariant(QVariant(123))", + "engine->evaluate(\"Array.prototype\") <=> engine->newQObject(engine)", + "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->evaluate(\"Error.prototype\") <=> QScriptValue(\"NaN\")", + "engine->evaluate(\"Error.prototype\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"Error.prototype\") <=> QScriptValue(\"ciao\")", + "engine->evaluate(\"Error.prototype\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, \"NaN\")", + "engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, \"ciao\")", + "engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, \"NaN\")", + "engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, \"ciao\")", + "engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Object.prototype\")", + "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Function.prototype\")", + "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"new Object()\")", + "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Undefined\")", + "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Null\")", + "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"True\")", + "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"False\")", + "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"'ciao'\")", + "engine->evaluate(\"Error.prototype\") <=> engine->newObject()", + "engine->evaluate(\"Error.prototype\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "engine->evaluate(\"Error.prototype\") <=> engine->newQObject(engine)", + "engine->evaluate(\"Array\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"Array\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"Array\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"Number\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"Function\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"Function\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"/foo/\") <=> QScriptValue(\"NaN\")", + "engine->evaluate(\"/foo/\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"/foo/\") <=> QScriptValue(\"ciao\")", + "engine->evaluate(\"/foo/\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"/foo/\") <=> QScriptValue(QString(\"0\"))", + "engine->evaluate(\"/foo/\") <=> QScriptValue(QString(\"123\"))", + "engine->evaluate(\"/foo/\") <=> QScriptValue(QString(\"12.4\"))", + "engine->evaluate(\"/foo/\") <=> QScriptValue(0, \"NaN\")", + "engine->evaluate(\"/foo/\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"/foo/\") <=> QScriptValue(0, \"ciao\")", + "engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString(\"0\"))", + "engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString(\"123\"))", + "engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString(\"12.3\"))", + "engine->evaluate(\"/foo/\") <=> QScriptValue(engine, \"NaN\")", + "engine->evaluate(\"/foo/\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"/foo/\") <=> QScriptValue(engine, \"ciao\")", + "engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString(\"0\"))", + "engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString(\"123\"))", + "engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString(\"1.23\"))", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Object.prototype\")", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Function.prototype\")", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Error.prototype\")", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"new Object()\")", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"new Error()\")", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Undefined\")", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Null\")", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"True\")", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"False\")", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"'ciao'\")", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"'0'\")", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"'123'\")", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"'12.4'\")", + "engine->evaluate(\"/foo/\") <=> engine->newObject()", + "engine->evaluate(\"/foo/\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "engine->evaluate(\"/foo/\") <=> engine->newQObject(engine)", + "engine->evaluate(\"new Object()\") <=> QScriptValue(\"ciao\")", + "engine->evaluate(\"new Object()\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"new Object()\") <=> QScriptValue(0, \"ciao\")", + "engine->evaluate(\"new Object()\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"new Object()\") <=> QScriptValue(engine, \"ciao\")", + "engine->evaluate(\"new Object()\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Function.prototype\")", + "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"'ciao'\")", + "engine->evaluate(\"new Object()\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(true)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(int(122))", + "engine->evaluate(\"new Array()\") <=> QScriptValue(uint(124))", + "engine->evaluate(\"new Array()\") <=> QScriptValue(123.0)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(6.37e-8)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0x10000)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0x10001)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(qInf())", + "engine->evaluate(\"new Array()\") <=> QScriptValue(\"NaN\")", + "engine->evaluate(\"new Array()\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"new Array()\") <=> QScriptValue(\"-Infinity\")", + "engine->evaluate(\"new Array()\") <=> QScriptValue(\"ciao\")", + "engine->evaluate(\"new Array()\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"0\"))", + "engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"123\"))", + "engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"12.4\"))", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0, true)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0, int(122))", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0, uint(124))", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 123.0)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 6.37e-8)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0x10000)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0x10001)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"NaN\")", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"-Infinity\")", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"ciao\")", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"0\"))", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"123\"))", + "engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"12.3\"))", + "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, true)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, int(122))", + "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, uint(124))", + "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 123.0)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 6.37e-8)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0x10000)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0x10001)", + "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"NaN\")", + "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"-Infinity\")", + "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"ciao\")", + "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"0\"))", + "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"123\"))", + "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"1.23\"))", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Object.prototype\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Function.prototype\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Error.prototype\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"/foo/\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Object()\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Error()\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Undefined\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Null\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"True\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"False\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"true\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"122\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"124\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"123.0\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"6.37e-8\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"0x10000\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"0x10001\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"'ciao'\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"'0'\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"'123'\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"'12.4'\")", + "engine->evaluate(\"new Array()\") <=> engine->newObject()", + "engine->evaluate(\"new Array()\") <=> engine->newArray(10)", + "engine->evaluate(\"new Array()\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "engine->evaluate(\"new Array()\") <=> engine->newVariant(QVariant(123))", + "engine->evaluate(\"new Array()\") <=> engine->newQObject(engine)", + "engine->evaluate(\"new Error()\") <=> QScriptValue(\"NaN\")", + "engine->evaluate(\"new Error()\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"new Error()\") <=> QScriptValue(\"ciao\")", + "engine->evaluate(\"new Error()\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"new Error()\") <=> QScriptValue(0, \"NaN\")", + "engine->evaluate(\"new Error()\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"new Error()\") <=> QScriptValue(0, \"ciao\")", + "engine->evaluate(\"new Error()\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"new Error()\") <=> QScriptValue(engine, \"NaN\")", + "engine->evaluate(\"new Error()\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"new Error()\") <=> QScriptValue(engine, \"ciao\")", + "engine->evaluate(\"new Error()\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Object.prototype\")", + "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Function.prototype\")", + "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"new Object()\")", + "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Undefined\")", + "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Null\")", + "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"True\")", + "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"False\")", + "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"'ciao'\")", + "engine->evaluate(\"new Error()\") <=> engine->newObject()", + "engine->evaluate(\"new Error()\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "engine->evaluate(\"new Error()\") <=> engine->newQObject(engine)", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(int(122))", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(uint(124))", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(123.0)", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0x10000)", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0x10001)", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(qInf())", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(QString(\"123\"))", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, int(122))", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, uint(124))", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, 123.0)", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, 0x10000)", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, 0x10001)", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(0, QString(\"123\"))", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, int(122))", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, uint(124))", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, 123.0)", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, 0x10000)", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, 0x10001)", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> QScriptValue(engine, QString(\"123\"))", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"122\")", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"124\")", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"123.0\")", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"0x10000\")", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"0x10001\")", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"'123'\")", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->newVariant(QVariant(123))", + "engine->evaluate(\"Undefined\") <=> QScriptValue(\"ciao\")", + "engine->evaluate(\"Undefined\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"Undefined\") <=> QScriptValue(0, \"ciao\")", + "engine->evaluate(\"Undefined\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"Undefined\") <=> QScriptValue(engine, \"ciao\")", + "engine->evaluate(\"Undefined\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Object.prototype\")", + "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Function.prototype\")", + "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"new Object()\")", + "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"'ciao'\")", + "engine->evaluate(\"Undefined\") <=> engine->newObject()", + "engine->evaluate(\"Undefined\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "engine->evaluate(\"Null\") <=> QScriptValue(\"ciao\")", + "engine->evaluate(\"Null\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"Null\") <=> QScriptValue(0, \"ciao\")", + "engine->evaluate(\"Null\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"Null\") <=> QScriptValue(engine, \"ciao\")", + "engine->evaluate(\"Null\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"Null\") <=> engine->evaluate(\"Object.prototype\")", + "engine->evaluate(\"Null\") <=> engine->evaluate(\"Function.prototype\")", + "engine->evaluate(\"Null\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"Null\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"Null\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"Null\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"Null\") <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->evaluate(\"Null\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->evaluate(\"Null\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->evaluate(\"Null\") <=> engine->evaluate(\"new Object()\")", + "engine->evaluate(\"Null\") <=> engine->evaluate(\"Undefined\")", + "engine->evaluate(\"Null\") <=> engine->evaluate(\"True\")", + "engine->evaluate(\"Null\") <=> engine->evaluate(\"'ciao'\")", + "engine->evaluate(\"Null\") <=> engine->newObject()", + "engine->evaluate(\"Null\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "engine->evaluate(\"True\") <=> QScriptValue(\"ciao\")", + "engine->evaluate(\"True\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"True\") <=> QScriptValue(0, \"ciao\")", + "engine->evaluate(\"True\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"True\") <=> QScriptValue(engine, \"ciao\")", + "engine->evaluate(\"True\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"True\") <=> engine->evaluate(\"Object.prototype\")", + "engine->evaluate(\"True\") <=> engine->evaluate(\"Function.prototype\")", + "engine->evaluate(\"True\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"True\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"True\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"True\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"True\") <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->evaluate(\"True\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->evaluate(\"True\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->evaluate(\"True\") <=> engine->evaluate(\"new Object()\")", + "engine->evaluate(\"True\") <=> engine->evaluate(\"Undefined\")", + "engine->evaluate(\"True\") <=> engine->evaluate(\"'ciao'\")", + "engine->evaluate(\"True\") <=> engine->newObject()", + "engine->evaluate(\"True\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "engine->evaluate(\"False\") <=> QScriptValue(\"ciao\")", + "engine->evaluate(\"False\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"False\") <=> QScriptValue(0, \"ciao\")", + "engine->evaluate(\"False\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"False\") <=> QScriptValue(engine, \"ciao\")", + "engine->evaluate(\"False\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"False\") <=> engine->evaluate(\"Object.prototype\")", + "engine->evaluate(\"False\") <=> engine->evaluate(\"Function.prototype\")", + "engine->evaluate(\"False\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"False\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"False\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"False\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"False\") <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->evaluate(\"False\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->evaluate(\"False\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->evaluate(\"False\") <=> engine->evaluate(\"new Object()\")", + "engine->evaluate(\"False\") <=> engine->evaluate(\"Undefined\")", + "engine->evaluate(\"False\") <=> engine->evaluate(\"Null\")", + "engine->evaluate(\"False\") <=> engine->evaluate(\"True\")", + "engine->evaluate(\"False\") <=> engine->evaluate(\"'ciao'\")", + "engine->evaluate(\"False\") <=> engine->newObject()", + "engine->evaluate(\"False\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "engine->evaluate(\"null\") <=> QScriptValue(true)", + "engine->evaluate(\"null\") <=> QScriptValue(int(122))", + "engine->evaluate(\"null\") <=> QScriptValue(uint(124))", + "engine->evaluate(\"null\") <=> QScriptValue(123.0)", + "engine->evaluate(\"null\") <=> QScriptValue(6.37e-8)", + "engine->evaluate(\"null\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"null\") <=> QScriptValue(0x10000)", + "engine->evaluate(\"null\") <=> QScriptValue(0x10001)", + "engine->evaluate(\"null\") <=> QScriptValue(qInf())", + "engine->evaluate(\"null\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"null\") <=> QScriptValue(QString(\"123\"))", + "engine->evaluate(\"null\") <=> QScriptValue(QString(\"12.4\"))", + "engine->evaluate(\"null\") <=> QScriptValue(0, true)", + "engine->evaluate(\"null\") <=> QScriptValue(0, int(122))", + "engine->evaluate(\"null\") <=> QScriptValue(0, uint(124))", + "engine->evaluate(\"null\") <=> QScriptValue(0, 123.0)", + "engine->evaluate(\"null\") <=> QScriptValue(0, 6.37e-8)", + "engine->evaluate(\"null\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"null\") <=> QScriptValue(0, 0x10000)", + "engine->evaluate(\"null\") <=> QScriptValue(0, 0x10001)", + "engine->evaluate(\"null\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"null\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"null\") <=> QScriptValue(0, QString(\"123\"))", + "engine->evaluate(\"null\") <=> QScriptValue(0, QString(\"12.3\"))", + "engine->evaluate(\"null\") <=> QScriptValue(engine, true)", + "engine->evaluate(\"null\") <=> QScriptValue(engine, int(122))", + "engine->evaluate(\"null\") <=> QScriptValue(engine, uint(124))", + "engine->evaluate(\"null\") <=> QScriptValue(engine, 123.0)", + "engine->evaluate(\"null\") <=> QScriptValue(engine, 6.37e-8)", + "engine->evaluate(\"null\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"null\") <=> QScriptValue(engine, 0x10000)", + "engine->evaluate(\"null\") <=> QScriptValue(engine, 0x10001)", + "engine->evaluate(\"null\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"null\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"null\") <=> QScriptValue(engine, QString(\"123\"))", + "engine->evaluate(\"null\") <=> QScriptValue(engine, QString(\"1.23\"))", + "engine->evaluate(\"null\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "engine->evaluate(\"null\") <=> engine->evaluate(\"true\")", + "engine->evaluate(\"null\") <=> engine->evaluate(\"122\")", + "engine->evaluate(\"null\") <=> engine->evaluate(\"124\")", + "engine->evaluate(\"null\") <=> engine->evaluate(\"123.0\")", + "engine->evaluate(\"null\") <=> engine->evaluate(\"6.37e-8\")", + "engine->evaluate(\"null\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"null\") <=> engine->evaluate(\"0x10000\")", + "engine->evaluate(\"null\") <=> engine->evaluate(\"0x10001\")", + "engine->evaluate(\"null\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"null\") <=> engine->evaluate(\"'123'\")", + "engine->evaluate(\"null\") <=> engine->evaluate(\"'12.4'\")", + "engine->evaluate(\"null\") <=> engine->newVariant(QVariant(123))", + "engine->evaluate(\"true\") <=> QScriptValue(int(122))", + "engine->evaluate(\"true\") <=> QScriptValue(uint(124))", + "engine->evaluate(\"true\") <=> QScriptValue(123.0)", + "engine->evaluate(\"true\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"true\") <=> QScriptValue(0x10000)", + "engine->evaluate(\"true\") <=> QScriptValue(0x10001)", + "engine->evaluate(\"true\") <=> QScriptValue(qInf())", + "engine->evaluate(\"true\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"true\") <=> QScriptValue(QString(\"123\"))", + "engine->evaluate(\"true\") <=> QScriptValue(QString(\"12.4\"))", + "engine->evaluate(\"true\") <=> QScriptValue(0, int(122))", + "engine->evaluate(\"true\") <=> QScriptValue(0, uint(124))", + "engine->evaluate(\"true\") <=> QScriptValue(0, 123.0)", + "engine->evaluate(\"true\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"true\") <=> QScriptValue(0, 0x10000)", + "engine->evaluate(\"true\") <=> QScriptValue(0, 0x10001)", + "engine->evaluate(\"true\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"true\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"true\") <=> QScriptValue(0, QString(\"123\"))", + "engine->evaluate(\"true\") <=> QScriptValue(0, QString(\"12.3\"))", + "engine->evaluate(\"true\") <=> QScriptValue(engine, int(122))", + "engine->evaluate(\"true\") <=> QScriptValue(engine, uint(124))", + "engine->evaluate(\"true\") <=> QScriptValue(engine, 123.0)", + "engine->evaluate(\"true\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"true\") <=> QScriptValue(engine, 0x10000)", + "engine->evaluate(\"true\") <=> QScriptValue(engine, 0x10001)", + "engine->evaluate(\"true\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"true\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"true\") <=> QScriptValue(engine, QString(\"123\"))", + "engine->evaluate(\"true\") <=> QScriptValue(engine, QString(\"1.23\"))", + "engine->evaluate(\"true\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "engine->evaluate(\"true\") <=> engine->evaluate(\"122\")", + "engine->evaluate(\"true\") <=> engine->evaluate(\"124\")", + "engine->evaluate(\"true\") <=> engine->evaluate(\"123.0\")", + "engine->evaluate(\"true\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"true\") <=> engine->evaluate(\"0x10000\")", + "engine->evaluate(\"true\") <=> engine->evaluate(\"0x10001\")", + "engine->evaluate(\"true\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"true\") <=> engine->evaluate(\"'123'\")", + "engine->evaluate(\"true\") <=> engine->evaluate(\"'12.4'\")", + "engine->evaluate(\"true\") <=> engine->newVariant(QVariant(123))", + "engine->evaluate(\"false\") <=> QScriptValue(true)", + "engine->evaluate(\"false\") <=> QScriptValue(int(122))", + "engine->evaluate(\"false\") <=> QScriptValue(uint(124))", + "engine->evaluate(\"false\") <=> QScriptValue(123.0)", + "engine->evaluate(\"false\") <=> QScriptValue(6.37e-8)", + "engine->evaluate(\"false\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"false\") <=> QScriptValue(0x10000)", + "engine->evaluate(\"false\") <=> QScriptValue(0x10001)", + "engine->evaluate(\"false\") <=> QScriptValue(qInf())", + "engine->evaluate(\"false\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"false\") <=> QScriptValue(QString(\"123\"))", + "engine->evaluate(\"false\") <=> QScriptValue(QString(\"12.4\"))", + "engine->evaluate(\"false\") <=> QScriptValue(0, true)", + "engine->evaluate(\"false\") <=> QScriptValue(0, int(122))", + "engine->evaluate(\"false\") <=> QScriptValue(0, uint(124))", + "engine->evaluate(\"false\") <=> QScriptValue(0, 123.0)", + "engine->evaluate(\"false\") <=> QScriptValue(0, 6.37e-8)", + "engine->evaluate(\"false\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"false\") <=> QScriptValue(0, 0x10000)", + "engine->evaluate(\"false\") <=> QScriptValue(0, 0x10001)", + "engine->evaluate(\"false\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"false\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"false\") <=> QScriptValue(0, QString(\"123\"))", + "engine->evaluate(\"false\") <=> QScriptValue(0, QString(\"12.3\"))", + "engine->evaluate(\"false\") <=> QScriptValue(engine, true)", + "engine->evaluate(\"false\") <=> QScriptValue(engine, int(122))", + "engine->evaluate(\"false\") <=> QScriptValue(engine, uint(124))", + "engine->evaluate(\"false\") <=> QScriptValue(engine, 123.0)", + "engine->evaluate(\"false\") <=> QScriptValue(engine, 6.37e-8)", + "engine->evaluate(\"false\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"false\") <=> QScriptValue(engine, 0x10000)", + "engine->evaluate(\"false\") <=> QScriptValue(engine, 0x10001)", + "engine->evaluate(\"false\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"false\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"false\") <=> QScriptValue(engine, QString(\"123\"))", + "engine->evaluate(\"false\") <=> QScriptValue(engine, QString(\"1.23\"))", + "engine->evaluate(\"false\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "engine->evaluate(\"false\") <=> engine->evaluate(\"true\")", + "engine->evaluate(\"false\") <=> engine->evaluate(\"122\")", + "engine->evaluate(\"false\") <=> engine->evaluate(\"124\")", + "engine->evaluate(\"false\") <=> engine->evaluate(\"123.0\")", + "engine->evaluate(\"false\") <=> engine->evaluate(\"6.37e-8\")", + "engine->evaluate(\"false\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"false\") <=> engine->evaluate(\"0x10000\")", + "engine->evaluate(\"false\") <=> engine->evaluate(\"0x10001\")", + "engine->evaluate(\"false\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"false\") <=> engine->evaluate(\"'123'\")", + "engine->evaluate(\"false\") <=> engine->evaluate(\"'12.4'\")", + "engine->evaluate(\"false\") <=> engine->newVariant(QVariant(123))", + "engine->evaluate(\"122\") <=> QScriptValue(uint(124))", + "engine->evaluate(\"122\") <=> QScriptValue(123.0)", + "engine->evaluate(\"122\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"122\") <=> QScriptValue(0x10000)", + "engine->evaluate(\"122\") <=> QScriptValue(0x10001)", + "engine->evaluate(\"122\") <=> QScriptValue(qInf())", + "engine->evaluate(\"122\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"122\") <=> QScriptValue(QString(\"123\"))", + "engine->evaluate(\"122\") <=> QScriptValue(0, uint(124))", + "engine->evaluate(\"122\") <=> QScriptValue(0, 123.0)", + "engine->evaluate(\"122\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"122\") <=> QScriptValue(0, 0x10000)", + "engine->evaluate(\"122\") <=> QScriptValue(0, 0x10001)", + "engine->evaluate(\"122\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"122\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"122\") <=> QScriptValue(0, QString(\"123\"))", + "engine->evaluate(\"122\") <=> QScriptValue(engine, uint(124))", + "engine->evaluate(\"122\") <=> QScriptValue(engine, 123.0)", + "engine->evaluate(\"122\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"122\") <=> QScriptValue(engine, 0x10000)", + "engine->evaluate(\"122\") <=> QScriptValue(engine, 0x10001)", + "engine->evaluate(\"122\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"122\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"122\") <=> QScriptValue(engine, QString(\"123\"))", + "engine->evaluate(\"122\") <=> engine->evaluate(\"124\")", + "engine->evaluate(\"122\") <=> engine->evaluate(\"123.0\")", + "engine->evaluate(\"122\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"122\") <=> engine->evaluate(\"0x10000\")", + "engine->evaluate(\"122\") <=> engine->evaluate(\"0x10001\")", + "engine->evaluate(\"122\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"122\") <=> engine->evaluate(\"'123'\")", + "engine->evaluate(\"122\") <=> engine->newVariant(QVariant(123))", + "engine->evaluate(\"124\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"124\") <=> QScriptValue(0x10000)", + "engine->evaluate(\"124\") <=> QScriptValue(0x10001)", + "engine->evaluate(\"124\") <=> QScriptValue(qInf())", + "engine->evaluate(\"124\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"124\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"124\") <=> QScriptValue(0, 0x10000)", + "engine->evaluate(\"124\") <=> QScriptValue(0, 0x10001)", + "engine->evaluate(\"124\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"124\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"124\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"124\") <=> QScriptValue(engine, 0x10000)", + "engine->evaluate(\"124\") <=> QScriptValue(engine, 0x10001)", + "engine->evaluate(\"124\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"124\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"124\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"124\") <=> engine->evaluate(\"0x10000\")", + "engine->evaluate(\"124\") <=> engine->evaluate(\"0x10001\")", + "engine->evaluate(\"124\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"0\") <=> QScriptValue(true)", + "engine->evaluate(\"0\") <=> QScriptValue(int(122))", + "engine->evaluate(\"0\") <=> QScriptValue(uint(124))", + "engine->evaluate(\"0\") <=> QScriptValue(123.0)", + "engine->evaluate(\"0\") <=> QScriptValue(6.37e-8)", + "engine->evaluate(\"0\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"0\") <=> QScriptValue(0x10000)", + "engine->evaluate(\"0\") <=> QScriptValue(0x10001)", + "engine->evaluate(\"0\") <=> QScriptValue(qInf())", + "engine->evaluate(\"0\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"0\") <=> QScriptValue(QString(\"123\"))", + "engine->evaluate(\"0\") <=> QScriptValue(QString(\"12.4\"))", + "engine->evaluate(\"0\") <=> QScriptValue(0, true)", + "engine->evaluate(\"0\") <=> QScriptValue(0, int(122))", + "engine->evaluate(\"0\") <=> QScriptValue(0, uint(124))", + "engine->evaluate(\"0\") <=> QScriptValue(0, 123.0)", + "engine->evaluate(\"0\") <=> QScriptValue(0, 6.37e-8)", + "engine->evaluate(\"0\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"0\") <=> QScriptValue(0, 0x10000)", + "engine->evaluate(\"0\") <=> QScriptValue(0, 0x10001)", + "engine->evaluate(\"0\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"0\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"0\") <=> QScriptValue(0, QString(\"123\"))", + "engine->evaluate(\"0\") <=> QScriptValue(0, QString(\"12.3\"))", + "engine->evaluate(\"0\") <=> QScriptValue(engine, true)", + "engine->evaluate(\"0\") <=> QScriptValue(engine, int(122))", + "engine->evaluate(\"0\") <=> QScriptValue(engine, uint(124))", + "engine->evaluate(\"0\") <=> QScriptValue(engine, 123.0)", + "engine->evaluate(\"0\") <=> QScriptValue(engine, 6.37e-8)", + "engine->evaluate(\"0\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"0\") <=> QScriptValue(engine, 0x10000)", + "engine->evaluate(\"0\") <=> QScriptValue(engine, 0x10001)", + "engine->evaluate(\"0\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"0\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"0\") <=> QScriptValue(engine, QString(\"123\"))", + "engine->evaluate(\"0\") <=> QScriptValue(engine, QString(\"1.23\"))", + "engine->evaluate(\"0\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "engine->evaluate(\"0\") <=> engine->evaluate(\"true\")", + "engine->evaluate(\"0\") <=> engine->evaluate(\"122\")", + "engine->evaluate(\"0\") <=> engine->evaluate(\"124\")", + "engine->evaluate(\"0\") <=> engine->evaluate(\"123.0\")", + "engine->evaluate(\"0\") <=> engine->evaluate(\"6.37e-8\")", + "engine->evaluate(\"0\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"0\") <=> engine->evaluate(\"0x10000\")", + "engine->evaluate(\"0\") <=> engine->evaluate(\"0x10001\")", + "engine->evaluate(\"0\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"0\") <=> engine->evaluate(\"'123'\")", + "engine->evaluate(\"0\") <=> engine->evaluate(\"'12.4'\")", + "engine->evaluate(\"0\") <=> engine->newVariant(QVariant(123))", + "engine->evaluate(\"0.0\") <=> QScriptValue(true)", + "engine->evaluate(\"0.0\") <=> QScriptValue(int(122))", + "engine->evaluate(\"0.0\") <=> QScriptValue(uint(124))", + "engine->evaluate(\"0.0\") <=> QScriptValue(123.0)", + "engine->evaluate(\"0.0\") <=> QScriptValue(6.37e-8)", + "engine->evaluate(\"0.0\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"0.0\") <=> QScriptValue(0x10000)", + "engine->evaluate(\"0.0\") <=> QScriptValue(0x10001)", + "engine->evaluate(\"0.0\") <=> QScriptValue(qInf())", + "engine->evaluate(\"0.0\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"0.0\") <=> QScriptValue(QString(\"123\"))", + "engine->evaluate(\"0.0\") <=> QScriptValue(QString(\"12.4\"))", + "engine->evaluate(\"0.0\") <=> QScriptValue(0, true)", + "engine->evaluate(\"0.0\") <=> QScriptValue(0, int(122))", + "engine->evaluate(\"0.0\") <=> QScriptValue(0, uint(124))", + "engine->evaluate(\"0.0\") <=> QScriptValue(0, 123.0)", + "engine->evaluate(\"0.0\") <=> QScriptValue(0, 6.37e-8)", + "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0x10000)", + "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0x10001)", + "engine->evaluate(\"0.0\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"0.0\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"0.0\") <=> QScriptValue(0, QString(\"123\"))", + "engine->evaluate(\"0.0\") <=> QScriptValue(0, QString(\"12.3\"))", + "engine->evaluate(\"0.0\") <=> QScriptValue(engine, true)", + "engine->evaluate(\"0.0\") <=> QScriptValue(engine, int(122))", + "engine->evaluate(\"0.0\") <=> QScriptValue(engine, uint(124))", + "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 123.0)", + "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 6.37e-8)", + "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0x10000)", + "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0x10001)", + "engine->evaluate(\"0.0\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"0.0\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString(\"123\"))", + "engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString(\"1.23\"))", + "engine->evaluate(\"0.0\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "engine->evaluate(\"0.0\") <=> engine->evaluate(\"true\")", + "engine->evaluate(\"0.0\") <=> engine->evaluate(\"122\")", + "engine->evaluate(\"0.0\") <=> engine->evaluate(\"124\")", + "engine->evaluate(\"0.0\") <=> engine->evaluate(\"123.0\")", + "engine->evaluate(\"0.0\") <=> engine->evaluate(\"6.37e-8\")", + "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0x10000\")", + "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0x10001\")", + "engine->evaluate(\"0.0\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"0.0\") <=> engine->evaluate(\"'123'\")", + "engine->evaluate(\"0.0\") <=> engine->evaluate(\"'12.4'\")", + "engine->evaluate(\"0.0\") <=> engine->newVariant(QVariant(123))", + "engine->evaluate(\"123.0\") <=> QScriptValue(uint(124))", + "engine->evaluate(\"123.0\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"123.0\") <=> QScriptValue(0x10000)", + "engine->evaluate(\"123.0\") <=> QScriptValue(0x10001)", + "engine->evaluate(\"123.0\") <=> QScriptValue(qInf())", + "engine->evaluate(\"123.0\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"123.0\") <=> QScriptValue(0, uint(124))", + "engine->evaluate(\"123.0\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"123.0\") <=> QScriptValue(0, 0x10000)", + "engine->evaluate(\"123.0\") <=> QScriptValue(0, 0x10001)", + "engine->evaluate(\"123.0\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"123.0\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"123.0\") <=> QScriptValue(engine, uint(124))", + "engine->evaluate(\"123.0\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"123.0\") <=> QScriptValue(engine, 0x10000)", + "engine->evaluate(\"123.0\") <=> QScriptValue(engine, 0x10001)", + "engine->evaluate(\"123.0\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"123.0\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"123.0\") <=> engine->evaluate(\"124\")", + "engine->evaluate(\"123.0\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"123.0\") <=> engine->evaluate(\"0x10000\")", + "engine->evaluate(\"123.0\") <=> engine->evaluate(\"0x10001\")", + "engine->evaluate(\"123.0\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(true)", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(int(122))", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(uint(124))", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(123.0)", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0x10000)", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0x10001)", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(qInf())", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(QString(\"123\"))", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(QString(\"12.4\"))", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, true)", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, int(122))", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, uint(124))", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 123.0)", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 0x10000)", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 0x10001)", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, QString(\"123\"))", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, QString(\"12.3\"))", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, true)", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, int(122))", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, uint(124))", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 123.0)", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 0x10000)", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 0x10001)", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, QString(\"123\"))", + "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, QString(\"1.23\"))", + "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"true\")", + "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"122\")", + "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"124\")", + "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"123.0\")", + "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"0x10000\")", + "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"0x10001\")", + "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"'123'\")", + "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"'12.4'\")", + "engine->evaluate(\"6.37e-8\") <=> engine->newVariant(QVariant(123))", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QScriptValue::NullValue)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(true)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(false)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(int(122))", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(uint(124))", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0.0)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(123.0)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(6.37e-8)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0x10000)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0x10001)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(qInf())", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QString(\"\"))", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QString())", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QString(\"0\"))", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QString(\"123\"))", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(QString(\"12.4\"))", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QScriptValue::NullValue)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, true)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, false)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, int(122))", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, uint(124))", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 0)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 0.0)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 123.0)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 6.37e-8)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 0x10000)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, 0x10001)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QString(\"\"))", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QString())", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QString(\"0\"))", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QString(\"123\"))", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, QString(\"12.3\"))", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QScriptValue::NullValue)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, true)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, false)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, int(122))", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, uint(124))", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 0)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 0.0)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 123.0)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 6.37e-8)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 0x10000)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, 0x10001)", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QString(\"\"))", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QString())", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QString(\"0\"))", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QString(\"123\"))", + "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, QString(\"1.23\"))", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"[]\")", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"Array.prototype\")", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"new Array()\")", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"null\")", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"true\")", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"false\")", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"122\")", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"124\")", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"0\")", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"0.0\")", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"123.0\")", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"6.37e-8\")", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"0x10000\")", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"0x10001\")", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"''\")", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"'0'\")", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"'123'\")", + "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"'12.4'\")", + "engine->evaluate(\"-6.37e-8\") <=> engine->nullValue()", + "engine->evaluate(\"-6.37e-8\") <=> engine->newArray()", + "engine->evaluate(\"-6.37e-8\") <=> engine->newVariant(QVariant(123))", + "engine->evaluate(\"-6.37e-8\") <=> engine->newVariant(QVariant(false))", + "engine->evaluate(\"-6.37e-8\") <=> engine->newQObject(0)", + "engine->evaluate(\"0x43211234\") <=> QScriptValue(qInf())", + "engine->evaluate(\"0x43211234\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"0x43211234\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"0x43211234\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"0x43211234\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"0x43211234\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"0x43211234\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"0x10000\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"0x10000\") <=> QScriptValue(0x10001)", + "engine->evaluate(\"0x10000\") <=> QScriptValue(qInf())", + "engine->evaluate(\"0x10000\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"0x10000\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"0x10000\") <=> QScriptValue(0, 0x10001)", + "engine->evaluate(\"0x10000\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"0x10000\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"0x10000\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"0x10000\") <=> QScriptValue(engine, 0x10001)", + "engine->evaluate(\"0x10000\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"0x10000\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"0x10000\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"0x10000\") <=> engine->evaluate(\"0x10001\")", + "engine->evaluate(\"0x10000\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"0x10001\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"0x10001\") <=> QScriptValue(qInf())", + "engine->evaluate(\"0x10001\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"0x10001\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"0x10001\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"0x10001\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"0x10001\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"0x10001\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"0x10001\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"0x10001\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"0x10001\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(QScriptValue::NullValue)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(true)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(false)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(int(122))", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(uint(124))", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0.0)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(123.0)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(6.37e-8)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(-6.37e-8)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0x10000)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0x10001)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(qInf())", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(QString(\"\"))", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(QString())", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(QString(\"0\"))", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(QString(\"123\"))", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(QString(\"12.4\"))", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QScriptValue::NullValue)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, true)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, false)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, int(122))", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, uint(124))", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 0)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 0.0)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 123.0)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 6.37e-8)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, -6.37e-8)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 0x10000)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, 0x10001)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QString(\"\"))", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QString())", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QString(\"0\"))", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QString(\"123\"))", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, QString(\"12.3\"))", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QScriptValue::NullValue)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, true)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, false)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, int(122))", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, uint(124))", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 0)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 0.0)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 123.0)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 6.37e-8)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, -6.37e-8)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 0x10000)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, 0x10001)", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QString(\"\"))", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QString())", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QString(\"0\"))", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QString(\"123\"))", + "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, QString(\"1.23\"))", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"[]\")", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"Array.prototype\")", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"new Array()\")", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"null\")", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"true\")", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"false\")", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"122\")", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"124\")", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"0\")", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"0.0\")", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"123.0\")", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"6.37e-8\")", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"-6.37e-8\")", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"0x10000\")", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"0x10001\")", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"''\")", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"'0'\")", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"'123'\")", + "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"'12.4'\")", + "engine->evaluate(\"-Infinity\") <=> engine->nullValue()", + "engine->evaluate(\"-Infinity\") <=> engine->newArray()", + "engine->evaluate(\"-Infinity\") <=> engine->newVariant(QVariant(123))", + "engine->evaluate(\"-Infinity\") <=> engine->newVariant(QVariant(false))", + "engine->evaluate(\"-Infinity\") <=> engine->newQObject(0)", + "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"Function.prototype\")", + "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->evaluate(\"''\") <=> QScriptValue(true)", + "engine->evaluate(\"''\") <=> QScriptValue(int(122))", + "engine->evaluate(\"''\") <=> QScriptValue(uint(124))", + "engine->evaluate(\"''\") <=> QScriptValue(123.0)", + "engine->evaluate(\"''\") <=> QScriptValue(6.37e-8)", + "engine->evaluate(\"''\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"''\") <=> QScriptValue(0x10000)", + "engine->evaluate(\"''\") <=> QScriptValue(0x10001)", + "engine->evaluate(\"''\") <=> QScriptValue(qInf())", + "engine->evaluate(\"''\") <=> QScriptValue(\"NaN\")", + "engine->evaluate(\"''\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"''\") <=> QScriptValue(\"-Infinity\")", + "engine->evaluate(\"''\") <=> QScriptValue(\"ciao\")", + "engine->evaluate(\"''\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"''\") <=> QScriptValue(QString(\"0\"))", + "engine->evaluate(\"''\") <=> QScriptValue(QString(\"123\"))", + "engine->evaluate(\"''\") <=> QScriptValue(QString(\"12.4\"))", + "engine->evaluate(\"''\") <=> QScriptValue(0, true)", + "engine->evaluate(\"''\") <=> QScriptValue(0, int(122))", + "engine->evaluate(\"''\") <=> QScriptValue(0, uint(124))", + "engine->evaluate(\"''\") <=> QScriptValue(0, 123.0)", + "engine->evaluate(\"''\") <=> QScriptValue(0, 6.37e-8)", + "engine->evaluate(\"''\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"''\") <=> QScriptValue(0, 0x10000)", + "engine->evaluate(\"''\") <=> QScriptValue(0, 0x10001)", + "engine->evaluate(\"''\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"''\") <=> QScriptValue(0, \"NaN\")", + "engine->evaluate(\"''\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"''\") <=> QScriptValue(0, \"-Infinity\")", + "engine->evaluate(\"''\") <=> QScriptValue(0, \"ciao\")", + "engine->evaluate(\"''\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"''\") <=> QScriptValue(0, QString(\"0\"))", + "engine->evaluate(\"''\") <=> QScriptValue(0, QString(\"123\"))", + "engine->evaluate(\"''\") <=> QScriptValue(0, QString(\"12.3\"))", + "engine->evaluate(\"''\") <=> QScriptValue(engine, true)", + "engine->evaluate(\"''\") <=> QScriptValue(engine, int(122))", + "engine->evaluate(\"''\") <=> QScriptValue(engine, uint(124))", + "engine->evaluate(\"''\") <=> QScriptValue(engine, 123.0)", + "engine->evaluate(\"''\") <=> QScriptValue(engine, 6.37e-8)", + "engine->evaluate(\"''\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"''\") <=> QScriptValue(engine, 0x10000)", + "engine->evaluate(\"''\") <=> QScriptValue(engine, 0x10001)", + "engine->evaluate(\"''\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"''\") <=> QScriptValue(engine, \"NaN\")", + "engine->evaluate(\"''\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"''\") <=> QScriptValue(engine, \"-Infinity\")", + "engine->evaluate(\"''\") <=> QScriptValue(engine, \"ciao\")", + "engine->evaluate(\"''\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"''\") <=> QScriptValue(engine, QString(\"0\"))", + "engine->evaluate(\"''\") <=> QScriptValue(engine, QString(\"123\"))", + "engine->evaluate(\"''\") <=> QScriptValue(engine, QString(\"1.23\"))", + "engine->evaluate(\"''\") <=> engine->evaluate(\"Object.prototype\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"Function.prototype\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"Error.prototype\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"/foo/\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"new Object()\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"new Error()\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"Undefined\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"Null\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"True\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"False\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"true\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"122\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"124\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"123.0\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"6.37e-8\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"0x10000\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"0x10001\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"'ciao'\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"'0'\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"'123'\")", + "engine->evaluate(\"''\") <=> engine->evaluate(\"'12.4'\")", + "engine->evaluate(\"''\") <=> engine->newObject()", + "engine->evaluate(\"''\") <=> engine->newArray(10)", + "engine->evaluate(\"''\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "engine->evaluate(\"''\") <=> engine->newVariant(QVariant(123))", + "engine->evaluate(\"''\") <=> engine->newQObject(engine)", + "engine->evaluate(\"'0'\") <=> QScriptValue(true)", + "engine->evaluate(\"'0'\") <=> QScriptValue(int(122))", + "engine->evaluate(\"'0'\") <=> QScriptValue(uint(124))", + "engine->evaluate(\"'0'\") <=> QScriptValue(123.0)", + "engine->evaluate(\"'0'\") <=> QScriptValue(6.37e-8)", + "engine->evaluate(\"'0'\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"'0'\") <=> QScriptValue(0x10000)", + "engine->evaluate(\"'0'\") <=> QScriptValue(0x10001)", + "engine->evaluate(\"'0'\") <=> QScriptValue(qInf())", + "engine->evaluate(\"'0'\") <=> QScriptValue(\"NaN\")", + "engine->evaluate(\"'0'\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"'0'\") <=> QScriptValue(\"ciao\")", + "engine->evaluate(\"'0'\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"'0'\") <=> QScriptValue(QString(\"123\"))", + "engine->evaluate(\"'0'\") <=> QScriptValue(QString(\"12.4\"))", + "engine->evaluate(\"'0'\") <=> QScriptValue(0, true)", + "engine->evaluate(\"'0'\") <=> QScriptValue(0, int(122))", + "engine->evaluate(\"'0'\") <=> QScriptValue(0, uint(124))", + "engine->evaluate(\"'0'\") <=> QScriptValue(0, 123.0)", + "engine->evaluate(\"'0'\") <=> QScriptValue(0, 6.37e-8)", + "engine->evaluate(\"'0'\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"'0'\") <=> QScriptValue(0, 0x10000)", + "engine->evaluate(\"'0'\") <=> QScriptValue(0, 0x10001)", + "engine->evaluate(\"'0'\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"'0'\") <=> QScriptValue(0, \"NaN\")", + "engine->evaluate(\"'0'\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"'0'\") <=> QScriptValue(0, \"ciao\")", + "engine->evaluate(\"'0'\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"'0'\") <=> QScriptValue(0, QString(\"123\"))", + "engine->evaluate(\"'0'\") <=> QScriptValue(0, QString(\"12.3\"))", + "engine->evaluate(\"'0'\") <=> QScriptValue(engine, true)", + "engine->evaluate(\"'0'\") <=> QScriptValue(engine, int(122))", + "engine->evaluate(\"'0'\") <=> QScriptValue(engine, uint(124))", + "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 123.0)", + "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 6.37e-8)", + "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 0x10000)", + "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 0x10001)", + "engine->evaluate(\"'0'\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"'0'\") <=> QScriptValue(engine, \"NaN\")", + "engine->evaluate(\"'0'\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"'0'\") <=> QScriptValue(engine, \"ciao\")", + "engine->evaluate(\"'0'\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"'0'\") <=> QScriptValue(engine, QString(\"123\"))", + "engine->evaluate(\"'0'\") <=> QScriptValue(engine, QString(\"1.23\"))", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Object.prototype\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Function.prototype\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Error.prototype\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"new Object()\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"new Error()\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Undefined\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Null\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"True\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"False\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"true\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"122\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"124\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"123.0\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"6.37e-8\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"0x10000\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"0x10001\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"'ciao'\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"'123'\")", + "engine->evaluate(\"'0'\") <=> engine->evaluate(\"'12.4'\")", + "engine->evaluate(\"'0'\") <=> engine->newObject()", + "engine->evaluate(\"'0'\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "engine->evaluate(\"'0'\") <=> engine->newVariant(QVariant(123))", + "engine->evaluate(\"'0'\") <=> engine->newQObject(engine)", + "engine->evaluate(\"'123'\") <=> QScriptValue(uint(124))", + "engine->evaluate(\"'123'\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"'123'\") <=> QScriptValue(0x10000)", + "engine->evaluate(\"'123'\") <=> QScriptValue(0x10001)", + "engine->evaluate(\"'123'\") <=> QScriptValue(qInf())", + "engine->evaluate(\"'123'\") <=> QScriptValue(\"NaN\")", + "engine->evaluate(\"'123'\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"'123'\") <=> QScriptValue(\"ciao\")", + "engine->evaluate(\"'123'\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"'123'\") <=> QScriptValue(0, uint(124))", + "engine->evaluate(\"'123'\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"'123'\") <=> QScriptValue(0, 0x10000)", + "engine->evaluate(\"'123'\") <=> QScriptValue(0, 0x10001)", + "engine->evaluate(\"'123'\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"'123'\") <=> QScriptValue(0, \"NaN\")", + "engine->evaluate(\"'123'\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"'123'\") <=> QScriptValue(0, \"ciao\")", + "engine->evaluate(\"'123'\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"'123'\") <=> QScriptValue(engine, uint(124))", + "engine->evaluate(\"'123'\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"'123'\") <=> QScriptValue(engine, 0x10000)", + "engine->evaluate(\"'123'\") <=> QScriptValue(engine, 0x10001)", + "engine->evaluate(\"'123'\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"'123'\") <=> QScriptValue(engine, \"NaN\")", + "engine->evaluate(\"'123'\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"'123'\") <=> QScriptValue(engine, \"ciao\")", + "engine->evaluate(\"'123'\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Object.prototype\")", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Function.prototype\")", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Error.prototype\")", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"new Object()\")", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"new Error()\")", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Undefined\")", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Null\")", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"True\")", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"False\")", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"124\")", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"0x10000\")", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"0x10001\")", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"'123'\") <=> engine->evaluate(\"'ciao'\")", + "engine->evaluate(\"'123'\") <=> engine->newObject()", + "engine->evaluate(\"'123'\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "engine->evaluate(\"'123'\") <=> engine->newQObject(engine)", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(int(122))", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(uint(124))", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(123.0)", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(0x43211234)", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(0x10000)", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(0x10001)", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(qInf())", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(\"NaN\")", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(\"Infinity\")", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(\"ciao\")", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(QString(\"123\"))", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, int(122))", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, uint(124))", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, 123.0)", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, 0x43211234)", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, 0x10000)", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, 0x10001)", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, qInf())", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, \"NaN\")", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, \"Infinity\")", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, \"ciao\")", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(0, QString(\"123\"))", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, int(122))", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, uint(124))", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, 123.0)", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, 0x43211234)", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, 0x10000)", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, 0x10001)", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, qInf())", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, \"NaN\")", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, \"Infinity\")", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, \"ciao\")", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->evaluate(\"'12.4'\") <=> QScriptValue(engine, QString(\"123\"))", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Object.prototype\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Function.prototype\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Error.prototype\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Number\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"new Object()\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"new Error()\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Undefined\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Null\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"True\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"False\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"122\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"124\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"123.0\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"0x43211234\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"0x10000\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"0x10001\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"Infinity\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"'ciao'\")", + "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"'123'\")", + "engine->evaluate(\"'12.4'\") <=> engine->newObject()", + "engine->evaluate(\"'12.4'\") <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "engine->evaluate(\"'12.4'\") <=> engine->newVariant(QVariant(123))", + "engine->evaluate(\"'12.4'\") <=> engine->newQObject(engine)", + "engine->nullValue() <=> QScriptValue(true)", + "engine->nullValue() <=> QScriptValue(int(122))", + "engine->nullValue() <=> QScriptValue(uint(124))", + "engine->nullValue() <=> QScriptValue(123.0)", + "engine->nullValue() <=> QScriptValue(6.37e-8)", + "engine->nullValue() <=> QScriptValue(0x43211234)", + "engine->nullValue() <=> QScriptValue(0x10000)", + "engine->nullValue() <=> QScriptValue(0x10001)", + "engine->nullValue() <=> QScriptValue(qInf())", + "engine->nullValue() <=> QScriptValue(\"Infinity\")", + "engine->nullValue() <=> QScriptValue(QString(\"123\"))", + "engine->nullValue() <=> QScriptValue(QString(\"12.4\"))", + "engine->nullValue() <=> QScriptValue(0, true)", + "engine->nullValue() <=> QScriptValue(0, int(122))", + "engine->nullValue() <=> QScriptValue(0, uint(124))", + "engine->nullValue() <=> QScriptValue(0, 123.0)", + "engine->nullValue() <=> QScriptValue(0, 6.37e-8)", + "engine->nullValue() <=> QScriptValue(0, 0x43211234)", + "engine->nullValue() <=> QScriptValue(0, 0x10000)", + "engine->nullValue() <=> QScriptValue(0, 0x10001)", + "engine->nullValue() <=> QScriptValue(0, qInf())", + "engine->nullValue() <=> QScriptValue(0, \"Infinity\")", + "engine->nullValue() <=> QScriptValue(0, QString(\"123\"))", + "engine->nullValue() <=> QScriptValue(0, QString(\"12.3\"))", + "engine->nullValue() <=> QScriptValue(engine, true)", + "engine->nullValue() <=> QScriptValue(engine, int(122))", + "engine->nullValue() <=> QScriptValue(engine, uint(124))", + "engine->nullValue() <=> QScriptValue(engine, 123.0)", + "engine->nullValue() <=> QScriptValue(engine, 6.37e-8)", + "engine->nullValue() <=> QScriptValue(engine, 0x43211234)", + "engine->nullValue() <=> QScriptValue(engine, 0x10000)", + "engine->nullValue() <=> QScriptValue(engine, 0x10001)", + "engine->nullValue() <=> QScriptValue(engine, qInf())", + "engine->nullValue() <=> QScriptValue(engine, \"Infinity\")", + "engine->nullValue() <=> QScriptValue(engine, QString(\"123\"))", + "engine->nullValue() <=> QScriptValue(engine, QString(\"1.23\"))", + "engine->nullValue() <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "engine->nullValue() <=> engine->evaluate(\"true\")", + "engine->nullValue() <=> engine->evaluate(\"122\")", + "engine->nullValue() <=> engine->evaluate(\"124\")", + "engine->nullValue() <=> engine->evaluate(\"123.0\")", + "engine->nullValue() <=> engine->evaluate(\"6.37e-8\")", + "engine->nullValue() <=> engine->evaluate(\"0x43211234\")", + "engine->nullValue() <=> engine->evaluate(\"0x10000\")", + "engine->nullValue() <=> engine->evaluate(\"0x10001\")", + "engine->nullValue() <=> engine->evaluate(\"Infinity\")", + "engine->nullValue() <=> engine->evaluate(\"'123'\")", + "engine->nullValue() <=> engine->evaluate(\"'12.4'\")", + "engine->nullValue() <=> engine->newVariant(QVariant(123))", + "engine->newObject() <=> QScriptValue(\"ciao\")", + "engine->newObject() <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->newObject() <=> QScriptValue(0, \"ciao\")", + "engine->newObject() <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->newObject() <=> QScriptValue(engine, \"ciao\")", + "engine->newObject() <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->newObject() <=> engine->evaluate(\"Function.prototype\")", + "engine->newObject() <=> engine->evaluate(\"Object\")", + "engine->newObject() <=> engine->evaluate(\"Array\")", + "engine->newObject() <=> engine->evaluate(\"Number\")", + "engine->newObject() <=> engine->evaluate(\"Function\")", + "engine->newObject() <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->newObject() <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->newObject() <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->newObject() <=> engine->evaluate(\"'ciao'\")", + "engine->newObject() <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "engine->newArray() <=> QScriptValue(true)", + "engine->newArray() <=> QScriptValue(int(122))", + "engine->newArray() <=> QScriptValue(uint(124))", + "engine->newArray() <=> QScriptValue(123.0)", + "engine->newArray() <=> QScriptValue(6.37e-8)", + "engine->newArray() <=> QScriptValue(0x43211234)", + "engine->newArray() <=> QScriptValue(0x10000)", + "engine->newArray() <=> QScriptValue(0x10001)", + "engine->newArray() <=> QScriptValue(qInf())", + "engine->newArray() <=> QScriptValue(\"NaN\")", + "engine->newArray() <=> QScriptValue(\"Infinity\")", + "engine->newArray() <=> QScriptValue(\"-Infinity\")", + "engine->newArray() <=> QScriptValue(\"ciao\")", + "engine->newArray() <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->newArray() <=> QScriptValue(QString(\"0\"))", + "engine->newArray() <=> QScriptValue(QString(\"123\"))", + "engine->newArray() <=> QScriptValue(QString(\"12.4\"))", + "engine->newArray() <=> QScriptValue(0, true)", + "engine->newArray() <=> QScriptValue(0, int(122))", + "engine->newArray() <=> QScriptValue(0, uint(124))", + "engine->newArray() <=> QScriptValue(0, 123.0)", + "engine->newArray() <=> QScriptValue(0, 6.37e-8)", + "engine->newArray() <=> QScriptValue(0, 0x43211234)", + "engine->newArray() <=> QScriptValue(0, 0x10000)", + "engine->newArray() <=> QScriptValue(0, 0x10001)", + "engine->newArray() <=> QScriptValue(0, qInf())", + "engine->newArray() <=> QScriptValue(0, \"NaN\")", + "engine->newArray() <=> QScriptValue(0, \"Infinity\")", + "engine->newArray() <=> QScriptValue(0, \"-Infinity\")", + "engine->newArray() <=> QScriptValue(0, \"ciao\")", + "engine->newArray() <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->newArray() <=> QScriptValue(0, QString(\"0\"))", + "engine->newArray() <=> QScriptValue(0, QString(\"123\"))", + "engine->newArray() <=> QScriptValue(0, QString(\"12.3\"))", + "engine->newArray() <=> QScriptValue(engine, true)", + "engine->newArray() <=> QScriptValue(engine, int(122))", + "engine->newArray() <=> QScriptValue(engine, uint(124))", + "engine->newArray() <=> QScriptValue(engine, 123.0)", + "engine->newArray() <=> QScriptValue(engine, 6.37e-8)", + "engine->newArray() <=> QScriptValue(engine, 0x43211234)", + "engine->newArray() <=> QScriptValue(engine, 0x10000)", + "engine->newArray() <=> QScriptValue(engine, 0x10001)", + "engine->newArray() <=> QScriptValue(engine, qInf())", + "engine->newArray() <=> QScriptValue(engine, \"NaN\")", + "engine->newArray() <=> QScriptValue(engine, \"Infinity\")", + "engine->newArray() <=> QScriptValue(engine, \"-Infinity\")", + "engine->newArray() <=> QScriptValue(engine, \"ciao\")", + "engine->newArray() <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->newArray() <=> QScriptValue(engine, QString(\"0\"))", + "engine->newArray() <=> QScriptValue(engine, QString(\"123\"))", + "engine->newArray() <=> QScriptValue(engine, QString(\"1.23\"))", + "engine->newArray() <=> engine->evaluate(\"Object.prototype\")", + "engine->newArray() <=> engine->evaluate(\"Function.prototype\")", + "engine->newArray() <=> engine->evaluate(\"Error.prototype\")", + "engine->newArray() <=> engine->evaluate(\"Object\")", + "engine->newArray() <=> engine->evaluate(\"Array\")", + "engine->newArray() <=> engine->evaluate(\"Number\")", + "engine->newArray() <=> engine->evaluate(\"Function\")", + "engine->newArray() <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->newArray() <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->newArray() <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->newArray() <=> engine->evaluate(\"/foo/\")", + "engine->newArray() <=> engine->evaluate(\"new Object()\")", + "engine->newArray() <=> engine->evaluate(\"new Error()\")", + "engine->newArray() <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "engine->newArray() <=> engine->evaluate(\"Undefined\")", + "engine->newArray() <=> engine->evaluate(\"Null\")", + "engine->newArray() <=> engine->evaluate(\"True\")", + "engine->newArray() <=> engine->evaluate(\"False\")", + "engine->newArray() <=> engine->evaluate(\"true\")", + "engine->newArray() <=> engine->evaluate(\"122\")", + "engine->newArray() <=> engine->evaluate(\"124\")", + "engine->newArray() <=> engine->evaluate(\"123.0\")", + "engine->newArray() <=> engine->evaluate(\"6.37e-8\")", + "engine->newArray() <=> engine->evaluate(\"0x43211234\")", + "engine->newArray() <=> engine->evaluate(\"0x10000\")", + "engine->newArray() <=> engine->evaluate(\"0x10001\")", + "engine->newArray() <=> engine->evaluate(\"Infinity\")", + "engine->newArray() <=> engine->evaluate(\"'ciao'\")", + "engine->newArray() <=> engine->evaluate(\"'0'\")", + "engine->newArray() <=> engine->evaluate(\"'123'\")", + "engine->newArray() <=> engine->evaluate(\"'12.4'\")", + "engine->newArray() <=> engine->newObject()", + "engine->newArray() <=> engine->newArray(10)", + "engine->newArray() <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "engine->newArray() <=> engine->newVariant(QVariant(123))", + "engine->newArray() <=> engine->newQObject(engine)", + "engine->newArray(10) <=> QScriptValue(\"NaN\")", + "engine->newArray(10) <=> QScriptValue(\"Infinity\")", + "engine->newArray(10) <=> QScriptValue(\"-Infinity\")", + "engine->newArray(10) <=> QScriptValue(\"ciao\")", + "engine->newArray(10) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->newArray(10) <=> QScriptValue(QString(\"0\"))", + "engine->newArray(10) <=> QScriptValue(QString(\"123\"))", + "engine->newArray(10) <=> QScriptValue(QString(\"12.4\"))", + "engine->newArray(10) <=> QScriptValue(0, \"NaN\")", + "engine->newArray(10) <=> QScriptValue(0, \"Infinity\")", + "engine->newArray(10) <=> QScriptValue(0, \"-Infinity\")", + "engine->newArray(10) <=> QScriptValue(0, \"ciao\")", + "engine->newArray(10) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->newArray(10) <=> QScriptValue(0, QString(\"0\"))", + "engine->newArray(10) <=> QScriptValue(0, QString(\"123\"))", + "engine->newArray(10) <=> QScriptValue(0, QString(\"12.3\"))", + "engine->newArray(10) <=> QScriptValue(engine, \"NaN\")", + "engine->newArray(10) <=> QScriptValue(engine, \"Infinity\")", + "engine->newArray(10) <=> QScriptValue(engine, \"-Infinity\")", + "engine->newArray(10) <=> QScriptValue(engine, \"ciao\")", + "engine->newArray(10) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->newArray(10) <=> QScriptValue(engine, QString(\"0\"))", + "engine->newArray(10) <=> QScriptValue(engine, QString(\"123\"))", + "engine->newArray(10) <=> QScriptValue(engine, QString(\"1.23\"))", + "engine->newArray(10) <=> engine->evaluate(\"Object.prototype\")", + "engine->newArray(10) <=> engine->evaluate(\"Function.prototype\")", + "engine->newArray(10) <=> engine->evaluate(\"Error.prototype\")", + "engine->newArray(10) <=> engine->evaluate(\"Object\")", + "engine->newArray(10) <=> engine->evaluate(\"Array\")", + "engine->newArray(10) <=> engine->evaluate(\"Number\")", + "engine->newArray(10) <=> engine->evaluate(\"Function\")", + "engine->newArray(10) <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->newArray(10) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->newArray(10) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->newArray(10) <=> engine->evaluate(\"/foo/\")", + "engine->newArray(10) <=> engine->evaluate(\"new Object()\")", + "engine->newArray(10) <=> engine->evaluate(\"new Error()\")", + "engine->newArray(10) <=> engine->evaluate(\"Undefined\")", + "engine->newArray(10) <=> engine->evaluate(\"Null\")", + "engine->newArray(10) <=> engine->evaluate(\"True\")", + "engine->newArray(10) <=> engine->evaluate(\"False\")", + "engine->newArray(10) <=> engine->evaluate(\"'ciao'\")", + "engine->newArray(10) <=> engine->evaluate(\"'0'\")", + "engine->newArray(10) <=> engine->evaluate(\"'123'\")", + "engine->newArray(10) <=> engine->evaluate(\"'12.4'\")", + "engine->newArray(10) <=> engine->newObject()", + "engine->newArray(10) <=> engine->newQMetaObject(&QObject::staticMetaObject)", + "engine->newArray(10) <=> engine->newQObject(engine)", + "engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(\"ciao\")", + "engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(0, \"ciao\")", + "engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(engine, \"ciao\")", + "engine->newQMetaObject(&QObject::staticMetaObject) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Function.prototype\")", + "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Object\")", + "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Array\")", + "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Number\")", + "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Function\")", + "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"'ciao'\")", + "engine->newVariant(QVariant(123)) <=> QScriptValue(uint(124))", + "engine->newVariant(QVariant(123)) <=> QScriptValue(0x43211234)", + "engine->newVariant(QVariant(123)) <=> QScriptValue(0x10000)", + "engine->newVariant(QVariant(123)) <=> QScriptValue(0x10001)", + "engine->newVariant(QVariant(123)) <=> QScriptValue(qInf())", + "engine->newVariant(QVariant(123)) <=> QScriptValue(\"Infinity\")", + "engine->newVariant(QVariant(123)) <=> QScriptValue(0, uint(124))", + "engine->newVariant(QVariant(123)) <=> QScriptValue(0, 0x43211234)", + "engine->newVariant(QVariant(123)) <=> QScriptValue(0, 0x10000)", + "engine->newVariant(QVariant(123)) <=> QScriptValue(0, 0x10001)", + "engine->newVariant(QVariant(123)) <=> QScriptValue(0, qInf())", + "engine->newVariant(QVariant(123)) <=> QScriptValue(0, \"Infinity\")", + "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, uint(124))", + "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, 0x43211234)", + "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, 0x10000)", + "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, 0x10001)", + "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, qInf())", + "engine->newVariant(QVariant(123)) <=> QScriptValue(engine, \"Infinity\")", + "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"124\")", + "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"0x43211234\")", + "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"0x10000\")", + "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"0x10001\")", + "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"Infinity\")", + "engine->newVariant(QVariant(false)) <=> QScriptValue(true)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(int(122))", + "engine->newVariant(QVariant(false)) <=> QScriptValue(uint(124))", + "engine->newVariant(QVariant(false)) <=> QScriptValue(123.0)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(6.37e-8)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0x43211234)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0x10000)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0x10001)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(qInf())", + "engine->newVariant(QVariant(false)) <=> QScriptValue(\"Infinity\")", + "engine->newVariant(QVariant(false)) <=> QScriptValue(QString(\"123\"))", + "engine->newVariant(QVariant(false)) <=> QScriptValue(QString(\"12.4\"))", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0, true)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0, int(122))", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0, uint(124))", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0, 123.0)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0, 6.37e-8)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0, 0x43211234)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0, 0x10000)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0, 0x10001)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0, qInf())", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0, \"Infinity\")", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0, QString(\"123\"))", + "engine->newVariant(QVariant(false)) <=> QScriptValue(0, QString(\"12.3\"))", + "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, true)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, int(122))", + "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, uint(124))", + "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 123.0)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 6.37e-8)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 0x43211234)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 0x10000)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, 0x10001)", + "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, qInf())", + "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, \"Infinity\")", + "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, QString(\"123\"))", + "engine->newVariant(QVariant(false)) <=> QScriptValue(engine, QString(\"1.23\"))", + "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"true\")", + "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"122\")", + "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"124\")", + "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"123.0\")", + "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"6.37e-8\")", + "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"0x43211234\")", + "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"0x10000\")", + "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"0x10001\")", + "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"Infinity\")", + "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"'123'\")", + "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"'12.4'\")", + "engine->newVariant(QVariant(false)) <=> engine->newVariant(QVariant(123))", + "engine->newQObject(0) <=> QScriptValue(true)", + "engine->newQObject(0) <=> QScriptValue(int(122))", + "engine->newQObject(0) <=> QScriptValue(uint(124))", + "engine->newQObject(0) <=> QScriptValue(123.0)", + "engine->newQObject(0) <=> QScriptValue(6.37e-8)", + "engine->newQObject(0) <=> QScriptValue(0x43211234)", + "engine->newQObject(0) <=> QScriptValue(0x10000)", + "engine->newQObject(0) <=> QScriptValue(0x10001)", + "engine->newQObject(0) <=> QScriptValue(qInf())", + "engine->newQObject(0) <=> QScriptValue(\"Infinity\")", + "engine->newQObject(0) <=> QScriptValue(QString(\"123\"))", + "engine->newQObject(0) <=> QScriptValue(QString(\"12.4\"))", + "engine->newQObject(0) <=> QScriptValue(0, true)", + "engine->newQObject(0) <=> QScriptValue(0, int(122))", + "engine->newQObject(0) <=> QScriptValue(0, uint(124))", + "engine->newQObject(0) <=> QScriptValue(0, 123.0)", + "engine->newQObject(0) <=> QScriptValue(0, 6.37e-8)", + "engine->newQObject(0) <=> QScriptValue(0, 0x43211234)", + "engine->newQObject(0) <=> QScriptValue(0, 0x10000)", + "engine->newQObject(0) <=> QScriptValue(0, 0x10001)", + "engine->newQObject(0) <=> QScriptValue(0, qInf())", + "engine->newQObject(0) <=> QScriptValue(0, \"Infinity\")", + "engine->newQObject(0) <=> QScriptValue(0, QString(\"123\"))", + "engine->newQObject(0) <=> QScriptValue(0, QString(\"12.3\"))", + "engine->newQObject(0) <=> QScriptValue(engine, true)", + "engine->newQObject(0) <=> QScriptValue(engine, int(122))", + "engine->newQObject(0) <=> QScriptValue(engine, uint(124))", + "engine->newQObject(0) <=> QScriptValue(engine, 123.0)", + "engine->newQObject(0) <=> QScriptValue(engine, 6.37e-8)", + "engine->newQObject(0) <=> QScriptValue(engine, 0x43211234)", + "engine->newQObject(0) <=> QScriptValue(engine, 0x10000)", + "engine->newQObject(0) <=> QScriptValue(engine, 0x10001)", + "engine->newQObject(0) <=> QScriptValue(engine, qInf())", + "engine->newQObject(0) <=> QScriptValue(engine, \"Infinity\")", + "engine->newQObject(0) <=> QScriptValue(engine, QString(\"123\"))", + "engine->newQObject(0) <=> QScriptValue(engine, QString(\"1.23\"))", + "engine->newQObject(0) <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "engine->newQObject(0) <=> engine->evaluate(\"true\")", + "engine->newQObject(0) <=> engine->evaluate(\"122\")", + "engine->newQObject(0) <=> engine->evaluate(\"124\")", + "engine->newQObject(0) <=> engine->evaluate(\"123.0\")", + "engine->newQObject(0) <=> engine->evaluate(\"6.37e-8\")", + "engine->newQObject(0) <=> engine->evaluate(\"0x43211234\")", + "engine->newQObject(0) <=> engine->evaluate(\"0x10000\")", + "engine->newQObject(0) <=> engine->evaluate(\"0x10001\")", + "engine->newQObject(0) <=> engine->evaluate(\"Infinity\")", + "engine->newQObject(0) <=> engine->evaluate(\"'123'\")", + "engine->newQObject(0) <=> engine->evaluate(\"'12.4'\")", + "engine->newQObject(0) <=> engine->newVariant(QVariant(123))", + "engine->newQObject(engine) <=> QScriptValue(\"ciao\")", + "engine->newQObject(engine) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", + "engine->newQObject(engine) <=> QScriptValue(0, \"ciao\")", + "engine->newQObject(engine) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", + "engine->newQObject(engine) <=> QScriptValue(engine, \"ciao\")", + "engine->newQObject(engine) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", + "engine->newQObject(engine) <=> engine->evaluate(\"Object.prototype\")", + "engine->newQObject(engine) <=> engine->evaluate(\"Function.prototype\")", + "engine->newQObject(engine) <=> engine->evaluate(\"Object\")", + "engine->newQObject(engine) <=> engine->evaluate(\"Array\")", + "engine->newQObject(engine) <=> engine->evaluate(\"Number\")", + "engine->newQObject(engine) <=> engine->evaluate(\"Function\")", + "engine->newQObject(engine) <=> engine->evaluate(\"(function() { return 1; })\")", + "engine->newQObject(engine) <=> engine->evaluate(\"(function() { return 'ciao'; })\")", + "engine->newQObject(engine) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")", + "engine->newQObject(engine) <=> engine->evaluate(\"new Object()\")", + "engine->newQObject(engine) <=> engine->evaluate(\"Undefined\")", + "engine->newQObject(engine) <=> engine->evaluate(\"Null\")", + "engine->newQObject(engine) <=> engine->evaluate(\"True\")", + "engine->newQObject(engine) <=> engine->evaluate(\"False\")", + "engine->newQObject(engine) <=> engine->evaluate(\"'ciao'\")", + "engine->newQObject(engine) <=> engine->newObject()", + "engine->newQObject(engine) <=> engine->newQMetaObject(&QObject::staticMetaObject)",}; + +void tst_QScriptValue::lessThan_makeData(const char *expr) +{ + static QSet equals; + if (equals.isEmpty()) { + equals.reserve(5063); + for (unsigned i = 0; i < 5063; ++i) + equals.insert(lessThan_array[i]); + } + QHash::const_iterator it; + for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) { + QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key()); + newRow(tag.toLatin1()) << it.value() << equals.contains(tag); + } +} + +void tst_QScriptValue::lessThan_test(const char *, const QScriptValue& value) +{ + QFETCH(QScriptValue, other); + QFETCH(bool, expected); + QCOMPARE(value.lessThan(other), expected); +} + +DEFINE_TEST_FUNCTION(lessThan) + + +void tst_QScriptValue::instanceOf_initData() +{ + QTest::addColumn("other"); + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString instanceOf_array [] = { + "engine->evaluate(\"[]\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"[]\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"Object\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"Object\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"Array\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"Array\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"Number\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"Number\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"Function\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"Function\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Function\")", + "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Array\")", + "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"Null\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"True\") <=> engine->evaluate(\"Object\")", + "engine->evaluate(\"False\") <=> engine->evaluate(\"Object\")", + "engine->newObject() <=> engine->evaluate(\"Object\")", + "engine->newArray() <=> engine->evaluate(\"Object\")", + "engine->newArray() <=> engine->evaluate(\"Array\")", + "engine->newArray(10) <=> engine->evaluate(\"Object\")", + "engine->newArray(10) <=> engine->evaluate(\"Array\")", + "engine->newDate(QDateTime()) <=> engine->evaluate(\"Object\")", + "engine->newQMetaObject(&QObject::staticMetaObject) <=> engine->evaluate(\"Object\")", + "engine->newVariant(QVariant()) <=> engine->evaluate(\"Object\")", + "engine->newVariant(QVariant(123)) <=> engine->evaluate(\"Object\")", + "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"Object\")", + "engine->newQObject(engine) <=> engine->evaluate(\"Object\")",}; + +void tst_QScriptValue::instanceOf_makeData(const char *expr) +{ + static QSet equals; + if (equals.isEmpty()) { + equals.reserve(40); + for (unsigned i = 0; i < 40; ++i) + equals.insert(instanceOf_array[i]); + } + QHash::const_iterator it; + for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) { + QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key()); + newRow(tag.toLatin1()) << it.value() << equals.contains(tag); + } +} + +void tst_QScriptValue::instanceOf_test(const char *, const QScriptValue& value) +{ + QFETCH(QScriptValue, other); + QFETCH(bool, expected); + QCOMPARE(value.instanceOf(other), expected); +} + +DEFINE_TEST_FUNCTION(instanceOf) diff --git a/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_init.cpp b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_init.cpp new file mode 100644 index 0000000..a9eb2ca --- /dev/null +++ b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_init.cpp @@ -0,0 +1,198 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/**************************************************************************** +*************** This file has been generated. DO NOT MODIFY! **************** +****************************************************************************/ + +#include "tst_qscriptvalue.h" + + +void tst_QScriptValue::initScriptValues() +{ + m_values.clear(); + if (engine) + delete engine; + engine = new QScriptEngine; + DEFINE_TEST_VALUE(QScriptValue()); + DEFINE_TEST_VALUE(QScriptValue(QScriptValue::UndefinedValue)); + DEFINE_TEST_VALUE(QScriptValue(QScriptValue::NullValue)); + DEFINE_TEST_VALUE(QScriptValue(true)); + DEFINE_TEST_VALUE(QScriptValue(false)); + DEFINE_TEST_VALUE(QScriptValue(int(122))); + DEFINE_TEST_VALUE(QScriptValue(uint(124))); + DEFINE_TEST_VALUE(QScriptValue(0)); + DEFINE_TEST_VALUE(QScriptValue(0.0)); + DEFINE_TEST_VALUE(QScriptValue(123.0)); + DEFINE_TEST_VALUE(QScriptValue(6.37e-8)); + DEFINE_TEST_VALUE(QScriptValue(-6.37e-8)); + DEFINE_TEST_VALUE(QScriptValue(0x43211234)); + DEFINE_TEST_VALUE(QScriptValue(0x10000)); + DEFINE_TEST_VALUE(QScriptValue(0x10001)); + DEFINE_TEST_VALUE(QScriptValue(qSNaN())); + DEFINE_TEST_VALUE(QScriptValue(qQNaN())); + DEFINE_TEST_VALUE(QScriptValue(qInf())); + DEFINE_TEST_VALUE(QScriptValue(-qInf())); + DEFINE_TEST_VALUE(QScriptValue("NaN")); + DEFINE_TEST_VALUE(QScriptValue("Infinity")); + DEFINE_TEST_VALUE(QScriptValue("-Infinity")); + DEFINE_TEST_VALUE(QScriptValue("ciao")); + DEFINE_TEST_VALUE(QScriptValue(QString::fromLatin1("ciao"))); + DEFINE_TEST_VALUE(QScriptValue(QString(""))); + DEFINE_TEST_VALUE(QScriptValue(QString())); + DEFINE_TEST_VALUE(QScriptValue(QString("0"))); + DEFINE_TEST_VALUE(QScriptValue(QString("123"))); + DEFINE_TEST_VALUE(QScriptValue(QString("12.4"))); + DEFINE_TEST_VALUE(QScriptValue(0, QScriptValue::UndefinedValue)); + DEFINE_TEST_VALUE(QScriptValue(0, QScriptValue::NullValue)); + DEFINE_TEST_VALUE(QScriptValue(0, true)); + DEFINE_TEST_VALUE(QScriptValue(0, false)); + DEFINE_TEST_VALUE(QScriptValue(0, int(122))); + DEFINE_TEST_VALUE(QScriptValue(0, uint(124))); + DEFINE_TEST_VALUE(QScriptValue(0, 0)); + DEFINE_TEST_VALUE(QScriptValue(0, 0.0)); + DEFINE_TEST_VALUE(QScriptValue(0, 123.0)); + DEFINE_TEST_VALUE(QScriptValue(0, 6.37e-8)); + DEFINE_TEST_VALUE(QScriptValue(0, -6.37e-8)); + DEFINE_TEST_VALUE(QScriptValue(0, 0x43211234)); + DEFINE_TEST_VALUE(QScriptValue(0, 0x10000)); + DEFINE_TEST_VALUE(QScriptValue(0, 0x10001)); + DEFINE_TEST_VALUE(QScriptValue(0, qSNaN())); + DEFINE_TEST_VALUE(QScriptValue(0, qQNaN())); + DEFINE_TEST_VALUE(QScriptValue(0, qInf())); + DEFINE_TEST_VALUE(QScriptValue(0, -qInf())); + DEFINE_TEST_VALUE(QScriptValue(0, "NaN")); + DEFINE_TEST_VALUE(QScriptValue(0, "Infinity")); + DEFINE_TEST_VALUE(QScriptValue(0, "-Infinity")); + DEFINE_TEST_VALUE(QScriptValue(0, "ciao")); + DEFINE_TEST_VALUE(QScriptValue(0, QString::fromLatin1("ciao"))); + DEFINE_TEST_VALUE(QScriptValue(0, QString(""))); + DEFINE_TEST_VALUE(QScriptValue(0, QString())); + DEFINE_TEST_VALUE(QScriptValue(0, QString("0"))); + DEFINE_TEST_VALUE(QScriptValue(0, QString("123"))); + DEFINE_TEST_VALUE(QScriptValue(0, QString("12.3"))); + DEFINE_TEST_VALUE(QScriptValue(engine, QScriptValue::UndefinedValue)); + DEFINE_TEST_VALUE(QScriptValue(engine, QScriptValue::NullValue)); + DEFINE_TEST_VALUE(QScriptValue(engine, true)); + DEFINE_TEST_VALUE(QScriptValue(engine, false)); + DEFINE_TEST_VALUE(QScriptValue(engine, int(122))); + DEFINE_TEST_VALUE(QScriptValue(engine, uint(124))); + DEFINE_TEST_VALUE(QScriptValue(engine, 0)); + DEFINE_TEST_VALUE(QScriptValue(engine, 0.0)); + DEFINE_TEST_VALUE(QScriptValue(engine, 123.0)); + DEFINE_TEST_VALUE(QScriptValue(engine, 6.37e-8)); + DEFINE_TEST_VALUE(QScriptValue(engine, -6.37e-8)); + DEFINE_TEST_VALUE(QScriptValue(engine, 0x43211234)); + DEFINE_TEST_VALUE(QScriptValue(engine, 0x10000)); + DEFINE_TEST_VALUE(QScriptValue(engine, 0x10001)); + DEFINE_TEST_VALUE(QScriptValue(engine, qSNaN())); + DEFINE_TEST_VALUE(QScriptValue(engine, qQNaN())); + DEFINE_TEST_VALUE(QScriptValue(engine, qInf())); + DEFINE_TEST_VALUE(QScriptValue(engine, -qInf())); + DEFINE_TEST_VALUE(QScriptValue(engine, "NaN")); + DEFINE_TEST_VALUE(QScriptValue(engine, "Infinity")); + DEFINE_TEST_VALUE(QScriptValue(engine, "-Infinity")); + DEFINE_TEST_VALUE(QScriptValue(engine, "ciao")); + DEFINE_TEST_VALUE(QScriptValue(engine, QString::fromLatin1("ciao"))); + DEFINE_TEST_VALUE(QScriptValue(engine, QString(""))); + DEFINE_TEST_VALUE(QScriptValue(engine, QString())); + DEFINE_TEST_VALUE(QScriptValue(engine, QString("0"))); + DEFINE_TEST_VALUE(QScriptValue(engine, QString("123"))); + DEFINE_TEST_VALUE(QScriptValue(engine, QString("1.23"))); + DEFINE_TEST_VALUE(engine->evaluate("[]")); + DEFINE_TEST_VALUE(engine->evaluate("{}")); + DEFINE_TEST_VALUE(engine->evaluate("Object.prototype")); + DEFINE_TEST_VALUE(engine->evaluate("Date.prototype")); + DEFINE_TEST_VALUE(engine->evaluate("Array.prototype")); + DEFINE_TEST_VALUE(engine->evaluate("Function.prototype")); + DEFINE_TEST_VALUE(engine->evaluate("Error.prototype")); + DEFINE_TEST_VALUE(engine->evaluate("Object")); + DEFINE_TEST_VALUE(engine->evaluate("Array")); + DEFINE_TEST_VALUE(engine->evaluate("Number")); + DEFINE_TEST_VALUE(engine->evaluate("Function")); + DEFINE_TEST_VALUE(engine->evaluate("(function() { return 1; })")); + DEFINE_TEST_VALUE(engine->evaluate("(function() { return 'ciao'; })")); + DEFINE_TEST_VALUE(engine->evaluate("(function() { throw new Error('foo'); })")); + DEFINE_TEST_VALUE(engine->evaluate("/foo/")); + DEFINE_TEST_VALUE(engine->evaluate("new Object()")); + DEFINE_TEST_VALUE(engine->evaluate("new Array()")); + DEFINE_TEST_VALUE(engine->evaluate("new Error()")); + DEFINE_TEST_VALUE(engine->evaluate("a = new Object(); a.foo = 22; a.foo")); + DEFINE_TEST_VALUE(engine->evaluate("Undefined")); + DEFINE_TEST_VALUE(engine->evaluate("Null")); + DEFINE_TEST_VALUE(engine->evaluate("True")); + DEFINE_TEST_VALUE(engine->evaluate("False")); + DEFINE_TEST_VALUE(engine->evaluate("undefined")); + DEFINE_TEST_VALUE(engine->evaluate("null")); + DEFINE_TEST_VALUE(engine->evaluate("true")); + DEFINE_TEST_VALUE(engine->evaluate("false")); + DEFINE_TEST_VALUE(engine->evaluate("122")); + DEFINE_TEST_VALUE(engine->evaluate("124")); + DEFINE_TEST_VALUE(engine->evaluate("0")); + DEFINE_TEST_VALUE(engine->evaluate("0.0")); + DEFINE_TEST_VALUE(engine->evaluate("123.0")); + DEFINE_TEST_VALUE(engine->evaluate("6.37e-8")); + DEFINE_TEST_VALUE(engine->evaluate("-6.37e-8")); + DEFINE_TEST_VALUE(engine->evaluate("0x43211234")); + DEFINE_TEST_VALUE(engine->evaluate("0x10000")); + DEFINE_TEST_VALUE(engine->evaluate("0x10001")); + DEFINE_TEST_VALUE(engine->evaluate("NaN")); + DEFINE_TEST_VALUE(engine->evaluate("Infinity")); + DEFINE_TEST_VALUE(engine->evaluate("-Infinity")); + DEFINE_TEST_VALUE(engine->evaluate("'ciao'")); + DEFINE_TEST_VALUE(engine->evaluate("''")); + DEFINE_TEST_VALUE(engine->evaluate("'0'")); + DEFINE_TEST_VALUE(engine->evaluate("'123'")); + DEFINE_TEST_VALUE(engine->evaluate("'12.4'")); + DEFINE_TEST_VALUE(engine->nullValue()); + DEFINE_TEST_VALUE(engine->undefinedValue()); + DEFINE_TEST_VALUE(engine->newObject()); + DEFINE_TEST_VALUE(engine->newArray()); + DEFINE_TEST_VALUE(engine->newArray(10)); + DEFINE_TEST_VALUE(engine->newDate(QDateTime())); + DEFINE_TEST_VALUE(engine->newQMetaObject(&QObject::staticMetaObject)); + DEFINE_TEST_VALUE(engine->newVariant(QVariant())); + DEFINE_TEST_VALUE(engine->newVariant(QVariant(123))); + DEFINE_TEST_VALUE(engine->newVariant(QVariant(false))); + DEFINE_TEST_VALUE(engine->newQObject(0)); + DEFINE_TEST_VALUE(engine->newQObject(engine)); +} + diff --git a/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_isXXX.cpp b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_isXXX.cpp new file mode 100644 index 0000000..106043b --- /dev/null +++ b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_isXXX.cpp @@ -0,0 +1,830 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/**************************************************************************** +*************** This file has been generated. DO NOT MODIFY! **************** +****************************************************************************/ + +#include "tst_qscriptvalue.h" + + +void tst_QScriptValue::isValid_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString isValid_array [] = { + "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(\"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->newVariant(QVariant())", + "engine->newVariant(QVariant(123))", + "engine->newVariant(QVariant(false))", + "engine->newQObject(0)", + "engine->newQObject(engine)",}; + +void tst_QScriptValue::isValid_makeData(const char* expr) +{ + static QSet isValid; + if (isValid.isEmpty()) { + isValid.reserve(141); + for (unsigned i = 0; i < 141; ++i) + isValid.insert(isValid_array[i]); + } + newRow(expr) << isValid.contains(expr); +} + +void tst_QScriptValue::isValid_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isValid(), expected); + QCOMPARE(value.isValid(), expected); +} + +DEFINE_TEST_FUNCTION(isValid) + + +void tst_QScriptValue::isBool_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString isBool_array [] = { + "QScriptValue(true)", + "QScriptValue(false)", + "QScriptValue(0, true)", + "QScriptValue(0, false)", + "QScriptValue(engine, true)", + "QScriptValue(engine, false)", + "engine->evaluate(\"true\")", + "engine->evaluate(\"false\")",}; + +void tst_QScriptValue::isBool_makeData(const char* expr) +{ + static QSet isBool; + if (isBool.isEmpty()) { + isBool.reserve(8); + for (unsigned i = 0; i < 8; ++i) + isBool.insert(isBool_array[i]); + } + newRow(expr) << isBool.contains(expr); +} + +void tst_QScriptValue::isBool_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isBool(), expected); + QCOMPARE(value.isBool(), expected); +} + +DEFINE_TEST_FUNCTION(isBool) + + +void tst_QScriptValue::isBoolean_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString isBoolean_array [] = { + "QScriptValue(true)", + "QScriptValue(false)", + "QScriptValue(0, true)", + "QScriptValue(0, false)", + "QScriptValue(engine, true)", + "QScriptValue(engine, false)", + "engine->evaluate(\"true\")", + "engine->evaluate(\"false\")",}; + +void tst_QScriptValue::isBoolean_makeData(const char* expr) +{ + static QSet isBoolean; + if (isBoolean.isEmpty()) { + isBoolean.reserve(8); + for (unsigned i = 0; i < 8; ++i) + isBoolean.insert(isBoolean_array[i]); + } + newRow(expr) << isBoolean.contains(expr); +} + +void tst_QScriptValue::isBoolean_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isBoolean(), expected); + QCOMPARE(value.isBoolean(), expected); +} + +DEFINE_TEST_FUNCTION(isBoolean) + + +void tst_QScriptValue::isNumber_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString isNumber_array [] = { + "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(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(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())", + "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", + "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\")",}; + +void tst_QScriptValue::isNumber_makeData(const char* expr) +{ + static QSet isNumber; + if (isNumber.isEmpty()) { + isNumber.reserve(56); + for (unsigned i = 0; i < 56; ++i) + isNumber.insert(isNumber_array[i]); + } + newRow(expr) << isNumber.contains(expr); +} + +void tst_QScriptValue::isNumber_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isNumber(), expected); + QCOMPARE(value.isNumber(), expected); +} + +DEFINE_TEST_FUNCTION(isNumber) + + +void tst_QScriptValue::isFunction_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString isFunction_array [] = { + "engine->evaluate(\"Function.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->newQMetaObject(&QObject::staticMetaObject)",}; + +void tst_QScriptValue::isFunction_makeData(const char* expr) +{ + static QSet isFunction; + if (isFunction.isEmpty()) { + isFunction.reserve(10); + for (unsigned i = 0; i < 10; ++i) + isFunction.insert(isFunction_array[i]); + } + newRow(expr) << isFunction.contains(expr); +} + +void tst_QScriptValue::isFunction_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isFunction(), expected); + QCOMPARE(value.isFunction(), expected); +} + +DEFINE_TEST_FUNCTION(isFunction) + + +void tst_QScriptValue::isNull_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString isNull_array [] = { + "QScriptValue(QScriptValue::NullValue)", + "QScriptValue(0, QScriptValue::NullValue)", + "QScriptValue(engine, QScriptValue::NullValue)", + "engine->evaluate(\"null\")", + "engine->nullValue()", + "engine->newQObject(0)",}; + +void tst_QScriptValue::isNull_makeData(const char* expr) +{ + static QSet isNull; + if (isNull.isEmpty()) { + isNull.reserve(6); + for (unsigned i = 0; i < 6; ++i) + isNull.insert(isNull_array[i]); + } + newRow(expr) << isNull.contains(expr); +} + +void tst_QScriptValue::isNull_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isNull(), expected); + QCOMPARE(value.isNull(), expected); +} + +DEFINE_TEST_FUNCTION(isNull) + + +void tst_QScriptValue::isString_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString isString_array [] = { + "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, \"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, \"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(\"'ciao'\")", + "engine->evaluate(\"''\")", + "engine->evaluate(\"'0'\")", + "engine->evaluate(\"'123'\")", + "engine->evaluate(\"'12.4'\")",}; + +void tst_QScriptValue::isString_makeData(const char* expr) +{ + static QSet isString; + if (isString.isEmpty()) { + isString.reserve(35); + for (unsigned i = 0; i < 35; ++i) + isString.insert(isString_array[i]); + } + newRow(expr) << isString.contains(expr); +} + +void tst_QScriptValue::isString_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isString(), expected); + QCOMPARE(value.isString(), expected); +} + +DEFINE_TEST_FUNCTION(isString) + + +void tst_QScriptValue::isUndefined_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString isUndefined_array [] = { + "QScriptValue(QScriptValue::UndefinedValue)", + "QScriptValue(0, QScriptValue::UndefinedValue)", + "QScriptValue(engine, QScriptValue::UndefinedValue)", + "engine->evaluate(\"{}\")", + "engine->evaluate(\"undefined\")", + "engine->undefinedValue()",}; + +void tst_QScriptValue::isUndefined_makeData(const char* expr) +{ + static QSet isUndefined; + if (isUndefined.isEmpty()) { + isUndefined.reserve(6); + for (unsigned i = 0; i < 6; ++i) + isUndefined.insert(isUndefined_array[i]); + } + newRow(expr) << isUndefined.contains(expr); +} + +void tst_QScriptValue::isUndefined_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isUndefined(), expected); + QCOMPARE(value.isUndefined(), expected); +} + +DEFINE_TEST_FUNCTION(isUndefined) + + +void tst_QScriptValue::isVariant_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString isVariant_array [] = { + "engine->newVariant(QVariant())", + "engine->newVariant(QVariant(123))", + "engine->newVariant(QVariant(false))",}; + +void tst_QScriptValue::isVariant_makeData(const char* expr) +{ + static QSet isVariant; + if (isVariant.isEmpty()) { + isVariant.reserve(3); + for (unsigned i = 0; i < 3; ++i) + isVariant.insert(isVariant_array[i]); + } + newRow(expr) << isVariant.contains(expr); +} + +void tst_QScriptValue::isVariant_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isVariant(), expected); + QCOMPARE(value.isVariant(), expected); +} + +DEFINE_TEST_FUNCTION(isVariant) + + +void tst_QScriptValue::isQObject_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString isQObject_array [] = { + "engine->newQObject(engine)",}; + +void tst_QScriptValue::isQObject_makeData(const char* expr) +{ + static QSet isQObject; + if (isQObject.isEmpty()) { + isQObject.reserve(1); + for (unsigned i = 0; i < 1; ++i) + isQObject.insert(isQObject_array[i]); + } + newRow(expr) << isQObject.contains(expr); +} + +void tst_QScriptValue::isQObject_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isQObject(), expected); + QCOMPARE(value.isQObject(), expected); +} + +DEFINE_TEST_FUNCTION(isQObject) + + +void tst_QScriptValue::isQMetaObject_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString isQMetaObject_array [] = { + "engine->newQMetaObject(&QObject::staticMetaObject)",}; + +void tst_QScriptValue::isQMetaObject_makeData(const char* expr) +{ + static QSet isQMetaObject; + if (isQMetaObject.isEmpty()) { + isQMetaObject.reserve(1); + for (unsigned i = 0; i < 1; ++i) + isQMetaObject.insert(isQMetaObject_array[i]); + } + newRow(expr) << isQMetaObject.contains(expr); +} + +void tst_QScriptValue::isQMetaObject_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isQMetaObject(), expected); + QCOMPARE(value.isQMetaObject(), expected); +} + +DEFINE_TEST_FUNCTION(isQMetaObject) + + +void tst_QScriptValue::isObject_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString isObject_array [] = { + "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(\"Undefined\")", + "engine->evaluate(\"Null\")", + "engine->evaluate(\"True\")", + "engine->evaluate(\"False\")", + "engine->newObject()", + "engine->newArray()", + "engine->newArray(10)", + "engine->newDate(QDateTime())", + "engine->newQMetaObject(&QObject::staticMetaObject)", + "engine->newVariant(QVariant())", + "engine->newVariant(QVariant(123))", + "engine->newVariant(QVariant(false))", + "engine->newQObject(engine)",}; + +void tst_QScriptValue::isObject_makeData(const char* expr) +{ + static QSet isObject; + if (isObject.isEmpty()) { + isObject.reserve(30); + for (unsigned i = 0; i < 30; ++i) + isObject.insert(isObject_array[i]); + } + newRow(expr) << isObject.contains(expr); +} + +void tst_QScriptValue::isObject_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isObject(), expected); + QCOMPARE(value.isObject(), expected); +} + +DEFINE_TEST_FUNCTION(isObject) + + +void tst_QScriptValue::isDate_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString isDate_array [] = { + "engine->evaluate(\"Date.prototype\")", + "engine->newDate(QDateTime())",}; + +void tst_QScriptValue::isDate_makeData(const char* expr) +{ + static QSet isDate; + if (isDate.isEmpty()) { + isDate.reserve(2); + for (unsigned i = 0; i < 2; ++i) + isDate.insert(isDate_array[i]); + } + newRow(expr) << isDate.contains(expr); +} + +void tst_QScriptValue::isDate_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isDate(), expected); + QCOMPARE(value.isDate(), expected); +} + +DEFINE_TEST_FUNCTION(isDate) + + +void tst_QScriptValue::isRegExp_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString isRegExp_array [] = { + "engine->evaluate(\"/foo/\")",}; + +void tst_QScriptValue::isRegExp_makeData(const char* expr) +{ + static QSet isRegExp; + if (isRegExp.isEmpty()) { + isRegExp.reserve(1); + for (unsigned i = 0; i < 1; ++i) + isRegExp.insert(isRegExp_array[i]); + } + newRow(expr) << isRegExp.contains(expr); +} + +void tst_QScriptValue::isRegExp_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isRegExp(), expected); + QCOMPARE(value.isRegExp(), expected); +} + +DEFINE_TEST_FUNCTION(isRegExp) + + +void tst_QScriptValue::isArray_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString isArray_array [] = { + "engine->evaluate(\"[]\")", + "engine->evaluate(\"Array.prototype\")", + "engine->evaluate(\"new Array()\")", + "engine->newArray()", + "engine->newArray(10)",}; + +void tst_QScriptValue::isArray_makeData(const char* expr) +{ + static QSet isArray; + if (isArray.isEmpty()) { + isArray.reserve(5); + for (unsigned i = 0; i < 5; ++i) + isArray.insert(isArray_array[i]); + } + newRow(expr) << isArray.contains(expr); +} + +void tst_QScriptValue::isArray_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isArray(), expected); + QCOMPARE(value.isArray(), expected); +} + +DEFINE_TEST_FUNCTION(isArray) + + +void tst_QScriptValue::isError_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString isError_array [] = { + "engine->evaluate(\"Error.prototype\")", + "engine->evaluate(\"new Error()\")", + "engine->evaluate(\"Undefined\")", + "engine->evaluate(\"Null\")", + "engine->evaluate(\"True\")", + "engine->evaluate(\"False\")",}; + +void tst_QScriptValue::isError_makeData(const char* expr) +{ + static QSet isError; + if (isError.isEmpty()) { + isError.reserve(6); + for (unsigned i = 0; i < 6; ++i) + isError.insert(isError_array[i]); + } + newRow(expr) << isError.contains(expr); +} + +void tst_QScriptValue::isError_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.isError(), expected); + QCOMPARE(value.isError(), expected); +} + +DEFINE_TEST_FUNCTION(isError) + diff --git a/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_toXXX.cpp b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_toXXX.cpp new file mode 100644 index 0000000..754f4e0 --- /dev/null +++ b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_toXXX.cpp @@ -0,0 +1,1897 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/**************************************************************************** +*************** This file has been generated. DO NOT MODIFY! **************** +****************************************************************************/ + +#include "tst_qscriptvalue.h" + + + +void tst_QScriptValue::toString_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString toString_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(\"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->newVariant(QVariant())", + "engine->newVariant(QVariant(123))", + "engine->newVariant(QVariant(false))", + "engine->newQObject(0)", + "engine->newQObject(engine)",}; + +static QString toString_valueArray [] = { + "", "undefined", + "null", "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", "undefined", + "null", "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", "undefined", + "null", "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", "", + "undefined", "[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", "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", + "undefined", "null", + "true", "false", + "122", "124", + "0", "0", + "123", "6.37e-8", + "-6.37e-8", "1126240820", + "65536", "65537", + "NaN", "Infinity", + "-Infinity", "ciao", + "", "0", + "123", "12.4", + "null", "undefined", + "[object Object]", "", + ",,,,,,,,,", "Invalid Date", + "[object QMetaObject]", "undefined", + "123", "false", + "null", "QScriptEngine(name = \"\")", }; + +void tst_QScriptValue::toString_makeData(const char* expr) +{ + static QHash toString; + if (toString.isEmpty()) { + toString.reserve(142); + for (unsigned i = 0; i < 142; ++i) + toString.insert(toString_tagArray[i], toString_valueArray[i]); + } + newRow(expr) << toString.value(expr); +} + +void tst_QScriptValue::toString_test(const char*, const QScriptValue& value) +{ + QFETCH(QString, expected); + QCOMPARE(value.toString(), expected); + QCOMPARE(value.toString(), expected); +} + +DEFINE_TEST_FUNCTION(toString) + + +void tst_QScriptValue::toNumber_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString toNumber_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(\"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->newVariant(QVariant())", + "engine->newVariant(QVariant(123))", + "engine->newVariant(QVariant(false))", + "engine->newQObject(0)", + "engine->newQObject(engine)",}; +static qsreal toNumber_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(), 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(), 123, 0, + 0, qQNaN(), }; +void tst_QScriptValue::toNumber_makeData(const char* expr) +{ + static QHash toNumber; + if (toNumber.isEmpty()) { + toNumber.reserve(142); + for (unsigned i = 0; i < 142; ++i) + toNumber.insert(toNumber_tagArray[i], toNumber_valueArray[i]); + } + newRow(expr) << toNumber.value(expr); +} + +void tst_QScriptValue::toNumber_test(const char*, const QScriptValue& value) +{ + QFETCH(qsreal, expected); + if (qIsNaN(expected)) { + QVERIFY(qIsNaN(value.toNumber())); + return; + } + if (qIsInf(expected)) { + QVERIFY(qIsInf(value.toNumber())); + QVERIFY(qIsInf(value.toNumber())); + return; + } + QCOMPARE(value.toNumber(), expected); + QCOMPARE(value.toNumber(), expected); +} + +DEFINE_TEST_FUNCTION(toNumber) + + +void tst_QScriptValue::toBool_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString toBool_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(\"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->newVariant(QVariant())", + "engine->newVariant(QVariant(123))", + "engine->newVariant(QVariant(false))", + "engine->newQObject(0)", + "engine->newQObject(engine)",}; + +static bool toBool_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, + 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, + false, true, }; + +void tst_QScriptValue::toBool_makeData(const char* expr) +{ + static QHash toBool; + if (toBool.isEmpty()) { + toBool.reserve(142); + for (unsigned i = 0; i < 142; ++i) + toBool.insert(toBool_tagArray[i], toBool_valueArray[i]); + } + newRow(expr) << toBool.value(expr); +} + +void tst_QScriptValue::toBool_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.toBool(), expected); + QCOMPARE(value.toBool(), expected); +} + +DEFINE_TEST_FUNCTION(toBool) + + +void tst_QScriptValue::toBoolean_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString toBoolean_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(\"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->newVariant(QVariant())", + "engine->newVariant(QVariant(123))", + "engine->newVariant(QVariant(false))", + "engine->newQObject(0)", + "engine->newQObject(engine)",}; + +static bool toBoolean_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, + 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, + false, true, }; + +void tst_QScriptValue::toBoolean_makeData(const char* expr) +{ + static QHash toBoolean; + if (toBoolean.isEmpty()) { + toBoolean.reserve(142); + for (unsigned i = 0; i < 142; ++i) + toBoolean.insert(toBoolean_tagArray[i], toBoolean_valueArray[i]); + } + newRow(expr) << toBoolean.value(expr); +} + +void tst_QScriptValue::toBoolean_test(const char*, const QScriptValue& value) +{ + QFETCH(bool, expected); + QCOMPARE(value.toBoolean(), expected); + QCOMPARE(value.toBoolean(), expected); +} + +DEFINE_TEST_FUNCTION(toBoolean) + + +void tst_QScriptValue::toInteger_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString toInteger_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(\"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->newVariant(QVariant())", + "engine->newVariant(QVariant(123))", + "engine->newVariant(QVariant(false))", + "engine->newQObject(0)", + "engine->newQObject(engine)",}; +static qsreal toInteger_valueArray [] = { + 0, 0, 0, 1, 0, 122, 124, 0, 0, 123, + 0, 0, 1126240820, 65536, 65537, 0, 0, qInf(), qInf(), 0, + qInf(), qInf(), 0, 0, 0, 0, 0, 123, 12, 0, + 0, 1, 0, 122, 124, 0, 0, 123, 0, 0, + 1126240820, 65536, 65537, 0, 0, qInf(), qInf(), 0, qInf(), qInf(), + 0, 0, 0, 0, 0, 123, 12, 0, 0, 1, + 0, 122, 124, 0, 0, 123, 0, 0, 1126240820, 65536, + 65537, 0, 0, qInf(), qInf(), 0, qInf(), qInf(), 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, 22, 0, 0, 0, 0, 0, 0, + 1, 0, 122, 124, 0, 0, 123, 0, 0, 1126240820, + 65536, 65537, 0, qInf(), qInf(), 0, 0, 0, 123, 12, + 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, + 0, 0, }; +void tst_QScriptValue::toInteger_makeData(const char* expr) +{ + static QHash toInteger; + if (toInteger.isEmpty()) { + toInteger.reserve(142); + for (unsigned i = 0; i < 142; ++i) + toInteger.insert(toInteger_tagArray[i], toInteger_valueArray[i]); + } + newRow(expr) << toInteger.value(expr); +} + +void tst_QScriptValue::toInteger_test(const char*, const QScriptValue& value) +{ + QFETCH(qsreal, expected); + if (qIsInf(expected)) { + QVERIFY(qIsInf(value.toInteger())); + QVERIFY(qIsInf(value.toInteger())); + return; + } + QCOMPARE(value.toInteger(), expected); + QCOMPARE(value.toInteger(), expected); +} + +DEFINE_TEST_FUNCTION(toInteger) + + +void tst_QScriptValue::toInt32_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString toInt32_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(\"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->newVariant(QVariant())", + "engine->newVariant(QVariant(123))", + "engine->newVariant(QVariant(false))", + "engine->newQObject(0)", + "engine->newQObject(engine)",}; + +static qint32 toInt32_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, 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, + 123, 0, + 0, 0, }; + +void tst_QScriptValue::toInt32_makeData(const char* expr) +{ + static QHash toInt32; + if (toInt32.isEmpty()) { + toInt32.reserve(142); + for (unsigned i = 0; i < 142; ++i) + toInt32.insert(toInt32_tagArray[i], toInt32_valueArray[i]); + } + newRow(expr) << toInt32.value(expr); +} + +void tst_QScriptValue::toInt32_test(const char*, const QScriptValue& value) +{ + QFETCH(qint32, expected); + QCOMPARE(value.toInt32(), expected); + QCOMPARE(value.toInt32(), expected); +} + +DEFINE_TEST_FUNCTION(toInt32) + + +void tst_QScriptValue::toUInt32_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString toUInt32_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(\"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->newVariant(QVariant())", + "engine->newVariant(QVariant(123))", + "engine->newVariant(QVariant(false))", + "engine->newQObject(0)", + "engine->newQObject(engine)",}; + +static quint32 toUInt32_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, 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, + 123, 0, + 0, 0, }; + +void tst_QScriptValue::toUInt32_makeData(const char* expr) +{ + static QHash toUInt32; + if (toUInt32.isEmpty()) { + toUInt32.reserve(142); + for (unsigned i = 0; i < 142; ++i) + toUInt32.insert(toUInt32_tagArray[i], toUInt32_valueArray[i]); + } + newRow(expr) << toUInt32.value(expr); +} + +void tst_QScriptValue::toUInt32_test(const char*, const QScriptValue& value) +{ + QFETCH(quint32, expected); + QCOMPARE(value.toUInt32(), expected); + QCOMPARE(value.toUInt32(), expected); +} + +DEFINE_TEST_FUNCTION(toUInt32) + + +void tst_QScriptValue::toUInt16_initData() +{ + QTest::addColumn("expected"); + initScriptValues(); +} + +static QString toUInt16_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(\"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->newVariant(QVariant())", + "engine->newVariant(QVariant(123))", + "engine->newVariant(QVariant(false))", + "engine->newQObject(0)", + "engine->newQObject(engine)",}; + +static quint16 toUInt16_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, 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, + 123, 0, + 0, 0, }; + +void tst_QScriptValue::toUInt16_makeData(const char* expr) +{ + static QHash toUInt16; + if (toUInt16.isEmpty()) { + toUInt16.reserve(142); + for (unsigned i = 0; i < 142; ++i) + toUInt16.insert(toUInt16_tagArray[i], toUInt16_valueArray[i]); + } + newRow(expr) << toUInt16.value(expr); +} + +void tst_QScriptValue::toUInt16_test(const char*, const QScriptValue& value) +{ + QFETCH(quint16, expected); + QCOMPARE(value.toUInt16(), expected); + QCOMPARE(value.toUInt16(), expected); +} + +DEFINE_TEST_FUNCTION(toUInt16) diff --git a/tests/auto/script.pro b/tests/auto/script.pro index 420bd74..c4d0544 100644 --- a/tests/auto/script.pro +++ b/tests/auto/script.pro @@ -13,5 +13,6 @@ SUBDIRS=\ qscriptstring \ qscriptv8testsuite \ qscriptvalue \ + qscriptvaluegenerated \ qscriptvalueiterator \ -- cgit v0.12 From 0540537b2841d3c9e367d84d0f89f6a5f5f487a7 Mon Sep 17 00:00:00 2001 From: Jedrzej Nowacki Date: Fri, 29 Oct 2010 13:48:59 +0200 Subject: Rename few QScriptValue's test cases. Remove unused suffix "_old" from test cases. The suffix was used to differentiate between a generated test and a standard one. As they are separated now it is not needed anymore. Reviewed-by: Kent Hansen --- tests/auto/qscriptvalue/tst_qscriptvalue.cpp | 40 ++++++++++++++-------------- tests/auto/qscriptvalue/tst_qscriptvalue.h | 40 ++++++++++++++-------------- 2 files changed, 40 insertions(+), 40 deletions(-) diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp index e29b5d0..4232aff 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp @@ -339,7 +339,7 @@ static QScriptValue myFunction(QScriptContext *, QScriptEngine *eng) return eng->undefinedValue(); } -void tst_QScriptValue::toString_old() +void tst_QScriptValue::toString() { QScriptEngine eng; @@ -453,7 +453,7 @@ void tst_QScriptValue::toString_old() QVERIFY(variant.toString().isEmpty()); } -void tst_QScriptValue::toNumber_old() +void tst_QScriptValue::toNumber() { QScriptEngine eng; @@ -526,7 +526,7 @@ void tst_QScriptValue::toNumber_old() } } -void tst_QScriptValue::toBoolean_old() // deprecated +void tst_QScriptValue::toBoolean() // deprecated { QScriptEngine eng; @@ -623,7 +623,7 @@ void tst_QScriptValue::toBoolean_old() // deprecated } } -void tst_QScriptValue::toBool_old() +void tst_QScriptValue::toBool() { QScriptEngine eng; @@ -720,7 +720,7 @@ void tst_QScriptValue::toBool_old() } } -void tst_QScriptValue::toInteger_old() +void tst_QScriptValue::toInteger() { QScriptEngine eng; @@ -807,7 +807,7 @@ void tst_QScriptValue::toInteger_old() QCOMPARE(inv.toInteger(), 0.0); } -void tst_QScriptValue::toInt32_old() +void tst_QScriptValue::toInt32() { QScriptEngine eng; @@ -943,7 +943,7 @@ void tst_QScriptValue::toInt32_old() QCOMPARE(qscriptvalue_cast(inv), 0); } -void tst_QScriptValue::toUInt32_old() +void tst_QScriptValue::toUInt32() { QScriptEngine eng; @@ -1075,7 +1075,7 @@ void tst_QScriptValue::toUInt32_old() QCOMPARE(qscriptvalue_cast(inv), quint32(0)); } -void tst_QScriptValue::toUInt16_old() +void tst_QScriptValue::toUInt16() { QScriptEngine eng; @@ -1236,7 +1236,7 @@ void tst_QScriptValue::toUInt16_old() Q_DECLARE_METATYPE(QVariant) #endif -void tst_QScriptValue::toVariant_old() +void tst_QScriptValue::toVariant() { QScriptEngine eng; @@ -1343,7 +1343,7 @@ void tst_QScriptValue::toVariant_old() // unfortunately, this is necessary in order to do qscriptvalue_cast(...) Q_DECLARE_METATYPE(QPushButton*) -void tst_QScriptValue::toQObject_old() +void tst_QScriptValue::toQObject() { QScriptEngine eng; @@ -1550,7 +1550,7 @@ void tst_QScriptValue::toObject() } } -void tst_QScriptValue::toDateTime_old() +void tst_QScriptValue::toDateTime() { QScriptEngine eng; QDateTime dt = eng.evaluate("new Date(0)").toDateTime(); @@ -1568,7 +1568,7 @@ void tst_QScriptValue::toDateTime_old() QVERIFY(!eng.undefinedValue().toDateTime().isValid()); } -void tst_QScriptValue::toRegExp_old() +void tst_QScriptValue::toRegExp() { QScriptEngine eng; { @@ -1598,7 +1598,7 @@ void tst_QScriptValue::toRegExp_old() QVERIFY(eng.undefinedValue().toRegExp().isEmpty()); } -void tst_QScriptValue::instanceOf_old() +void tst_QScriptValue::instanceOf() { QScriptEngine eng; QScriptValue obj = eng.newObject(); @@ -1634,7 +1634,7 @@ void tst_QScriptValue::instanceOf_old() QCOMPARE(obj.instanceOf(otherEngine.globalObject().property("Object")), false); } -void tst_QScriptValue::isArray_old() +void tst_QScriptValue::isArray() { QScriptEngine eng; QVERIFY(eng.evaluate("[]").isArray()); @@ -1647,7 +1647,7 @@ void tst_QScriptValue::isArray_old() QVERIFY(!eng.undefinedValue().isArray()); } -void tst_QScriptValue::isDate_old() +void tst_QScriptValue::isDate() { QScriptEngine eng; QVERIFY(eng.evaluate("new Date()").isDate()); @@ -1661,7 +1661,7 @@ void tst_QScriptValue::isDate_old() QVERIFY(!eng.undefinedValue().isDate()); } -void tst_QScriptValue::isError_old() +void tst_QScriptValue::isError() { QStringList errors; errors << "Error" @@ -1686,7 +1686,7 @@ void tst_QScriptValue::isError_old() QVERIFY(!eng.evaluate("new Object()").isError()); } -void tst_QScriptValue::isRegExp_old() +void tst_QScriptValue::isRegExp() { QScriptEngine eng; QVERIFY(eng.evaluate("/foo/").isRegExp()); @@ -2814,7 +2814,7 @@ void tst_QScriptValue::construct_constructorThrowsPrimitive() } } -void tst_QScriptValue::lessThan_old() +void tst_QScriptValue::lessThan() { QScriptEngine eng; @@ -2908,7 +2908,7 @@ void tst_QScriptValue::lessThan_old() QCOMPARE(date1.lessThan(QScriptValue(&otherEngine, 123)), false); } -void tst_QScriptValue::equals_old() +void tst_QScriptValue::equals() { QScriptEngine eng; @@ -3101,7 +3101,7 @@ void tst_QScriptValue::equals_old() QCOMPARE(date1.equals(QScriptValue(&otherEngine, 123)), false); } -void tst_QScriptValue::strictlyEquals_old() +void tst_QScriptValue::strictlyEquals() { QScriptEngine eng; diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.h b/tests/auto/qscriptvalue/tst_qscriptvalue.h index e17fcca..d196ea5 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.h +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.h @@ -82,27 +82,27 @@ private slots: void ctor_copyAndAssign(); void ctor_nullEngine(); - void toString_old(); - void toNumber_old(); - void toBoolean_old(); - void toBool_old(); - void toInteger_old(); - void toInt32_old(); - void toUInt32_old(); - void toUInt16_old(); - void toVariant_old(); - void toQObject_old(); - void toDateTime_old(); - void toRegExp_old(); - void instanceOf_old(); - void isArray_old(); - void isDate_old(); - void isError_old(); - void isRegExp_old(); + void toString(); + void toNumber(); + void toBoolean(); + void toBool(); + void toInteger(); + void toInt32(); + void toUInt32(); + void toUInt16(); + void toVariant(); + void toQObject(); + void toDateTime(); + void toRegExp(); + void instanceOf(); + void isArray(); + void isDate(); + void isError(); + void isRegExp(); - void lessThan_old(); - void equals_old(); - void strictlyEquals_old(); + void lessThan(); + void equals(); + void strictlyEquals(); void getSetPrototype(); void getSetScope(); -- cgit v0.12 From 121b7a47670f8a8e8e4c7ef6cf69a42865297158 Mon Sep 17 00:00:00 2001 From: Jedrzej Nowacki Date: Fri, 29 Oct 2010 14:02:51 +0200 Subject: Increase range of getSetScriptClass test. Few bound QScriptValue instances were added to the test. Reviewed-by: Kent Hansen --- tests/auto/qscriptvalue/tst_qscriptvalue.cpp | 19 ++++++++++++++----- tests/auto/qscriptvalue/tst_qscriptvalue.h | 10 ++++++++-- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp index 4232aff..e5af792 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp @@ -56,7 +56,8 @@ tst_QScriptValue::tst_QScriptValue() tst_QScriptValue::~tst_QScriptValue() { - delete engine; + if (engine) + delete engine; } void tst_QScriptValue::ctor_invalid() @@ -2278,8 +2279,9 @@ public: TestScriptClass(QScriptEngine *engine) : QScriptClass(engine) {} }; -void tst_QScriptValue::getSetScriptClass_nonObjects_data() +void tst_QScriptValue::getSetScriptClass_emptyClass_data() { + newEngine(); QTest::addColumn("value"); QTest::newRow("invalid") << QScriptValue(); @@ -2288,9 +2290,18 @@ void tst_QScriptValue::getSetScriptClass_nonObjects_data() QTest::newRow("bool") << QScriptValue(false); QTest::newRow("null") << QScriptValue(QScriptValue::NullValue); QTest::newRow("undefined") << QScriptValue(QScriptValue::UndefinedValue); + + QTest::newRow("number") << QScriptValue(engine, 123); + QTest::newRow("string") << QScriptValue(engine, "pong"); + QTest::newRow("bool") << QScriptValue(engine, true); + QTest::newRow("null") << QScriptValue(engine->nullValue()); + QTest::newRow("undefined") << QScriptValue(engine->undefinedValue()); + QTest::newRow("object") << QScriptValue(engine->newObject()); + QTest::newRow("date") << QScriptValue(engine->evaluate("new Date()")); + QTest::newRow("qobject") << QScriptValue(engine->newQObject(this)); } -void tst_QScriptValue::getSetScriptClass_nonObjects() +void tst_QScriptValue::getSetScriptClass_emptyClass() { QFETCH(QScriptValue, value); QCOMPARE(value.scriptClass(), (QScriptClass*)0); @@ -2303,7 +2314,6 @@ void tst_QScriptValue::getSetScriptClass_JSObjectFromCpp() // object created in C++ (newObject()) { QScriptValue obj = eng.newObject(); - QCOMPARE(obj.scriptClass(), (QScriptClass*)0); obj.setScriptClass(&testClass); QCOMPARE(obj.scriptClass(), (QScriptClass*)&testClass); obj.setScriptClass(0); @@ -2355,7 +2365,6 @@ void tst_QScriptValue::getSetScriptClass_QObject() { QScriptValue obj = eng.newQObject(this); QVERIFY(obj.isQObject()); - QCOMPARE(obj.scriptClass(), (QScriptClass*)0); obj.setScriptClass(&testClass); QCOMPARE(obj.scriptClass(), (QScriptClass*)&testClass); QVERIFY(obj.isObject()); diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.h b/tests/auto/qscriptvalue/tst_qscriptvalue.h index d196ea5..7eb4f04 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.h +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.h @@ -109,8 +109,8 @@ private slots: void getSetProperty(); void arrayElementGetterSetter(); void getSetData(); - void getSetScriptClass_nonObjects_data(); - void getSetScriptClass_nonObjects(); + void getSetScriptClass_emptyClass_data(); + void getSetScriptClass_emptyClass(); void getSetScriptClass_JSObjectFromCpp(); void getSetScriptClass_JSObjectFromJS(); void getSetScriptClass_QVariant(); @@ -128,6 +128,12 @@ private slots: void nestedObjectToVariant(); private: + void newEngine() + { + if (engine) + delete engine; + engine = new QScriptEngine(); + } QScriptEngine *engine; }; -- cgit v0.12 From 3efb8bf24fb66f2a9728ee511cf5767b5ed32903 Mon Sep 17 00:00:00 2001 From: Jedrzej Nowacki Date: Fri, 29 Oct 2010 14:20:30 +0200 Subject: Refactor tst_QScriptValue::isArray The test should _data function. It should be easier to maintain that code. Reviewed-by: Kent Hansen --- tests/auto/qscriptvalue/tst_qscriptvalue.cpp | 30 +++++++++++++++++++--------- tests/auto/qscriptvalue/tst_qscriptvalue.h | 1 + 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp index e5af792..eee2a6e 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp @@ -1635,17 +1635,29 @@ void tst_QScriptValue::instanceOf() QCOMPARE(obj.instanceOf(otherEngine.globalObject().property("Object")), false); } +void tst_QScriptValue::isArray_data() +{ + newEngine(); + + QTest::addColumn("value"); + QTest::addColumn("array"); + + QTest::newRow("[]") << engine->evaluate("[]") << true; + QTest::newRow("{}") << engine->evaluate("{}") << false; + QTest::newRow("globalObject") << engine->globalObject() << false; + QTest::newRow("invalid") << QScriptValue() << false; + QTest::newRow("number") << QScriptValue(123) << false; + QTest::newRow("bool") << QScriptValue(false) << false; + QTest::newRow("null") << engine->nullValue() << false; + QTest::newRow("undefined") << engine->undefinedValue() << false; +} + void tst_QScriptValue::isArray() { - QScriptEngine eng; - QVERIFY(eng.evaluate("[]").isArray()); - QVERIFY(!eng.evaluate("{}").isArray()); - QVERIFY(!eng.globalObject().isArray()); - QVERIFY(!QScriptValue().isArray()); - QVERIFY(!QScriptValue(123).isArray()); - QVERIFY(!QScriptValue(false).isArray()); - QVERIFY(!eng.nullValue().isArray()); - QVERIFY(!eng.undefinedValue().isArray()); + QFETCH(QScriptValue, value); + QFETCH(bool, array); + + QCOMPARE(value.isArray(), array); } void tst_QScriptValue::isDate() diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.h b/tests/auto/qscriptvalue/tst_qscriptvalue.h index 7eb4f04..ad6ca8d 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.h +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.h @@ -95,6 +95,7 @@ private slots: void toDateTime(); void toRegExp(); void instanceOf(); + void isArray_data(); void isArray(); void isDate(); void isError(); -- cgit v0.12 From 5a6c72fd39a9088e9066bb611790577f4cd8fd2f Mon Sep 17 00:00:00 2001 From: Jedrzej Nowacki Date: Fri, 29 Oct 2010 14:26:53 +0200 Subject: Refactor tst_QScriptValue::isDate The test should use _data function. It should be easier to maintain that code. Reviewed-by: Kent Hansen --- tests/auto/qscriptvalue/tst_qscriptvalue.cpp | 32 +++++++++++++++++++--------- tests/auto/qscriptvalue/tst_qscriptvalue.h | 1 + 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp index eee2a6e..44318b4 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp @@ -1660,18 +1660,30 @@ void tst_QScriptValue::isArray() QCOMPARE(value.isArray(), array); } +void tst_QScriptValue::isDate_data() +{ + newEngine(); + + QTest::addColumn("value"); + QTest::addColumn("date"); + + QTest::newRow("date") << engine->evaluate("new Date()") << true; + QTest::newRow("[]") << engine->evaluate("[]") << false; + QTest::newRow("{}") << engine->evaluate("{}") << false; + QTest::newRow("globalObject") << engine->globalObject() << false; + QTest::newRow("invalid") << QScriptValue() << false; + QTest::newRow("number") << QScriptValue(123) << false; + QTest::newRow("bool") << QScriptValue(false) << false; + QTest::newRow("null") << engine->nullValue() << false; + QTest::newRow("undefined") << engine->undefinedValue() << false; +} + void tst_QScriptValue::isDate() { - QScriptEngine eng; - QVERIFY(eng.evaluate("new Date()").isDate()); - QVERIFY(!eng.evaluate("[]").isDate()); - QVERIFY(!eng.evaluate("{}").isDate()); - QVERIFY(!eng.globalObject().isDate()); - QVERIFY(!QScriptValue().isDate()); - QVERIFY(!QScriptValue(123).isDate()); - QVERIFY(!QScriptValue(false).isDate()); - QVERIFY(!eng.nullValue().isDate()); - QVERIFY(!eng.undefinedValue().isDate()); + QFETCH(QScriptValue, value); + QFETCH(bool, date); + + QCOMPARE(value.isDate(), date); } void tst_QScriptValue::isError() diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.h b/tests/auto/qscriptvalue/tst_qscriptvalue.h index ad6ca8d..239f668 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.h +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.h @@ -98,6 +98,7 @@ private slots: void isArray_data(); void isArray(); void isDate(); + void isDate_data(); void isError(); void isRegExp(); -- cgit v0.12 From 21a4759ba82212097a0d76dcf341b5e8e497d057 Mon Sep 17 00:00:00 2001 From: Jedrzej Nowacki Date: Fri, 29 Oct 2010 15:07:05 +0200 Subject: Refactor tst_QScriptValue::isRegExp The test should use _data function. It should be easier to maintain that code. Reviewed-by: Kent Hansen --- tests/auto/qscriptvalue/tst_qscriptvalue.cpp | 32 +++++++++++++++++++--------- tests/auto/qscriptvalue/tst_qscriptvalue.h | 1 + 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp index 44318b4..47ff9d7 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp @@ -1711,18 +1711,30 @@ void tst_QScriptValue::isError() QVERIFY(!eng.evaluate("new Object()").isError()); } +void tst_QScriptValue::isRegExp_data() +{ + newEngine(); + + QTest::addColumn("value"); + QTest::addColumn("regexp"); + + QTest::newRow("/foo/") << engine->evaluate("/foo/") << true; + QTest::newRow("[]") << engine->evaluate("[]") << false; + QTest::newRow("{}") << engine->evaluate("{}") << false; + QTest::newRow("globalObject") << engine->globalObject() << false; + QTest::newRow("invalid") << QScriptValue() << false; + QTest::newRow("number") << QScriptValue(123) << false; + QTest::newRow("bool") << QScriptValue(false) << false; + QTest::newRow("null") << engine->nullValue() << false; + QTest::newRow("undefined") << engine->undefinedValue() << false; +} + void tst_QScriptValue::isRegExp() { - QScriptEngine eng; - QVERIFY(eng.evaluate("/foo/").isRegExp()); - QVERIFY(!eng.evaluate("[]").isRegExp()); - QVERIFY(!eng.evaluate("{}").isRegExp()); - QVERIFY(!eng.globalObject().isRegExp()); - QVERIFY(!QScriptValue().isRegExp()); - QVERIFY(!QScriptValue(123).isRegExp()); - QVERIFY(!QScriptValue(false).isRegExp()); - QVERIFY(!eng.nullValue().isRegExp()); - QVERIFY(!eng.undefinedValue().isRegExp()); + QFETCH(QScriptValue, value); + QFETCH(bool, regexp); + + QCOMPARE(value.isRegExp(), regexp); } static QScriptValue getter(QScriptContext *ctx, QScriptEngine *) diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.h b/tests/auto/qscriptvalue/tst_qscriptvalue.h index 239f668..300ce61 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.h +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.h @@ -100,6 +100,7 @@ private slots: void isDate(); void isDate_data(); void isError(); + void isRegExp_data(); void isRegExp(); void lessThan(); -- cgit v0.12 From 2b8c26f9f3fbba75463a818797b6d83cd409c74f Mon Sep 17 00:00:00 2001 From: Jedrzej Nowacki Date: Fri, 29 Oct 2010 15:12:05 +0200 Subject: Refactor tst_QScriptValue::isError The test should use _data function. It should be easier to maintain that code. Reviewed-by: Kent Hansen --- tests/auto/qscriptvalue/tst_qscriptvalue.cpp | 37 ++++++++++++++++++++++------ tests/auto/qscriptvalue/tst_qscriptvalue.h | 2 ++ 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp index 47ff9d7..0dd219b 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp @@ -1686,7 +1686,7 @@ void tst_QScriptValue::isDate() QCOMPARE(value.isDate(), date); } -void tst_QScriptValue::isError() +void tst_QScriptValue::isError_propertiesOfGlobalObject() { QStringList errors; errors << "Error" @@ -1702,13 +1702,34 @@ void tst_QScriptValue::isError() QVERIFY(ctor.isFunction()); QVERIFY(ctor.property("prototype").isError()); } - QVERIFY(!eng.globalObject().isError()); - QVERIFY(!QScriptValue().isError()); - QVERIFY(!QScriptValue(123).isError()); - QVERIFY(!QScriptValue(false).isError()); - QVERIFY(!eng.nullValue().isError()); - QVERIFY(!eng.undefinedValue().isError()); - QVERIFY(!eng.evaluate("new Object()").isError()); +} + +void tst_QScriptValue::isError_data() +{ + newEngine(); + + QTest::addColumn("value"); + QTest::addColumn("error"); + + QTest::newRow("syntax error") << engine->evaluate("%fsdg's") << true; + QTest::newRow("[]") << engine->evaluate("[]") << false; + QTest::newRow("{}") << engine->evaluate("{}") << false; + QTest::newRow("globalObject") << engine->globalObject() << false; + QTest::newRow("invalid") << QScriptValue() << false; + QTest::newRow("number") << QScriptValue(123) << false; + QTest::newRow("bool") << QScriptValue(false) << false; + QTest::newRow("null") << engine->nullValue() << false; + QTest::newRow("undefined") << engine->undefinedValue() << false; + QTest::newRow("newObject") << engine->newObject() << false; + QTest::newRow("new Object") << engine->evaluate("new Object()") << false; +} + +void tst_QScriptValue::isError() +{ + QFETCH(QScriptValue, value); + QFETCH(bool, error); + + QCOMPARE(value.isError(), error); } void tst_QScriptValue::isRegExp_data() diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.h b/tests/auto/qscriptvalue/tst_qscriptvalue.h index 300ce61..b6274f4 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.h +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.h @@ -99,6 +99,8 @@ private slots: void isArray(); void isDate(); void isDate_data(); + void isError_propertiesOfGlobalObject(); + void isError_data(); void isError(); void isRegExp_data(); void isRegExp(); -- cgit v0.12 From 9ffc5678c59f3aaf35130f931ad28d98e2013d2a Mon Sep 17 00:00:00 2001 From: Jedrzej Nowacki Date: Fri, 29 Oct 2010 15:25:24 +0200 Subject: Refactor tst_QScriptValue::getSetData The test should use _data function. The test was divided into two separate cases, it should reduce maintenance costs. Reviewed-by: Kent Hansen --- tests/auto/qscriptvalue/tst_qscriptvalue.cpp | 96 ++++++++++++++++++---------- tests/auto/qscriptvalue/tst_qscriptvalue.h | 5 +- 2 files changed, 68 insertions(+), 33 deletions(-) diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp index 0dd219b..fdfb2a6 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp @@ -2295,39 +2295,71 @@ void tst_QScriptValue::getSetScope() QVERIFY(!object2.scope().isValid()); } -void tst_QScriptValue::getSetData() +void tst_QScriptValue::getSetData_objects_data() { - QScriptEngine eng; - { - QScriptValue object = eng.newObject(); - QVERIFY(!object.data().isValid()); - QScriptValue v1(true); - object.setData(v1); - QVERIFY(object.data().strictlyEquals(v1)); - QScriptValue v2(123); - object.setData(v2); - QVERIFY(object.data().strictlyEquals(v2)); - QScriptValue v3 = eng.newObject(); - object.setData(v3); - QVERIFY(object.data().strictlyEquals(v3)); - object.setData(QScriptValue()); - QVERIFY(!object.data().isValid()); - } - { - QScriptValue value = eng.undefinedValue(); - QVERIFY(!value.data().isValid()); - QScriptValue v1(true); - value.setData(v1); - QVERIFY(!value.data().isValid()); - QScriptValue v2(123); - value.setData(v2); - QVERIFY(!value.data().isValid()); - QScriptValue v3 = eng.newObject(); - value.setData(v3); - QVERIFY(!value.data().isValid()); - value.setData(QScriptValue()); - QVERIFY(!value.data().isValid()); - } + newEngine(); + + QTest::addColumn("object"); + + QTest::newRow("object from evaluate") << engine->evaluate("new Object()"); + QTest::newRow("object from engine") << engine->newObject(); + QTest::newRow("Array") << engine->newArray(); + QTest::newRow("Date") << engine->newDate(12324); + QTest::newRow("QObject") << engine->newQObject(this); + QTest::newRow("RegExp") << engine->newRegExp(QRegExp()); +} + +void tst_QScriptValue::getSetData_objects() +{ + QFETCH(QScriptValue, object); + + QVERIFY(!object.data().isValid()); + QScriptValue v1(true); + object.setData(v1); + QVERIFY(object.data().strictlyEquals(v1)); + QScriptValue v2(123); + object.setData(v2); + QVERIFY(object.data().strictlyEquals(v2)); + QScriptValue v3 = engine->newObject(); + object.setData(v3); + QVERIFY(object.data().strictlyEquals(v3)); + object.setData(QScriptValue()); + QVERIFY(!object.data().isValid()); +} + +void tst_QScriptValue::getSetData_nonObjects_data() +{ + newEngine(); + + QTest::addColumn("value"); + + QTest::newRow("undefined (bound)") << engine->undefinedValue(); + QTest::newRow("null (bound)") << engine->nullValue(); + QTest::newRow("string (bound)") << QScriptValue(engine, "Pong"); + QTest::newRow("bool (bound)") << QScriptValue(engine, false); + + QTest::newRow("undefined") << QScriptValue(QScriptValue::UndefinedValue); + QTest::newRow("null") << QScriptValue(QScriptValue::NullValue); + QTest::newRow("string") << QScriptValue("Pong"); + QTest::newRow("bool") << QScriptValue(true); +} + +void tst_QScriptValue::getSetData_nonObjects() +{ + QFETCH(QScriptValue, value); + + QVERIFY(!value.data().isValid()); + QScriptValue v1(true); + value.setData(v1); + QVERIFY(!value.data().isValid()); + QScriptValue v2(123); + value.setData(v2); + QVERIFY(!value.data().isValid()); + QScriptValue v3 = engine->newObject(); + value.setData(v3); + QVERIFY(!value.data().isValid()); + value.setData(QScriptValue()); + QVERIFY(!value.data().isValid()); } class TestScriptClass : public QScriptClass diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.h b/tests/auto/qscriptvalue/tst_qscriptvalue.h index b6274f4..a431f0b 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.h +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.h @@ -113,7 +113,10 @@ private slots: void getSetScope(); void getSetProperty(); void arrayElementGetterSetter(); - void getSetData(); + void getSetData_objects_data(); + void getSetData_objects(); + void getSetData_nonObjects_data(); + void getSetData_nonObjects(); void getSetScriptClass_emptyClass_data(); void getSetScriptClass_emptyClass(); void getSetScriptClass_JSObjectFromCpp(); -- cgit v0.12 From 06bc5e5e94958aa0e597b19c5a1b2a0a7c523cea Mon Sep 17 00:00:00 2001 From: Jedrzej Nowacki Date: Fri, 29 Oct 2010 15:46:35 +0200 Subject: Refactor tst_QScriptValue::getSetProperty The test was too complex, it was splited. Reviewed-by: Kent Hansen --- tests/auto/qscriptvalue/tst_qscriptvalue.cpp | 513 +++++++++++++++------------ tests/auto/qscriptvalue/tst_qscriptvalue.h | 11 + 2 files changed, 291 insertions(+), 233 deletions(-) diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp index fdfb2a6..112d768 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp @@ -1791,48 +1791,9 @@ static QScriptValue getSet__proto__(QScriptContext *ctx, QScriptEngine *) return ctx->callee().property("value"); } -void tst_QScriptValue::getSetProperty() +void tst_QScriptValue::getSetProperty_HooliganTask162051() { QScriptEngine eng; - - QScriptValue object = eng.newObject(); - - QScriptValue str = QScriptValue(&eng, "bar"); - object.setProperty("foo", str); - QCOMPARE(object.property("foo").toString(), str.toString()); - - QScriptValue num = QScriptValue(&eng, 123.0); - object.setProperty("baz", num); - QCOMPARE(object.property("baz").toNumber(), num.toNumber()); - - QScriptValue strstr = QScriptValue("bar"); - QCOMPARE(strstr.engine(), (QScriptEngine *)0); - object.setProperty("foo", strstr); - QCOMPARE(object.property("foo").toString(), strstr.toString()); - QCOMPARE(strstr.engine(), &eng); // the value has been bound to the engine - - QScriptValue numnum = QScriptValue(123.0); - object.setProperty("baz", numnum); - QCOMPARE(object.property("baz").toNumber(), numnum.toNumber()); - - QScriptValue inv; - inv.setProperty("foo", num); - QCOMPARE(inv.property("foo").isValid(), false); - - QScriptValue array = eng.newArray(); - QVERIFY(array.isArray()); - array.setProperty(0, num); - QCOMPARE(array.property(0).toNumber(), num.toNumber()); - QCOMPARE(array.property("0").toNumber(), num.toNumber()); - QCOMPARE(array.property("length").toUInt32(), quint32(1)); - array.setProperty(1, str); - QCOMPARE(array.property(1).toString(), str.toString()); - QCOMPARE(array.property("1").toString(), str.toString()); - QCOMPARE(array.property("length").toUInt32(), quint32(2)); - array.setProperty("length", QScriptValue(&eng, 1)); - QCOMPARE(array.property("length").toUInt32(), quint32(1)); - QCOMPARE(array.property(1).isValid(), false); - // task 162051 -- detecting whether the property is an array index or not QVERIFY(eng.evaluate("a = []; a['00'] = 123; a['00']").strictlyEquals(QScriptValue(&eng, 123))); QVERIFY(eng.evaluate("a.length").strictlyEquals(QScriptValue(&eng, 0))); @@ -1845,24 +1806,62 @@ void tst_QScriptValue::getSetProperty() QVERIFY(eng.evaluate("a[0]").isUndefined()); QVERIFY(eng.evaluate("a[0] = 789; a[0]").strictlyEquals(QScriptValue(&eng, 789))); QVERIFY(eng.evaluate("a.length").strictlyEquals(QScriptValue(&eng, 1))); +} +void tst_QScriptValue::getSetProperty_HooliganTask183072() +{ + QScriptEngine eng; // task 183072 -- 0x800000000 is not an array index eng.evaluate("a = []; a[0x800000000] = 123"); QVERIFY(eng.evaluate("a.length").strictlyEquals(QScriptValue(&eng, 0))); QVERIFY(eng.evaluate("a[0]").isUndefined()); QVERIFY(eng.evaluate("a[0x800000000]").strictlyEquals(QScriptValue(&eng, 123))); +} - QScriptEngine otherEngine; - QScriptValue otherNum = QScriptValue(&otherEngine, 123); - QTest::ignoreMessage(QtWarningMsg, "QScriptValue::setProperty(oof) failed: cannot set value created in a different engine"); - object.setProperty("oof", otherNum); - QCOMPARE(object.property("oof").isValid(), false); +void tst_QScriptValue::getSetProperty_propertyRemoval() +{ + // test property removal (setProperty(QScriptValue())) + QScriptEngine eng; + QScriptValue object = eng.newObject(); + QScriptValue str = QScriptValue(&eng, "bar"); + QScriptValue num = QScriptValue(&eng, 123.0); + object.setProperty("foo", num); + QCOMPARE(object.property("foo").strictlyEquals(num), true); + object.setProperty("bar", str); + QCOMPARE(object.property("bar").strictlyEquals(str), true); + object.setProperty("foo", QScriptValue()); + QCOMPARE(object.property("foo").isValid(), false); + QCOMPARE(object.property("bar").strictlyEquals(str), true); + object.setProperty("foo", num); + QCOMPARE(object.property("foo").strictlyEquals(num), true); + QCOMPARE(object.property("bar").strictlyEquals(str), true); + object.setProperty("bar", QScriptValue()); + QCOMPARE(object.property("bar").isValid(), false); + QCOMPARE(object.property("foo").strictlyEquals(num), true); + object.setProperty("foo", QScriptValue()); + object.setProperty("foo", QScriptValue()); + + eng.globalObject().setProperty("object3", object); + QCOMPARE(eng.evaluate("object3.hasOwnProperty('foo')") + .strictlyEquals(QScriptValue(&eng, false)), true); + object.setProperty("foo", num); + QCOMPARE(eng.evaluate("object3.hasOwnProperty('foo')") + .strictlyEquals(QScriptValue(&eng, true)), true); + eng.globalObject().setProperty("object3", QScriptValue()); + QCOMPARE(eng.evaluate("this.hasOwnProperty('object3')") + .strictlyEquals(QScriptValue(&eng, false)), true); +} + +void tst_QScriptValue::getSetProperty_resolveMode() +{ // test ResolveMode - QScriptValue object2 = eng.newObject(); - object.setPrototype(object2); + QScriptEngine eng; + QScriptValue object = eng.newObject(); + QScriptValue prototype = eng.newObject(); + object.setPrototype(prototype); QScriptValue num2 = QScriptValue(&eng, 456.0); - object2.setProperty("propertyInPrototype", num2); + prototype.setProperty("propertyInPrototype", num2); // default is ResolvePrototype QCOMPARE(object.property("propertyInPrototype") .strictlyEquals(num2), true); @@ -1874,199 +1873,247 @@ void tst_QScriptValue::getSetProperty() .strictlyEquals(num2), false); QCOMPARE(object.property("propertyInPrototype", QScriptValue::ResolveFull) .strictlyEquals(num2), true); +} - // test property removal (setProperty(QScriptValue())) - QScriptValue object3 = eng.newObject(); - object3.setProperty("foo", num); - QCOMPARE(object3.property("foo").strictlyEquals(num), true); - object3.setProperty("bar", str); - QCOMPARE(object3.property("bar").strictlyEquals(str), true); - object3.setProperty("foo", QScriptValue()); - QCOMPARE(object3.property("foo").isValid(), false); - QCOMPARE(object3.property("bar").strictlyEquals(str), true); - object3.setProperty("foo", num); - QCOMPARE(object3.property("foo").strictlyEquals(num), true); - QCOMPARE(object3.property("bar").strictlyEquals(str), true); - object3.setProperty("bar", QScriptValue()); - QCOMPARE(object3.property("bar").isValid(), false); - QCOMPARE(object3.property("foo").strictlyEquals(num), true); - object3.setProperty("foo", QScriptValue()); - object3.setProperty("foo", QScriptValue()); - - eng.globalObject().setProperty("object3", object3); - QCOMPARE(eng.evaluate("object3.hasOwnProperty('foo')") - .strictlyEquals(QScriptValue(&eng, false)), true); - object3.setProperty("foo", num); - QCOMPARE(eng.evaluate("object3.hasOwnProperty('foo')") - .strictlyEquals(QScriptValue(&eng, true)), true); - eng.globalObject().setProperty("object3", QScriptValue()); - QCOMPARE(eng.evaluate("this.hasOwnProperty('object3')") - .strictlyEquals(QScriptValue(&eng, false)), true); +void tst_QScriptValue::getSetProperty_twoEngines() +{ + QScriptEngine engine; + QScriptValue object = engine.newObject(); - // getters and setters - { - QScriptValue object4 = eng.newObject(); - for (int x = 0; x < 2; ++x) { - object4.setProperty("foo", QScriptValue()); - // getter() returns this.x - object4.setProperty("foo", eng.newFunction(getter), - QScriptValue::PropertyGetter | QScriptValue::UserRange); - QCOMPARE(object4.propertyFlags("foo") & ~QScriptValue::UserRange, - QScriptValue::PropertyGetter ); - - QEXPECT_FAIL("", "User-range flags are not retained for getter/setter properties", Continue); - QCOMPARE(object4.propertyFlags("foo"), - QScriptValue::PropertyGetter | QScriptValue::UserRange); - object4.setProperty("x", num); - QCOMPARE(object4.property("foo").strictlyEquals(num), true); - - // setter() sets this.x - object4.setProperty("foo", eng.newFunction(setter), - QScriptValue::PropertySetter); - QCOMPARE(object4.propertyFlags("foo") & ~QScriptValue::UserRange, - QScriptValue::PropertySetter | QScriptValue::PropertyGetter); - - QCOMPARE(object4.propertyFlags("foo"), - QScriptValue::PropertySetter | QScriptValue::PropertyGetter); - object4.setProperty("foo", str); - QCOMPARE(object4.property("x").strictlyEquals(str), true); - QCOMPARE(object4.property("foo").strictlyEquals(str), true); - - // kill the getter - object4.setProperty("foo", QScriptValue(), QScriptValue::PropertyGetter); - QVERIFY(!(object4.propertyFlags("foo") & QScriptValue::PropertyGetter)); - QVERIFY(object4.propertyFlags("foo") & QScriptValue::PropertySetter); - QCOMPARE(object4.property("foo").isUndefined(), true); - - // setter should still work - object4.setProperty("foo", num); - QCOMPARE(object4.property("x").strictlyEquals(num), true); - - // kill the setter too - object4.setProperty("foo", QScriptValue(), QScriptValue::PropertySetter); - QVERIFY(!(object4.propertyFlags("foo") & QScriptValue::PropertySetter)); - // now foo is just a regular property - object4.setProperty("foo", str); - QCOMPARE(object4.property("x").strictlyEquals(num), true); - QCOMPARE(object4.property("foo").strictlyEquals(str), true); - } + QScriptEngine otherEngine; + QScriptValue otherNum = QScriptValue(&otherEngine, 123); + QTest::ignoreMessage(QtWarningMsg, "QScriptValue::setProperty(oof) failed: cannot set value created in a different engine"); + object.setProperty("oof", otherNum); + QCOMPARE(object.property("oof").isValid(), false); +} - for (int x = 0; x < 2; ++x) { - object4.setProperty("foo", QScriptValue()); - // setter() sets this.x - object4.setProperty("foo", eng.newFunction(setter), QScriptValue::PropertySetter); - object4.setProperty("foo", str); - QCOMPARE(object4.property("x").strictlyEquals(str), true); - QCOMPARE(object4.property("foo").isUndefined(), true); - - // getter() returns this.x - object4.setProperty("foo", eng.newFunction(getter), QScriptValue::PropertyGetter); - object4.setProperty("x", num); - QCOMPARE(object4.property("foo").strictlyEquals(num), true); - - // kill the setter - object4.setProperty("foo", QScriptValue(), QScriptValue::PropertySetter); - QTest::ignoreMessage(QtWarningMsg, "QScriptValue::setProperty() failed: property 'foo' has a getter but no setter"); - object4.setProperty("foo", str); - - // getter should still work - QCOMPARE(object4.property("foo").strictlyEquals(num), true); - - // kill the getter too - object4.setProperty("foo", QScriptValue(), QScriptValue::PropertyGetter); - // now foo is just a regular property - object4.setProperty("foo", str); - QCOMPARE(object4.property("x").strictlyEquals(num), true); - QCOMPARE(object4.property("foo").strictlyEquals(str), true); - } - // use a single function as both getter and setter - object4.setProperty("foo", QScriptValue()); - object4.setProperty("foo", eng.newFunction(getterSetter), - QScriptValue::PropertyGetter | QScriptValue::PropertySetter); - QCOMPARE(object4.propertyFlags("foo"), - QScriptValue::PropertyGetter | QScriptValue::PropertySetter); - object4.setProperty("x", num); - QCOMPARE(object4.property("foo").strictlyEquals(num), true); - - // killing the getter will preserve the setter, even though they are the same function - object4.setProperty("foo", QScriptValue(), QScriptValue::PropertyGetter); - QVERIFY(object4.propertyFlags("foo") & QScriptValue::PropertySetter); - QCOMPARE(object4.property("foo").isUndefined(), true); - - // getter/setter that throws an error - { - QScriptValue object5 = eng.newObject(); - object5.setProperty("foo", eng.newFunction(getterSetterThrowingError), - QScriptValue::PropertyGetter | QScriptValue::PropertySetter); - QVERIFY(!eng.hasUncaughtException()); - QScriptValue ret = object5.property("foo"); - QVERIFY(ret.isError()); - QVERIFY(eng.hasUncaughtException()); - QVERIFY(ret.strictlyEquals(eng.uncaughtException())); - eng.evaluate("Object"); // clear exception state... - QVERIFY(!eng.hasUncaughtException()); - object5.setProperty("foo", str); - QVERIFY(eng.hasUncaughtException()); - QCOMPARE(eng.uncaughtException().toString(), QLatin1String("Error: set foo")); - } +void tst_QScriptValue::getSetProperty_gettersAndSetters() +{ + QScriptEngine eng; + QScriptValue str = QScriptValue(&eng, "bar"); + QScriptValue num = QScriptValue(&eng, 123.0); + QScriptValue object = eng.newObject(); + for (int x = 0; x < 2; ++x) { + object.setProperty("foo", QScriptValue()); + // getter() returns this.x + object.setProperty("foo", eng.newFunction(getter), + QScriptValue::PropertyGetter | QScriptValue::UserRange); + QCOMPARE(object.propertyFlags("foo") & ~QScriptValue::UserRange, + QScriptValue::PropertyGetter ); + + QEXPECT_FAIL("", "User-range flags are not retained for getter/setter properties", Continue); + QCOMPARE(object.propertyFlags("foo"), + QScriptValue::PropertyGetter | QScriptValue::UserRange); + object.setProperty("x", num); + QCOMPARE(object.property("foo").strictlyEquals(num), true); + + // setter() sets this.x + object.setProperty("foo", eng.newFunction(setter), + QScriptValue::PropertySetter); + QCOMPARE(object.propertyFlags("foo") & ~QScriptValue::UserRange, + QScriptValue::PropertySetter | QScriptValue::PropertyGetter); + + QCOMPARE(object.propertyFlags("foo"), + QScriptValue::PropertySetter | QScriptValue::PropertyGetter); + object.setProperty("foo", str); + QCOMPARE(object.property("x").strictlyEquals(str), true); + QCOMPARE(object.property("foo").strictlyEquals(str), true); + + // kill the getter + object.setProperty("foo", QScriptValue(), QScriptValue::PropertyGetter); + QVERIFY(!(object.propertyFlags("foo") & QScriptValue::PropertyGetter)); + QVERIFY(object.propertyFlags("foo") & QScriptValue::PropertySetter); + QCOMPARE(object.property("foo").isUndefined(), true); + + // setter should still work + object.setProperty("foo", num); + QCOMPARE(object.property("x").strictlyEquals(num), true); + + // kill the setter too + object.setProperty("foo", QScriptValue(), QScriptValue::PropertySetter); + QVERIFY(!(object.propertyFlags("foo") & QScriptValue::PropertySetter)); + // now foo is just a regular property + object.setProperty("foo", str); + QCOMPARE(object.property("x").strictlyEquals(num), true); + QCOMPARE(object.property("foo").strictlyEquals(str), true); + } + + for (int x = 0; x < 2; ++x) { + object.setProperty("foo", QScriptValue()); + // setter() sets this.x + object.setProperty("foo", eng.newFunction(setter), QScriptValue::PropertySetter); + object.setProperty("foo", str); + QCOMPARE(object.property("x").strictlyEquals(str), true); + QCOMPARE(object.property("foo").isUndefined(), true); + + // getter() returns this.x + object.setProperty("foo", eng.newFunction(getter), QScriptValue::PropertyGetter); + object.setProperty("x", num); + QCOMPARE(object.property("foo").strictlyEquals(num), true); + + // kill the setter + object.setProperty("foo", QScriptValue(), QScriptValue::PropertySetter); + QTest::ignoreMessage(QtWarningMsg, "QScriptValue::setProperty() failed: property 'foo' has a getter but no setter"); + object.setProperty("foo", str); + + // getter should still work + QCOMPARE(object.property("foo").strictlyEquals(num), true); + + // kill the getter too + object.setProperty("foo", QScriptValue(), QScriptValue::PropertyGetter); + // now foo is just a regular property + object.setProperty("foo", str); + QCOMPARE(object.property("x").strictlyEquals(num), true); + QCOMPARE(object.property("foo").strictlyEquals(str), true); + } + + // use a single function as both getter and setter + object.setProperty("foo", QScriptValue()); + object.setProperty("foo", eng.newFunction(getterSetter), + QScriptValue::PropertyGetter | QScriptValue::PropertySetter); + QCOMPARE(object.propertyFlags("foo"), + QScriptValue::PropertyGetter | QScriptValue::PropertySetter); + object.setProperty("x", num); + QCOMPARE(object.property("foo").strictlyEquals(num), true); + + // killing the getter will preserve the setter, even though they are the same function + object.setProperty("foo", QScriptValue(), QScriptValue::PropertyGetter); + QVERIFY(object.propertyFlags("foo") & QScriptValue::PropertySetter); + QCOMPARE(object.property("foo").isUndefined(), true); +} + +void tst_QScriptValue::getSetProperty_gettersAndSettersThrowError() +{ + // getter/setter that throws an error + QScriptEngine eng; + QScriptValue str = QScriptValue(&eng, "bar"); + QScriptValue object = eng.newObject(); - // attempt to install getter+setter on built-in (native) property - { - QScriptValue object6 = eng.newObject(); - QVERIFY(object6.property("__proto__").strictlyEquals(object6.prototype())); - - QScriptValue fun = eng.newFunction(getSet__proto__); - fun.setProperty("value", QScriptValue(&eng, "boo")); - QTest::ignoreMessage(QtWarningMsg, "QScriptValue::setProperty() failed: " - "cannot set getter or setter of native property " - "`__proto__'"); - object6.setProperty("__proto__", fun, - QScriptValue::PropertyGetter | QScriptValue::PropertySetter - | QScriptValue::UserRange); - QVERIFY(object6.property("__proto__").strictlyEquals(object6.prototype())); - - object6.setProperty("__proto__", QScriptValue(), - QScriptValue::PropertyGetter | QScriptValue::PropertySetter); - QVERIFY(object6.property("__proto__").strictlyEquals(object6.prototype())); - } + object.setProperty("foo", eng.newFunction(getterSetterThrowingError), + QScriptValue::PropertyGetter | QScriptValue::PropertySetter); + QVERIFY(!eng.hasUncaughtException()); + QScriptValue ret = object.property("foo"); + QVERIFY(ret.isError()); + QVERIFY(eng.hasUncaughtException()); + QVERIFY(ret.strictlyEquals(eng.uncaughtException())); + eng.evaluate("Object"); // clear exception state... + QVERIFY(!eng.hasUncaughtException()); + object.setProperty("foo", str); + QVERIFY(eng.hasUncaughtException()); + QCOMPARE(eng.uncaughtException().toString(), QLatin1String("Error: set foo")); +} - // global property that's a getter+setter - { - eng.globalObject().setProperty("globalGetterSetterProperty", eng.newFunction(getterSetter), - QScriptValue::PropertyGetter | QScriptValue::PropertySetter); - eng.evaluate("globalGetterSetterProperty = 123"); - { - QScriptValue ret = eng.evaluate("globalGetterSetterProperty"); - QVERIFY(ret.isNumber()); - QVERIFY(ret.strictlyEquals(QScriptValue(&eng, 123))); - } - QCOMPARE(eng.evaluate("typeof globalGetterSetterProperty").toString(), - QString::fromLatin1("number")); - { - QScriptValue ret = eng.evaluate("this.globalGetterSetterProperty()"); - QVERIFY(ret.isError()); - QCOMPARE(ret.toString(), QString::fromLatin1("TypeError: Result of expression 'this.globalGetterSetterProperty' [123] is not a function.")); - } - { - QScriptValue ret = eng.evaluate("new this.globalGetterSetterProperty()"); - QVERIFY(ret.isError()); - QCOMPARE(ret.toString(), QString::fromLatin1("TypeError: Result of expression 'this.globalGetterSetterProperty' [123] is not a constructor.")); - } - } +void tst_QScriptValue::getSetProperty_gettersAndSettersOnNative() +{ + // attempt to install getter+setter on built-in (native) property + QScriptEngine eng; + QScriptValue object = eng.newObject(); + QVERIFY(object.property("__proto__").strictlyEquals(object.prototype())); - // "upgrading" an existing property to become a getter+setter - { - QScriptValue object7 = eng.newObject(); - QScriptValue num(&eng, 123); - object7.setProperty("foo", num); - object7.setProperty("foo", eng.newFunction(getterSetter), - QScriptValue::PropertyGetter | QScriptValue::PropertySetter); - QVERIFY(!object7.property("x").isValid()); - object7.setProperty("foo", num); - QVERIFY(object7.property("x").equals(num)); - } + QScriptValue fun = eng.newFunction(getSet__proto__); + fun.setProperty("value", QScriptValue(&eng, "boo")); + QTest::ignoreMessage(QtWarningMsg, "QScriptValue::setProperty() failed: " + "cannot set getter or setter of native property " + "`__proto__'"); + object.setProperty("__proto__", fun, + QScriptValue::PropertyGetter | QScriptValue::PropertySetter + | QScriptValue::UserRange); + QVERIFY(object.property("__proto__").strictlyEquals(object.prototype())); + + object.setProperty("__proto__", QScriptValue(), + QScriptValue::PropertyGetter | QScriptValue::PropertySetter); + QVERIFY(object.property("__proto__").strictlyEquals(object.prototype())); +} + +void tst_QScriptValue::getSetProperty_gettersAndSettersOnGlobalObject() +{ + // global property that's a getter+setter + QScriptEngine eng; + eng.globalObject().setProperty("globalGetterSetterProperty", eng.newFunction(getterSetter), + QScriptValue::PropertyGetter | QScriptValue::PropertySetter); + eng.evaluate("globalGetterSetterProperty = 123"); + { + QScriptValue ret = eng.evaluate("globalGetterSetterProperty"); + QVERIFY(ret.isNumber()); + QVERIFY(ret.strictlyEquals(QScriptValue(&eng, 123))); + } + QCOMPARE(eng.evaluate("typeof globalGetterSetterProperty").toString(), + QString::fromLatin1("number")); + { + QScriptValue ret = eng.evaluate("this.globalGetterSetterProperty()"); + QVERIFY(ret.isError()); + QCOMPARE(ret.toString(), QString::fromLatin1("TypeError: Result of expression 'this.globalGetterSetterProperty' [123] is not a function.")); + } + { + QScriptValue ret = eng.evaluate("new this.globalGetterSetterProperty()"); + QVERIFY(ret.isError()); + QCOMPARE(ret.toString(), QString::fromLatin1("TypeError: Result of expression 'this.globalGetterSetterProperty' [123] is not a constructor.")); } +} + +void tst_QScriptValue::getSetProperty_gettersAndSettersChange() +{ + // "upgrading" an existing property to become a getter+setter + QScriptEngine eng; + QScriptValue object = eng.newObject(); + QScriptValue num(&eng, 123); + object.setProperty("foo", num); + object.setProperty("foo", eng.newFunction(getterSetter), + QScriptValue::PropertyGetter | QScriptValue::PropertySetter); + QVERIFY(!object.property("x").isValid()); + object.setProperty("foo", num); + QVERIFY(object.property("x").equals(num)); +} + +void tst_QScriptValue::getSetProperty_array() +{ + QScriptEngine eng; + QScriptValue str = QScriptValue(&eng, "bar"); + QScriptValue num = QScriptValue(&eng, 123.0); + QScriptValue array = eng.newArray(); + + QVERIFY(array.isArray()); + array.setProperty(0, num); + QCOMPARE(array.property(0).toNumber(), num.toNumber()); + QCOMPARE(array.property("0").toNumber(), num.toNumber()); + QCOMPARE(array.property("length").toUInt32(), quint32(1)); + array.setProperty(1, str); + QCOMPARE(array.property(1).toString(), str.toString()); + QCOMPARE(array.property("1").toString(), str.toString()); + QCOMPARE(array.property("length").toUInt32(), quint32(2)); + array.setProperty("length", QScriptValue(&eng, 1)); + QCOMPARE(array.property("length").toUInt32(), quint32(1)); + QCOMPARE(array.property(1).isValid(), false); +} + +void tst_QScriptValue::getSetProperty() +{ + QScriptEngine eng; + + QScriptValue object = eng.newObject(); + + QScriptValue str = QScriptValue(&eng, "bar"); + object.setProperty("foo", str); + QCOMPARE(object.property("foo").toString(), str.toString()); + + QScriptValue num = QScriptValue(&eng, 123.0); + object.setProperty("baz", num); + QCOMPARE(object.property("baz").toNumber(), num.toNumber()); + + QScriptValue strstr = QScriptValue("bar"); + QCOMPARE(strstr.engine(), (QScriptEngine *)0); + object.setProperty("foo", strstr); + QCOMPARE(object.property("foo").toString(), strstr.toString()); + QCOMPARE(strstr.engine(), &eng); // the value has been bound to the engine + + QScriptValue numnum = QScriptValue(123.0); + object.setProperty("baz", numnum); + QCOMPARE(object.property("baz").toNumber(), numnum.toNumber()); + + QScriptValue inv; + inv.setProperty("foo", num); + QCOMPARE(inv.property("foo").isValid(), false); eng.globalObject().setProperty("object", object); diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.h b/tests/auto/qscriptvalue/tst_qscriptvalue.h index a431f0b..1e4bb6b 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.h +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.h @@ -111,6 +111,17 @@ private slots: void getSetPrototype(); void getSetScope(); + void getSetProperty_HooliganTask162051(); + void getSetProperty_HooliganTask183072(); + void getSetProperty_propertyRemoval(); + void getSetProperty_resolveMode(); + void getSetProperty_twoEngines(); + void getSetProperty_gettersAndSetters(); + void getSetProperty_gettersAndSettersThrowError(); + void getSetProperty_gettersAndSettersOnNative(); + void getSetProperty_gettersAndSettersOnGlobalObject(); + void getSetProperty_gettersAndSettersChange(); + void getSetProperty_array(); void getSetProperty(); void arrayElementGetterSetter(); void getSetData_objects_data(); -- cgit v0.12 From 583e7b9bbbd0a35a40dd1f1d8b415db40601722f Mon Sep 17 00:00:00 2001 From: Jedrzej Nowacki Date: Fri, 29 Oct 2010 17:03:48 +0200 Subject: Refactor tst_QScriptValue::getSetPrototype The test was divided into separate cases, it should reduce maintenance costs. Reviewed-by: Kent Hansen --- tests/auto/qscriptvalue/tst_qscriptvalue.cpp | 88 ++++++++++++++++++---------- tests/auto/qscriptvalue/tst_qscriptvalue.h | 5 ++ 2 files changed, 63 insertions(+), 30 deletions(-) diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp index 112d768..5de0116 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp @@ -2262,50 +2262,78 @@ void tst_QScriptValue::arrayElementGetterSetter() QVERIFY(obj.propertyFlags("1") == 0); } -void tst_QScriptValue::getSetPrototype() +void tst_QScriptValue::getSetPrototype_cyclicPrototype() { QScriptEngine eng; - + QScriptValue prototype = eng.newObject(); QScriptValue object = eng.newObject(); + object.setPrototype(prototype); - QScriptValue object2 = eng.newObject(); - object2.setPrototype(object); + QScriptValue previousPrototype = prototype.prototype(); + QTest::ignoreMessage(QtWarningMsg, "QScriptValue::setPrototype() failed: cyclic prototype value"); + prototype.setPrototype(prototype); + QCOMPARE(prototype.prototype().strictlyEquals(previousPrototype), true); + + object.setPrototype(prototype); + QTest::ignoreMessage(QtWarningMsg, "QScriptValue::setPrototype() failed: cyclic prototype value"); + prototype.setPrototype(object); + QCOMPARE(prototype.prototype().strictlyEquals(previousPrototype), true); + +} + +void tst_QScriptValue::getSetPrototype_evalCyclicPrototype() +{ + QScriptEngine eng; + QScriptValue ret = eng.evaluate("o = { }; p = { }; o.__proto__ = p; p.__proto__ = o"); + QCOMPARE(eng.hasUncaughtException(), true); + QVERIFY(ret.strictlyEquals(eng.uncaughtException())); + QCOMPARE(ret.isError(), true); + QCOMPARE(ret.toString(), QLatin1String("Error: cyclic __proto__ value")); +} - QCOMPARE(object2.prototype().strictlyEquals(object), true); +void tst_QScriptValue::getSetPrototype_eval() +{ + QScriptEngine eng; + QScriptValue ret = eng.evaluate("p = { }; p.__proto__ = { }"); + QCOMPARE(eng.hasUncaughtException(), false); + QCOMPARE(ret.isError(), false); +} +void tst_QScriptValue::getSetPrototype_invalidPrototype() +{ + QScriptEngine eng; QScriptValue inv; + QScriptValue object = eng.newObject(); + QScriptValue proto = object.prototype(); + QVERIFY(object.prototype().strictlyEquals(proto)); inv.setPrototype(object); QCOMPARE(inv.prototype().isValid(), false); + object.setPrototype(inv); + // FIXME should it be invalid or proto? + QVERIFY(object.prototype().strictlyEquals(inv)); +} +void tst_QScriptValue::getSetPrototype_twoEngines() +{ + QScriptEngine eng; + QScriptValue prototype = eng.newObject(); + QScriptValue object = eng.newObject(); + object.setPrototype(prototype); QScriptEngine otherEngine; - QScriptValue object3 = otherEngine.newObject(); + QScriptValue newPrototype = otherEngine.newObject(); QTest::ignoreMessage(QtWarningMsg, "QScriptValue::setPrototype() failed: cannot set a prototype created in a different engine"); - object2.setPrototype(object3); - QCOMPARE(object2.prototype().strictlyEquals(object), true); - - // cyclic prototypes - QScriptValue old = object.prototype(); - QTest::ignoreMessage(QtWarningMsg, "QScriptValue::setPrototype() failed: cyclic prototype value"); - object.setPrototype(object); - QCOMPARE(object.prototype().strictlyEquals(old), true); + object.setPrototype(newPrototype); + QCOMPARE(object.prototype().strictlyEquals(prototype), true); - object2.setPrototype(object); - QTest::ignoreMessage(QtWarningMsg, "QScriptValue::setPrototype() failed: cyclic prototype value"); - object.setPrototype(object2); - QCOMPARE(object.prototype().strictlyEquals(old), true); +} - { - QScriptValue ret = eng.evaluate("o = { }; p = { }; o.__proto__ = p; p.__proto__ = o"); - QCOMPARE(eng.hasUncaughtException(), true); - QVERIFY(ret.strictlyEquals(eng.uncaughtException())); - QCOMPARE(ret.isError(), true); - QCOMPARE(ret.toString(), QLatin1String("Error: cyclic __proto__ value")); - } - { - QScriptValue ret = eng.evaluate("p.__proto__ = { }"); - QCOMPARE(eng.hasUncaughtException(), false); - QCOMPARE(ret.isError(), false); - } +void tst_QScriptValue::getSetPrototype() +{ + QScriptEngine eng; + QScriptValue prototype = eng.newObject(); + QScriptValue object = eng.newObject(); + object.setPrototype(prototype); + QCOMPARE(object.prototype().strictlyEquals(prototype), true); } void tst_QScriptValue::getSetScope() diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.h b/tests/auto/qscriptvalue/tst_qscriptvalue.h index 1e4bb6b..782fb67 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.h +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.h @@ -109,6 +109,11 @@ private slots: void equals(); void strictlyEquals(); + void getSetPrototype_cyclicPrototype(); + void getSetPrototype_evalCyclicPrototype(); + void getSetPrototype_eval(); + void getSetPrototype_invalidPrototype(); + void getSetPrototype_twoEngines(); void getSetPrototype(); void getSetScope(); void getSetProperty_HooliganTask162051(); -- cgit v0.12 From c7221d3ce40f07ce702d732b72978de315b6b194 Mon Sep 17 00:00:00 2001 From: Jedrzej Nowacki Date: Fri, 29 Oct 2010 17:10:54 +0200 Subject: Refactor tst_QScriptValue::instanceOf The test was divided into two separate cases, it should reduce maintenance costs. Reviewed-by: Kent Hansen --- tests/auto/qscriptvalue/tst_qscriptvalue.cpp | 13 +++++++++---- tests/auto/qscriptvalue/tst_qscriptvalue.h | 1 + 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp index 5de0116..c7f496b 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp @@ -1599,6 +1599,15 @@ void tst_QScriptValue::toRegExp() QVERIFY(eng.undefinedValue().toRegExp().isEmpty()); } +void tst_QScriptValue::instanceOf_twoEngines() +{ + QScriptEngine eng; + QScriptValue obj = eng.newObject(); + QScriptEngine otherEngine; + QTest::ignoreMessage(QtWarningMsg, "QScriptValue::instanceof: cannot perform operation on a value created in a different engine"); + QCOMPARE(obj.instanceOf(otherEngine.globalObject().property("Object")), false); +} + void tst_QScriptValue::instanceOf() { QScriptEngine eng; @@ -1629,10 +1638,6 @@ void tst_QScriptValue::instanceOf() QCOMPARE(arr.instanceOf(eng.evaluate("QObject")), false); QCOMPARE(QScriptValue().instanceOf(arr), false); - - QScriptEngine otherEngine; - QTest::ignoreMessage(QtWarningMsg, "QScriptValue::instanceof: cannot perform operation on a value created in a different engine"); - QCOMPARE(obj.instanceOf(otherEngine.globalObject().property("Object")), false); } void tst_QScriptValue::isArray_data() diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.h b/tests/auto/qscriptvalue/tst_qscriptvalue.h index 782fb67..977b3a5 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.h +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.h @@ -94,6 +94,7 @@ private slots: void toQObject(); void toDateTime(); void toRegExp(); + void instanceOf_twoEngines(); void instanceOf(); void isArray_data(); void isArray(); -- cgit v0.12 From fdcb3fe188cca00b1d7f1eae82304d8cca549996 Mon Sep 17 00:00:00 2001 From: Robert Hogan Date: Mon, 1 Nov 2010 12:44:47 +0100 Subject: QNAM: Do not cache network connections per username. If user information is present in the Url, QNetworkAccessHttpBackend will cache the connection with a key in the format of user@hostname. This causes the following tests in QtWebKit to fail: LayoutTests/http/tests/xmlhttprequest/re-login.html LayoutTests/http/tests/xmlhttprequest/re-login-async.html The tests call the same url with user1 credentials, no credentials, user 2 credentials and no credentials. In the second and fourth calls Qt should use the most recently stored credentials. For the fourth call it currently uses user1's credentials instead of user2's. This is because it retrieves the cached connection from the third call and uses the user/pass in that connection's authenticator - which is user1's. In order to retrieve the connection with the most recently used credentials userinfo should be removed when caching the connection in QNetworkAccessCache. This will allow Qt to retrieve the connection used in the third call, in fact the same cached connection for all four calls. Merge-request: 623 Reviewed-by: Markus Goetz --- src/network/access/qnetworkaccesshttpbackend.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/network/access/qnetworkaccesshttpbackend.cpp b/src/network/access/qnetworkaccesshttpbackend.cpp index afbb706..c02f30e2 100644 --- a/src/network/access/qnetworkaccesshttpbackend.cpp +++ b/src/network/access/qnetworkaccesshttpbackend.cpp @@ -71,7 +71,7 @@ static QByteArray makeCacheKey(QNetworkAccessHttpBackend *backend, QNetworkProxy QUrl copy = backend->url(); bool isEncrypted = copy.scheme().toLower() == QLatin1String("https"); copy.setPort(copy.port(isEncrypted ? DefaultHttpsPort : DefaultHttpPort)); - result = copy.toEncoded(QUrl::RemovePassword | QUrl::RemovePath | + result = copy.toEncoded(QUrl::RemoveUserInfo | QUrl::RemovePath | QUrl::RemoveQuery | QUrl::RemoveFragment); #ifndef QT_NO_NETWORKPROXY -- cgit v0.12 From 809b4064580711b799314b42d38bc793f461cb83 Mon Sep 17 00:00:00 2001 From: Robert Hogan Date: Mon, 1 Nov 2010 14:01:22 +0100 Subject: QNAM HTTP: Do not set cache headers when already set by user Qt clobbers the cache-control headers set by WebCore when CacheLoadControlAttribute == QNetworkRequest::AlwaysNetwork. This causes at least one QtWebKit layout test to fail: http/tests/misc/refresh-headers.php Qt needs to detect if the client has already made a cache-control decision in the headers before overwriting them. See https://bugs.webkit.org/show_bug.cgi?id=45598 Task-Number: QTBUG-13564 Merge-request: 2472 Reviewed-by: Markus Goetz --- src/network/access/qnetworkaccesshttpbackend.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/network/access/qnetworkaccesshttpbackend.cpp b/src/network/access/qnetworkaccesshttpbackend.cpp index c02f30e2..0ae2192 100644 --- a/src/network/access/qnetworkaccesshttpbackend.cpp +++ b/src/network/access/qnetworkaccesshttpbackend.cpp @@ -349,10 +349,12 @@ void QNetworkAccessHttpBackend::validateCache(QHttpNetworkRequest &httpRequest, QNetworkRequest::CacheLoadControl CacheLoadControlAttribute = (QNetworkRequest::CacheLoadControl)request().attribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferNetwork).toInt(); if (CacheLoadControlAttribute == QNetworkRequest::AlwaysNetwork) { - // forced reload from the network - // tell any caching proxy servers to reload too - httpRequest.setHeaderField("Cache-Control", "no-cache"); - httpRequest.setHeaderField("Pragma", "no-cache"); + // If the request does not already specify preferred cache-control + // force reload from the network and tell any caching proxy servers to reload too + if (!request().rawHeaderList().contains("Cache-Control")) { + httpRequest.setHeaderField("Cache-Control", "no-cache"); + httpRequest.setHeaderField("Pragma", "no-cache"); + } return; } -- cgit v0.12 From c393b03630f3b41698b9a375de65ee15e9578aa5 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Mon, 1 Nov 2010 13:53:29 +0100 Subject: Add more microbenchmarks for QScriptEngine Reviewed-by: Jedrzej Nowacki --- .../script/qscriptengine/tst_qscriptengine.cpp | 314 ++++++++++++++++++--- 1 file changed, 275 insertions(+), 39 deletions(-) diff --git a/tests/benchmarks/script/qscriptengine/tst_qscriptengine.cpp b/tests/benchmarks/script/qscriptengine/tst_qscriptengine.cpp index 4610046..6cf6fb3 100644 --- a/tests/benchmarks/script/qscriptengine/tst_qscriptengine.cpp +++ b/tests/benchmarks/script/qscriptengine/tst_qscriptengine.cpp @@ -44,6 +44,8 @@ #include +Q_DECLARE_METATYPE(QScriptValue) + //TESTED_FILES= class tst_QScriptEngine : public QObject @@ -60,32 +62,65 @@ public slots: private slots: void constructor(); + void defaultPrototype(); + void setDefaultPrototype(); void evaluate_data(); void evaluate(); void evaluateProgram_data(); void evaluateProgram(); void connectAndDisconnect(); + void globalObject(); + void hasUncaughtException(); + void isEvaluating(); + void newArray_data(); + void newArray(); + void newDate(); + void newDateFromMs(); void newObject(); + void newObjectWithScriptClass(); + void newQMetaObject(); void newQObject(); void newFunction(); + void newRegExp(); + void newRegExpFromString(); void newVariant(); + void nullValue(); + void undefinedValue(); void collectGarbage(); + void currentContext(); void pushAndPopContext(); + void availableExtensions(); + void importedExtensions(); + void toObject_data(); + void toObject(); void toStringHandle(); void castValueToQreal(); void nativeCall(); + void installTranslatorFunctions(); void translation_data(); void translation(); void readScopeProperty_data(); void readScopeProperty(); + +private: + void defineStandardTestValues(); + void newEngine() + { + delete m_engine; + m_engine = new QScriptEngine; + } + + QScriptEngine *m_engine; }; tst_QScriptEngine::tst_QScriptEngine() + : m_engine(0) { } tst_QScriptEngine::~tst_QScriptEngine() { + delete m_engine; } void tst_QScriptEngine::init() @@ -104,6 +139,26 @@ void tst_QScriptEngine::constructor() } } +void tst_QScriptEngine::defaultPrototype() +{ + newEngine(); + int type = qMetaTypeId(); + m_engine->setDefaultPrototype(type, m_engine->newObject()); + QBENCHMARK { + m_engine->defaultPrototype(type); + } +} + +void tst_QScriptEngine::setDefaultPrototype() +{ + newEngine(); + int type = qMetaTypeId(); + QScriptValue proto = m_engine->newObject(); + QBENCHMARK { + m_engine->setDefaultPrototype(type, proto); + } +} + void tst_QScriptEngine::evaluate_data() { QTest::addColumn("code"); @@ -144,20 +199,20 @@ void tst_QScriptEngine::evaluate_data() void tst_QScriptEngine::evaluate() { QFETCH(QString, code); - QScriptEngine engine; + newEngine(); QBENCHMARK { - (void)engine.evaluate(code); + (void)m_engine->evaluate(code); } } void tst_QScriptEngine::connectAndDisconnect() { - QScriptEngine engine; - QScriptValue fun = engine.evaluate("(function() { })"); + newEngine(); + QScriptValue fun = m_engine->evaluate("(function() { })"); QBENCHMARK { - qScriptConnect(&engine, SIGNAL(destroyed()), QScriptValue(), fun); - qScriptDisconnect(&engine, SIGNAL(destroyed()), QScriptValue(), fun); + qScriptConnect(m_engine, SIGNAL(destroyed()), QScriptValue(), fun); + qScriptDisconnect(m_engine, SIGNAL(destroyed()), QScriptValue(), fun); } } @@ -169,27 +224,105 @@ void tst_QScriptEngine::evaluateProgram_data() void tst_QScriptEngine::evaluateProgram() { QFETCH(QString, code); - QScriptEngine engine; QScriptProgram program(code); + newEngine(); QBENCHMARK { - (void)engine.evaluate(program); + (void)m_engine->evaluate(program); + } +} + +void tst_QScriptEngine::globalObject() +{ + newEngine(); + QBENCHMARK { + m_engine->globalObject(); + } +} + +void tst_QScriptEngine::hasUncaughtException() +{ + newEngine(); + QBENCHMARK { + m_engine->hasUncaughtException(); + } +} + +void tst_QScriptEngine::isEvaluating() +{ + newEngine(); + QBENCHMARK { + m_engine->isEvaluating(); + } +} + +void tst_QScriptEngine::newArray_data() +{ + QTest::addColumn("size"); + QTest::newRow("size=0") << 0; + QTest::newRow("size=10") << 10; + QTest::newRow("size=100") << 0; + QTest::newRow("size=1000") << 0; + QTest::newRow("size=10000") << 0; + QTest::newRow("size=50000") << 0; +} + +void tst_QScriptEngine::newArray() +{ + QFETCH(int, size); + newEngine(); + QBENCHMARK { + m_engine->newArray(size); + } +} + +void tst_QScriptEngine::newDate() +{ + newEngine(); + QDateTime dt = QDateTime::currentDateTime(); + QBENCHMARK { + m_engine->newDate(dt); + } +} + +void tst_QScriptEngine::newDateFromMs() +{ + newEngine(); + QBENCHMARK { + m_engine->newDate(0); } } void tst_QScriptEngine::newObject() { - QScriptEngine engine; + newEngine(); QBENCHMARK { - (void)engine.newObject(); + (void)m_engine->newObject(); + } +} + +void tst_QScriptEngine::newObjectWithScriptClass() +{ + newEngine(); + QScriptClass cls(m_engine); + QBENCHMARK { + m_engine->newObject(&cls); + } +} + +void tst_QScriptEngine::newQMetaObject() +{ + newEngine(); + QBENCHMARK { + m_engine->newQMetaObject(&QScriptEngine::staticMetaObject); } } void tst_QScriptEngine::newQObject() { - QScriptEngine engine; + newEngine(); QBENCHMARK { - (void)engine.newQObject(QCoreApplication::instance()); + (void)m_engine->newQObject(QCoreApplication::instance()); } } @@ -200,50 +333,145 @@ static QScriptValue testFunction(QScriptContext *, QScriptEngine *) void tst_QScriptEngine::newFunction() { - QScriptEngine engine; + newEngine(); + QBENCHMARK { + (void)m_engine->newFunction(testFunction); + } +} + +void tst_QScriptEngine::newRegExp() +{ + newEngine(); + QRegExp re = QRegExp("foo"); + QBENCHMARK { + m_engine->newRegExp(re); + } +} + +void tst_QScriptEngine::newRegExpFromString() +{ + newEngine(); + QString pattern("foo"); + QString flags("gim"); QBENCHMARK { - (void)engine.newFunction(testFunction); + m_engine->newRegExp(pattern, flags); } } void tst_QScriptEngine::newVariant() { - QScriptEngine engine; + newEngine(); QVariant var(123); QBENCHMARK { - (void)engine.newVariant(var); + (void)m_engine->newVariant(var); + } +} + +void tst_QScriptEngine::nullValue() +{ + newEngine(); + QBENCHMARK { + m_engine->nullValue(); + } +} + +void tst_QScriptEngine::undefinedValue() +{ + newEngine(); + QBENCHMARK { + m_engine->undefinedValue(); } } void tst_QScriptEngine::collectGarbage() { - QScriptEngine engine; + newEngine(); + QBENCHMARK { + m_engine->collectGarbage(); + } +} + +void tst_QScriptEngine::availableExtensions() +{ + newEngine(); + QBENCHMARK { + m_engine->availableExtensions(); + } +} + +void tst_QScriptEngine::importedExtensions() +{ + newEngine(); + QBENCHMARK { + m_engine->importedExtensions(); + } +} + +void tst_QScriptEngine::currentContext() +{ + newEngine(); QBENCHMARK { - engine.collectGarbage(); + m_engine->currentContext(); } } void tst_QScriptEngine::pushAndPopContext() { - QScriptEngine engine; + newEngine(); QBENCHMARK { - (void)engine.pushContext(); - engine.popContext(); + (void)m_engine->pushContext(); + m_engine->popContext(); + } +} + +void tst_QScriptEngine::toObject_data() +{ + newEngine(); + QTest::addColumn("val"); + QTest::newRow("bool") << m_engine->evaluate("true"); + QTest::newRow("number") << m_engine->evaluate("123"); + QTest::newRow("string") << m_engine->evaluate("'ciao'"); + QTest::newRow("null") << m_engine->evaluate("null"); + QTest::newRow("undefined") << m_engine->evaluate("undefined"); + QTest::newRow("object") << m_engine->evaluate("({foo:123})"); + QTest::newRow("array") << m_engine->evaluate("[10,20,30]"); + QTest::newRow("function") << m_engine->evaluate("(function foo(a, b, c) { return a + b + c; })"); + QTest::newRow("date") << m_engine->evaluate("new Date"); + QTest::newRow("regexp") << m_engine->evaluate("new RegExp('foo')"); + QTest::newRow("error") << m_engine->evaluate("new Error"); + + QTest::newRow("qobject") << m_engine->newQObject(this); + QTest::newRow("qmetaobject") << m_engine->newQMetaObject(&QScriptEngine::staticMetaObject); + QTest::newRow("variant") << m_engine->newVariant(123); + QTest::newRow("qscriptclassobject") << m_engine->newObject(new QScriptClass(m_engine)); + + QTest::newRow("invalid") << QScriptValue(); + QTest::newRow("bool-no-engine") << QScriptValue(true); + QTest::newRow("number-no-engine") << QScriptValue(123.0); + QTest::newRow("string-no-engine") << QScriptValue(QString::fromLatin1("hello")); + QTest::newRow("null-no-engine") << QScriptValue(QScriptValue::NullValue); + QTest::newRow("undefined-no-engine") << QScriptValue(QScriptValue::UndefinedValue); +} + +void tst_QScriptEngine::toObject() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + m_engine->toObject(val); } } void tst_QScriptEngine::toStringHandle() { - QScriptEngine engine; + newEngine(); QString str = QString::fromLatin1("foobarbaz"); QBENCHMARK { - (void)engine.toStringHandle(str); + (void)m_engine->toStringHandle(str); } } void tst_QScriptEngine::castValueToQreal() { - QScriptEngine engine; QScriptValue val(123); QBENCHMARK { (void)qscriptvalue_cast(val); @@ -257,19 +485,27 @@ static QScriptValue native_function(QScriptContext *, QScriptEngine *) void tst_QScriptEngine::nativeCall() { - QScriptEngine eng; - eng.globalObject().setProperty("fun", eng.newFunction(native_function)); + newEngine(); + m_engine->globalObject().setProperty("fun", m_engine->newFunction(native_function)); QBENCHMARK{ #if !defined(Q_OS_SYMBIAN) - eng.evaluate("var w = 0; for (i = 0; i < 100000; ++i) {\n" + m_engine->evaluate("var w = 0; for (i = 0; i < 100000; ++i) {\n" " w += fun() + fun(); w -= fun(); fun(); w -= fun(); }"); #else - eng.evaluate("var w = 0; for (i = 0; i < 25000; ++i) {\n" + m_engine->evaluate("var w = 0; for (i = 0; i < 25000; ++i) {\n" " w += fun() + fun(); w -= fun(); fun(); w -= fun(); }"); #endif } } +void tst_QScriptEngine::installTranslatorFunctions() +{ + newEngine(); + QBENCHMARK { + m_engine->installTranslatorFunctions(); + } +} + void tst_QScriptEngine::translation_data() { QTest::addColumn("text"); @@ -284,11 +520,11 @@ void tst_QScriptEngine::translation() { QFETCH(QString, text); QFETCH(QString, fileName); - QScriptEngine engine; - engine.installTranslatorFunctions(); + newEngine(); + m_engine->installTranslatorFunctions(); QBENCHMARK { - (void)engine.evaluate(text, fileName); + (void)m_engine->evaluate(text, fileName); } } @@ -307,33 +543,33 @@ void tst_QScriptEngine::readScopeProperty() QFETCH(bool, staticScope); QFETCH(bool, nestedScope); - QScriptEngine engine; - QScriptContext *ctx = engine.pushContext(); + newEngine(); + QScriptContext *ctx = m_engine->pushContext(); QScriptValue scope; if (staticScope) - scope = QScriptDeclarativeClass::newStaticScopeObject(&engine); + scope = QScriptDeclarativeClass::newStaticScopeObject(m_engine); else - scope = engine.newObject(); + scope = m_engine->newObject(); scope.setProperty("foo", 123); ctx->pushScope(scope); if (nestedScope) { QScriptValue scope2; if (staticScope) - scope2 = QScriptDeclarativeClass::newStaticScopeObject(&engine); + scope2 = QScriptDeclarativeClass::newStaticScopeObject(m_engine); else - scope2 = engine.newObject(); + scope2 = m_engine->newObject(); scope2.setProperty("bar", 456); // ensure a miss in inner scope ctx->pushScope(scope2); } - QScriptValue fun = engine.evaluate("(function() {\n" + QScriptValue fun = m_engine->evaluate("(function() {\n" " for (var i = 0; i < 10000; ++i) {\n" " foo; foo; foo; foo; foo; foo; foo; foo;\n" " }\n" "})"); - engine.popContext(); + m_engine->popContext(); QVERIFY(fun.isFunction()); QBENCHMARK { fun.call(); -- cgit v0.12 From 34f546c0e9f36fc908e6432f069281414cda59f8 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Mon, 1 Nov 2010 13:53:50 +0100 Subject: Add more microbenchmarks for QScriptValue Reviewed-by: Jedrzej Nowacki --- .../script/qscriptvalue/tst_qscriptvalue.cpp | 862 ++++++++++++++++++++- 1 file changed, 827 insertions(+), 35 deletions(-) diff --git a/tests/benchmarks/script/qscriptvalue/tst_qscriptvalue.cpp b/tests/benchmarks/script/qscriptvalue/tst_qscriptvalue.cpp index d7bb04b..d90edbc 100644 --- a/tests/benchmarks/script/qscriptvalue/tst_qscriptvalue.cpp +++ b/tests/benchmarks/script/qscriptvalue/tst_qscriptvalue.cpp @@ -42,6 +42,8 @@ #include #include +Q_DECLARE_METATYPE(QScriptValue) + //TESTED_FILES= class tst_QScriptValue : public QObject @@ -57,28 +59,133 @@ public slots: void cleanup(); private slots: + void boolConstructor(); + void floatConstructor(); void numberConstructor(); void stringConstructor(); + void nullConstructor(); + void undefinedConstructor(); + void boolConstructorWithEngine(); + void floatConstructorWithEngine(); + void intConstructorWithEngine(); + void stringConstructorWithEngine(); + void nullConstructorWithEngine(); + void undefinedConstructorWithEngine(); + void copyConstructor_data(); + void copyConstructor(); void call_data(); void call(); void construct_data(); void construct(); + void data(); + void setData(); + void data_noData_data(); + void data_noData(); + void engine_data(); + void engine(); + void equalsSelf_data(); + void equalsSelf(); + void lessThanSelf_data(); + void lessThanSelf(); + void strictlyEqualsSelf_data(); + void strictlyEqualsSelf(); + void instanceOf(); + void isArray_data(); + void isArray(); + void isBool_data(); + void isBool(); + void isDate_data(); + void isDate(); + void isError_data(); + void isError(); + void isFunction_data(); + void isFunction(); + void isNull_data(); + void isNull(); + void isNumber_data(); + void isNumber(); + void isObject_data(); + void isObject(); + void isQMetaObject_data(); + void isQMetaObject(); + void isQObject_data(); + void isQObject(); + void isRegExp_data(); + void isRegExp(); + void isString_data(); + void isString(); + void isUndefined_data(); + void isUndefined(); + void isValid_data(); + void isValid(); + void isVariant_data(); + void isVariant(); + void toBool_data(); + void toBool(); + void toDateTime_data(); + void toDateTime(); + void toInt32_data(); + void toInt32(); + void toInteger_data(); + void toInteger(); + void toNumber_data(); + void toNumber(); + void toRegExp_data(); + void toRegExp(); void toString_data(); void toString(); + void toUInt16_data(); + void toUInt16(); + void toUInt32_data(); + void toUInt32(); + void toQMetaObject_data(); + void toQMetaObject(); + void toQObject_data(); void toQObject(); + void toVariant_data(); + void toVariant(); + void property_data(); void property(); + void propertyById_data(); + void propertyById(); + void propertyByIndex(); + void setProperty_data(); void setProperty(); + void setPropertyById_data(); + void setPropertyById(); + void setPropertyByIndex(); + void propertyFlags_data(); void propertyFlags(); + void propertyFlagsById_data(); + void propertyFlagsById(); + void prototype_data(); + void prototype(); + void setPrototype(); + void scriptClass_data(); + void scriptClass(); + void setScriptClass(); void readMetaProperty(); void writeMetaProperty(); + +private: + void defineStandardTestValues(); + void newEngine() + { + delete m_engine; + m_engine = new QScriptEngine; + } + + QScriptEngine *m_engine; }; tst_QScriptValue::tst_QScriptValue() + : m_engine(0) { } tst_QScriptValue::~tst_QScriptValue() { + delete m_engine; } void tst_QScriptValue::init() @@ -89,6 +196,20 @@ void tst_QScriptValue::cleanup() { } +void tst_QScriptValue::boolConstructor() +{ + QBENCHMARK { + QScriptValue val(true); + } +} + +void tst_QScriptValue::floatConstructor() +{ + QBENCHMARK { + QScriptValue val(123.0); + } +} + void tst_QScriptValue::numberConstructor() { QBENCHMARK { @@ -104,8 +225,85 @@ void tst_QScriptValue::stringConstructor() } } +void tst_QScriptValue::nullConstructor() +{ + QBENCHMARK { + QScriptValue val(QScriptValue::NullValue); + } +} + +void tst_QScriptValue::undefinedConstructor() +{ + QBENCHMARK { + QScriptValue val(QScriptValue::UndefinedValue); + } +} + +void tst_QScriptValue::boolConstructorWithEngine() +{ + newEngine(); + QBENCHMARK { + QScriptValue val(m_engine, true); + } +} + +void tst_QScriptValue::floatConstructorWithEngine() +{ + newEngine(); + QBENCHMARK { + QScriptValue val(m_engine, 123.0); + } +} + +void tst_QScriptValue::intConstructorWithEngine() +{ + newEngine(); + QBENCHMARK { + (void)QScriptValue(m_engine, 123); + } +} + +void tst_QScriptValue::stringConstructorWithEngine() +{ + newEngine(); + QString str = QString::fromLatin1("ciao"); + QBENCHMARK { + (void)QScriptValue(m_engine, str); + } +} + +void tst_QScriptValue::nullConstructorWithEngine() +{ + newEngine(); + QBENCHMARK { + QScriptValue val(m_engine, QScriptValue::NullValue); + } +} + +void tst_QScriptValue::undefinedConstructorWithEngine() +{ + newEngine(); + QBENCHMARK { + QScriptValue val(m_engine, QScriptValue::UndefinedValue); + } +} + +void tst_QScriptValue::copyConstructor_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::copyConstructor() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + QScriptValue copy(val); + } +} + void tst_QScriptValue::call_data() { + newEngine(); QTest::addColumn("code"); QTest::newRow("empty function") << QString::fromLatin1("(function(){})"); QTest::newRow("function returning number") << QString::fromLatin1("(function(){ return 123; })"); @@ -115,8 +313,7 @@ void tst_QScriptValue::call_data() void tst_QScriptValue::call() { QFETCH(QString, code); - QScriptEngine engine; - QScriptValue fun = engine.evaluate(code); + QScriptValue fun = m_engine->evaluate(code); QVERIFY(fun.isFunction()); QBENCHMARK { (void)fun.call(); @@ -125,6 +322,7 @@ void tst_QScriptValue::call() void tst_QScriptValue::construct_data() { + newEngine(); QTest::addColumn("code"); QTest::newRow("empty function") << QString::fromLatin1("(function(){})"); QTest::newRow("simple constructor") << QString::fromLatin1("(function(){ this.x = 10; this.y = 20; })"); @@ -133,81 +331,646 @@ void tst_QScriptValue::construct_data() void tst_QScriptValue::construct() { QFETCH(QString, code); - QScriptEngine engine; - QScriptValue fun = engine.evaluate(code); + QScriptValue fun = m_engine->evaluate(code); QVERIFY(fun.isFunction()); QBENCHMARK { (void)fun.construct(); } } +void tst_QScriptValue::data() +{ + newEngine(); + QScriptValue obj = m_engine->newObject(); + obj.setData(QScriptValue(m_engine, 123)); + QBENCHMARK { + obj.data(); + } +} + +void tst_QScriptValue::setData() +{ + newEngine(); + QScriptValue obj = m_engine->newObject(); + QScriptValue val(m_engine, 123); + QBENCHMARK { + obj.setData(val); + } +} + +void tst_QScriptValue::data_noData_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::data_noData() +{ + QFETCH(QScriptValue, val); + QVERIFY(!val.data().isValid()); + QBENCHMARK { + val.data(); + } +} + +void tst_QScriptValue::engine_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::engine() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.engine(); + } +} + +void tst_QScriptValue::equalsSelf_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::equalsSelf() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.equals(val); + } +} + +void tst_QScriptValue::lessThanSelf_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::lessThanSelf() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.lessThan(val); + } +} + +void tst_QScriptValue::strictlyEqualsSelf_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::strictlyEqualsSelf() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.strictlyEquals(val); + } +} + +void tst_QScriptValue::instanceOf() +{ + newEngine(); + QScriptValue arrayCtor = m_engine->globalObject().property("Array"); + QScriptValue array = arrayCtor.construct(); + QVERIFY(array.instanceOf(arrayCtor)); + QBENCHMARK { + array.instanceOf(arrayCtor); + } +} + +void tst_QScriptValue::isArray_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::isArray() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.isArray(); + } +} + +void tst_QScriptValue::isBool_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::isBool() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.isBool(); + } +} + +void tst_QScriptValue::isDate_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::isDate() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.isDate(); + } +} + +void tst_QScriptValue::isError_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::isError() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.isError(); + } +} + +void tst_QScriptValue::isFunction_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::isFunction() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.isFunction(); + } +} + +void tst_QScriptValue::isNull_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::isNull() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.isNull(); + } +} + +void tst_QScriptValue::isNumber_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::isNumber() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.isNumber(); + } +} + +void tst_QScriptValue::isObject_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::isObject() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.isObject(); + } +} + +void tst_QScriptValue::isQMetaObject_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::isQMetaObject() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.isQMetaObject(); + } +} + +void tst_QScriptValue::isQObject_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::isQObject() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.isQObject(); + } +} + +void tst_QScriptValue::isRegExp_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::isRegExp() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.isRegExp(); + } +} + +void tst_QScriptValue::isString_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::isString() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.isString(); + } +} + +void tst_QScriptValue::isUndefined_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::isUndefined() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.isUndefined(); + } +} + +void tst_QScriptValue::isValid_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::isValid() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.isValid(); + } +} + +void tst_QScriptValue::isVariant_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::isVariant() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.isVariant(); + } +} + +void tst_QScriptValue::toBool_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::toBool() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.toBool(); + } +} + +void tst_QScriptValue::toDateTime_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::toDateTime() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.toDateTime(); + } +} + +void tst_QScriptValue::toInt32_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::toInt32() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.toInt32(); + } +} + +void tst_QScriptValue::toInteger_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::toInteger() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.toInteger(); + } +} + +void tst_QScriptValue::toNumber_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::toNumber() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.toNumber(); + } +} + +void tst_QScriptValue::toRegExp_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::toRegExp() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.toRegExp(); + } +} + void tst_QScriptValue::toString_data() { - QTest::addColumn("code"); - QTest::newRow("number") << QString::fromLatin1("123"); - QTest::newRow("string") << QString::fromLatin1("'ciao'"); - QTest::newRow("null") << QString::fromLatin1("null"); - QTest::newRow("undefined") << QString::fromLatin1("undefined"); - QTest::newRow("function") << QString::fromLatin1("(function foo(a, b, c) { return a + b + c; })"); + defineStandardTestValues(); } void tst_QScriptValue::toString() { - QFETCH(QString, code); - QScriptEngine engine; - QScriptValue val = engine.evaluate(code); + QFETCH(QScriptValue, val); QBENCHMARK { (void)val.toString(); } } +void tst_QScriptValue::toQMetaObject_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::toQMetaObject() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.toQMetaObject(); + } +} + +void tst_QScriptValue::toQObject_data() +{ + defineStandardTestValues(); +} + void tst_QScriptValue::toQObject() { - QScriptEngine engine; - QScriptValue obj = engine.newQObject(QCoreApplication::instance()); + QFETCH(QScriptValue, val); + QBENCHMARK { + (void)val.toQObject(); + } +} + +void tst_QScriptValue::toUInt16_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::toUInt16() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.toUInt16(); + } +} + +void tst_QScriptValue::toUInt32_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::toUInt32() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.toUInt32(); + } +} + +void tst_QScriptValue::toVariant_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::toVariant() +{ + QFETCH(QScriptValue, val); QBENCHMARK { - (void)obj.toQObject(); + val.toVariant(); } } +void tst_QScriptValue::property_data() +{ + QTest::addColumn("propertyName"); + QTest::addColumn("create"); + QTest::newRow("foo") << QString::fromLatin1("foo") << true; + QTest::newRow("hasOwnProperty") << QString::fromLatin1("hasOwnProperty") << false; // From Object.prototype. + QTest::newRow("noSuchProperty") << QString::fromLatin1("noSuchProperty") << false; +} void tst_QScriptValue::property() { - QScriptEngine engine; - QScriptValue obj = engine.newObject(); - QString propertyName = QString::fromLatin1("foo"); - obj.setProperty(propertyName, 123); + QFETCH(QString, propertyName); + QFETCH(bool, create); + newEngine(); + QScriptValue obj = m_engine->newObject(); + if (create) + obj.setProperty(propertyName, 123); QBENCHMARK { (void)obj.property(propertyName); } } +void tst_QScriptValue::propertyById_data() +{ + property_data(); +} + +void tst_QScriptValue::propertyById() +{ + QFETCH(QString, propertyName); + QFETCH(bool, create); + newEngine(); + QScriptValue obj = m_engine->newObject(); + QScriptString id = m_engine->toStringHandle(propertyName); + if (create) + obj.setProperty(id, 123); + QBENCHMARK { + obj.property(id); + } +} + +void tst_QScriptValue::propertyByIndex() +{ + newEngine(); + QScriptValue obj = m_engine->newObject(); + obj.setProperty(123, 456); + QBENCHMARK { + obj.property(123); + } +} + +void tst_QScriptValue::setProperty_data() +{ + newEngine(); + QTest::addColumn("propertyName"); + QTest::addColumn("val"); + QTest::newRow("foo") << QString::fromLatin1("foo") << QScriptValue(123); + QTest::newRow("bar") << QString::fromLatin1("bar") << QScriptValue(m_engine, 123); + QTest::newRow("baz") << QString::fromLatin1("baz") << QScriptValue(); + QTest::newRow("toString") << QString::fromLatin1("toString") << QScriptValue(m_engine, true); +} + void tst_QScriptValue::setProperty() { - QScriptEngine engine; - QScriptValue obj = engine.newObject(); - QString propertyName = QString::fromLatin1("foo"); - QScriptValue val(123); + QFETCH(QString, propertyName); + QFETCH(QScriptValue, val); + QScriptValue obj = m_engine->newObject(); QBENCHMARK { obj.setProperty(propertyName, val); } } +void tst_QScriptValue::setPropertyById_data() +{ + setProperty_data(); +} + +void tst_QScriptValue::setPropertyById() +{ + QFETCH(QString, propertyName); + QFETCH(QScriptValue, val); + QScriptValue obj = m_engine->newObject(); + QScriptString id = m_engine->toStringHandle(propertyName); + QBENCHMARK { + obj.setProperty(id, val); + } +} + +void tst_QScriptValue::setPropertyByIndex() +{ + newEngine(); + QScriptValue obj = m_engine->newObject(); + QScriptValue val(456); + QBENCHMARK { + obj.setProperty(123, 456); + } +} + +void tst_QScriptValue::propertyFlags_data() +{ + property_data(); +} + void tst_QScriptValue::propertyFlags() { - QScriptEngine engine; - QScriptValue obj = engine.newObject(); - QString propertyName = QString::fromLatin1("foo"); - obj.setProperty(propertyName, 123, QScriptValue::SkipInEnumeration | QScriptValue::ReadOnly); + QFETCH(QString, propertyName); + QFETCH(bool, create); + newEngine(); + QScriptValue obj = m_engine->newObject(); + if (create) + obj.setProperty(propertyName, 123, QScriptValue::SkipInEnumeration | QScriptValue::ReadOnly); QBENCHMARK { (void)obj.propertyFlags(propertyName); } } +void tst_QScriptValue::propertyFlagsById_data() +{ + propertyFlags_data(); +} + +void tst_QScriptValue::propertyFlagsById() +{ + QFETCH(QString, propertyName); + QFETCH(bool, create); + newEngine(); + QScriptValue obj = m_engine->newObject(); + QScriptString id = m_engine->toStringHandle(propertyName); + if (create) + obj.setProperty(id, 123, QScriptValue::SkipInEnumeration | QScriptValue::ReadOnly); + QBENCHMARK { + obj.propertyFlags(id); + } +} + +void tst_QScriptValue::prototype_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::prototype() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.prototype(); + } +} + +void tst_QScriptValue::setPrototype() +{ + newEngine(); + QScriptValue obj = m_engine->newObject(); + QScriptValue proto = m_engine->newObject(); + QBENCHMARK { + obj.setPrototype(proto); + } +} + +void tst_QScriptValue::scriptClass_data() +{ + defineStandardTestValues(); +} + +void tst_QScriptValue::scriptClass() +{ + QFETCH(QScriptValue, val); + QBENCHMARK { + val.scriptClass(); + } +} + +void tst_QScriptValue::setScriptClass() +{ + newEngine(); + QScriptValue obj = m_engine->newObject(); + QScriptClass cls(m_engine); + QBENCHMARK { + obj.setScriptClass(&cls); + } +} + void tst_QScriptValue::readMetaProperty() { - QScriptEngine engine; - QScriptValue object = engine.newQObject(QCoreApplication::instance()); - QScriptString propertyName = engine.toStringHandle("objectName"); + newEngine(); + QScriptValue object = m_engine->newQObject(QCoreApplication::instance()); + QScriptString propertyName = m_engine->toStringHandle("objectName"); QBENCHMARK { for (int i = 0; i < 10000; ++i) object.property(propertyName); @@ -216,15 +979,44 @@ void tst_QScriptValue::readMetaProperty() void tst_QScriptValue::writeMetaProperty() { - QScriptEngine engine; - QScriptValue object = engine.newQObject(QCoreApplication::instance()); - QScriptString propertyName = engine.toStringHandle("objectName"); - QScriptValue value(&engine, "foo"); + newEngine(); + QScriptValue object = m_engine->newQObject(QCoreApplication::instance()); + QScriptString propertyName = m_engine->toStringHandle("objectName"); + QScriptValue value(m_engine, "foo"); QBENCHMARK { for (int i = 0; i < 10000; ++i) object.setProperty(propertyName, value); } } +void tst_QScriptValue::defineStandardTestValues() +{ + newEngine(); + QTest::addColumn("val"); + QTest::newRow("bool") << m_engine->evaluate("true"); + QTest::newRow("number") << m_engine->evaluate("123"); + QTest::newRow("string") << m_engine->evaluate("'ciao'"); + QTest::newRow("null") << m_engine->evaluate("null"); + QTest::newRow("undefined") << m_engine->evaluate("undefined"); + QTest::newRow("object") << m_engine->evaluate("({foo:123})"); + QTest::newRow("array") << m_engine->evaluate("[10,20,30]"); + QTest::newRow("function") << m_engine->evaluate("(function foo(a, b, c) { return a + b + c; })"); + QTest::newRow("date") << m_engine->evaluate("new Date"); + QTest::newRow("regexp") << m_engine->evaluate("new RegExp('foo')"); + QTest::newRow("error") << m_engine->evaluate("new Error"); + + QTest::newRow("qobject") << m_engine->newQObject(this); + QTest::newRow("qmetaobject") << m_engine->newQMetaObject(&QScriptEngine::staticMetaObject); + QTest::newRow("variant") << m_engine->newVariant(123); + QTest::newRow("qscriptclassobject") << m_engine->newObject(new QScriptClass(m_engine)); + + QTest::newRow("invalid") << QScriptValue(); + QTest::newRow("bool-no-engine") << QScriptValue(true); + QTest::newRow("number-no-engine") << QScriptValue(123.0); + QTest::newRow("string-no-engine") << QScriptValue(QString::fromLatin1("hello")); + QTest::newRow("null-no-engine") << QScriptValue(QScriptValue::NullValue); + QTest::newRow("undefined-no-engine") << QScriptValue(QScriptValue::UndefinedValue); +} + QTEST_MAIN(tst_QScriptValue) #include "tst_qscriptvalue.moc" -- cgit v0.12 From 06d0f06f51ebb011ba3cb57f13da3179da56c6a1 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Mon, 1 Nov 2010 15:17:08 +0100 Subject: Import V8 benchmarks for QtScript Gives us an easy way to check pure JS performance whenever we update QtScript's back-end. QTestLib integration also means that the performance can be readily tracked over time by Qt's QA systems. Reviewed-by: Jedrzej Nowacki --- tests/benchmarks/script/v8/tests/base.js | 284 ++ tests/benchmarks/script/v8/tests/crypto.js | 1698 ++++++++ tests/benchmarks/script/v8/tests/deltablue.js | 880 ++++ tests/benchmarks/script/v8/tests/earley-boyer.js | 4684 ++++++++++++++++++++++ tests/benchmarks/script/v8/tests/raytrace.js | 904 +++++ tests/benchmarks/script/v8/tests/regexp.js | 1764 ++++++++ tests/benchmarks/script/v8/tests/richards.js | 539 +++ tests/benchmarks/script/v8/tests/splay.js | 394 ++ tests/benchmarks/script/v8/tst_v8.cpp | 142 + tests/benchmarks/script/v8/v8.pro | 20 + 10 files changed, 11309 insertions(+) create mode 100644 tests/benchmarks/script/v8/tests/base.js create mode 100644 tests/benchmarks/script/v8/tests/crypto.js create mode 100644 tests/benchmarks/script/v8/tests/deltablue.js create mode 100644 tests/benchmarks/script/v8/tests/earley-boyer.js create mode 100644 tests/benchmarks/script/v8/tests/raytrace.js create mode 100644 tests/benchmarks/script/v8/tests/regexp.js create mode 100644 tests/benchmarks/script/v8/tests/richards.js create mode 100644 tests/benchmarks/script/v8/tests/splay.js create mode 100644 tests/benchmarks/script/v8/tst_v8.cpp create mode 100644 tests/benchmarks/script/v8/v8.pro diff --git a/tests/benchmarks/script/v8/tests/base.js b/tests/benchmarks/script/v8/tests/base.js new file mode 100644 index 0000000..ffabf24 --- /dev/null +++ b/tests/benchmarks/script/v8/tests/base.js @@ -0,0 +1,284 @@ +// Copyright 2008 the V8 project authors. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +// Simple framework for running the benchmark suites and +// computing a score based on the timing measurements. + + +// A benchmark has a name (string) and a function that will be run to +// do the performance measurement. The optional setup and tearDown +// arguments are functions that will be invoked before and after +// running the benchmark, but the running time of these functions will +// not be accounted for in the benchmark score. +function Benchmark(name, run, setup, tearDown) { + this.name = name; + this.run = run; + this.Setup = setup ? setup : function() { }; + this.TearDown = tearDown ? tearDown : function() { }; +} + + +// Benchmark results hold the benchmark and the measured time used to +// run the benchmark. The benchmark score is computed later once a +// full benchmark suite has run to completion. +function BenchmarkResult(benchmark, time) { + this.benchmark = benchmark; + this.time = time; +} + + +// Automatically convert results to numbers. Used by the geometric +// mean computation. +BenchmarkResult.prototype.valueOf = function() { + return this.time; +} + + +// Suites of benchmarks consist of a name and the set of benchmarks in +// addition to the reference timing that the final score will be based +// on. This way, all scores are relative to a reference run and higher +// scores implies better performance. +function BenchmarkSuite(name, reference, benchmarks) { + this.name = name; + this.reference = reference; + this.benchmarks = benchmarks; + BenchmarkSuite.suites.push(this); +} + + +// Keep track of all declared benchmark suites. +BenchmarkSuite.suites = []; + + +// Scores are not comparable across versions. Bump the version if +// you're making changes that will affect that scores, e.g. if you add +// a new benchmark or change an existing one. +BenchmarkSuite.version = '6'; + + +// To make the benchmark results predictable, we replace Math.random +// with a 100% deterministic alternative. +Math.random = (function() { + var seed = 49734321; + return function() { + // Robert Jenkins' 32 bit integer hash function. + seed = ((seed + 0x7ed55d16) + (seed << 12)) & 0xffffffff; + seed = ((seed ^ 0xc761c23c) ^ (seed >>> 19)) & 0xffffffff; + seed = ((seed + 0x165667b1) + (seed << 5)) & 0xffffffff; + seed = ((seed + 0xd3a2646c) ^ (seed << 9)) & 0xffffffff; + seed = ((seed + 0xfd7046c5) + (seed << 3)) & 0xffffffff; + seed = ((seed ^ 0xb55a4f09) ^ (seed >>> 16)) & 0xffffffff; + return (seed & 0xfffffff) / 0x10000000; + }; +})(); + + +// Runs all registered benchmark suites and optionally yields between +// each individual benchmark to avoid running for too long in the +// context of browsers. Once done, the final score is reported to the +// runner. +BenchmarkSuite.RunSuites = function(runner) { + var continuation = null; + var suites = BenchmarkSuite.suites; + var length = suites.length; + BenchmarkSuite.scores = []; + var index = 0; + function RunStep() { + while (continuation || index < length) { + if (continuation) { + continuation = continuation(); + } else { + var suite = suites[index++]; + if (runner.NotifyStart) runner.NotifyStart(suite.name); + continuation = suite.RunStep(runner); + } + if (continuation && typeof window != 'undefined' && window.setTimeout) { + window.setTimeout(RunStep, 25); + return; + } + } + if (runner.NotifyScore) { + var score = BenchmarkSuite.GeometricMean(BenchmarkSuite.scores); + var formatted = BenchmarkSuite.FormatScore(100 * score); + runner.NotifyScore(formatted); + } + } + RunStep(); +} + + +// Counts the total number of registered benchmarks. Useful for +// showing progress as a percentage. +BenchmarkSuite.CountBenchmarks = function() { + var result = 0; + var suites = BenchmarkSuite.suites; + for (var i = 0; i < suites.length; i++) { + result += suites[i].benchmarks.length; + } + return result; +} + + +// Computes the geometric mean of a set of numbers. +BenchmarkSuite.GeometricMean = function(numbers) { + var log = 0; + for (var i = 0; i < numbers.length; i++) { + log += Math.log(numbers[i]); + } + return Math.pow(Math.E, log / numbers.length); +} + + +// Converts a score value to a string with at least three significant +// digits. +BenchmarkSuite.FormatScore = function(value) { + if (value > 100) { + return value.toFixed(0); + } else { + return value.toPrecision(3); + } +} + +// Notifies the runner that we're done running a single benchmark in +// the benchmark suite. This can be useful to report progress. +BenchmarkSuite.prototype.NotifyStep = function(result) { + this.results.push(result); + if (this.runner.NotifyStep) this.runner.NotifyStep(result.benchmark.name); +} + + +// Notifies the runner that we're done with running a suite and that +// we have a result which can be reported to the user if needed. +BenchmarkSuite.prototype.NotifyResult = function() { + var mean = BenchmarkSuite.GeometricMean(this.results); + var score = this.reference / mean; + BenchmarkSuite.scores.push(score); + if (this.runner.NotifyResult) { + var formatted = BenchmarkSuite.FormatScore(100 * score); + this.runner.NotifyResult(this.name, formatted); + } +} + + +// Notifies the runner that running a benchmark resulted in an error. +BenchmarkSuite.prototype.NotifyError = function(error) { + if (this.runner.NotifyError) { + this.runner.NotifyError(this.name, error); + } + if (this.runner.NotifyStep) { + this.runner.NotifyStep(this.name); + } +} + + +// Runs a single benchmark for at least a second and computes the +// average time it takes to run a single iteration. +BenchmarkSuite.prototype.RunSingleBenchmark = function(benchmark, data) { + function Measure(data) { + var elapsed = 0; + var start = new Date(); + for (var n = 0; elapsed < 1000; n++) { + benchmark.run(); + elapsed = new Date() - start; + } + if (data != null) { + data.runs += n; + data.elapsed += elapsed; + } + } + + if (data == null) { + // Measure the benchmark once for warm up and throw the result + // away. Return a fresh data object. + Measure(null); + return { runs: 0, elapsed: 0 }; + } else { + Measure(data); + // If we've run too few iterations, we continue for another second. + if (data.runs < 32) return data; + var usec = (data.elapsed * 1000) / data.runs; + this.NotifyStep(new BenchmarkResult(benchmark, usec)); + return null; + } +} + + +// This function starts running a suite, but stops between each +// individual benchmark in the suite and returns a continuation +// function which can be invoked to run the next benchmark. Once the +// last benchmark has been executed, null is returned. +BenchmarkSuite.prototype.RunStep = function(runner) { + this.results = []; + this.runner = runner; + var length = this.benchmarks.length; + var index = 0; + var suite = this; + var data; + + // Run the setup, the actual benchmark, and the tear down in three + // separate steps to allow the framework to yield between any of the + // steps. + + function RunNextSetup() { + if (index < length) { + try { + suite.benchmarks[index].Setup(); + } catch (e) { + suite.NotifyError(e); + return null; + } + return RunNextBenchmark; + } + suite.NotifyResult(); + return null; + } + + function RunNextBenchmark() { + try { + data = suite.RunSingleBenchmark(suite.benchmarks[index], data); + } catch (e) { + suite.NotifyError(e); + return null; + } + // If data is null, we're done with this benchmark. + return (data == null) ? RunNextTearDown : RunNextBenchmark(); + } + + function RunNextTearDown() { + try { + suite.benchmarks[index++].TearDown(); + } catch (e) { + suite.NotifyError(e); + return null; + } + return RunNextSetup; + } + + // Start out running the setup. + return RunNextSetup(); +} diff --git a/tests/benchmarks/script/v8/tests/crypto.js b/tests/benchmarks/script/v8/tests/crypto.js new file mode 100644 index 0000000..ffa69b5 --- /dev/null +++ b/tests/benchmarks/script/v8/tests/crypto.js @@ -0,0 +1,1698 @@ +/* + * Copyright (c) 2003-2005 Tom Wu + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, + * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY + * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + * + * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, + * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER + * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF + * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT + * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * In addition, the following condition applies: + * + * All redistributions must retain an intact copy of this copyright notice + * and disclaimer. + */ + + +// The code has been adapted for use as a benchmark by Google. +var Crypto = new BenchmarkSuite('Crypto', 266181, [ + new Benchmark("Encrypt", encrypt), + new Benchmark("Decrypt", decrypt) +]); + + +// Basic JavaScript BN library - subset useful for RSA encryption. + +// Bits per digit +var dbits; +var BI_DB; +var BI_DM; +var BI_DV; + +var BI_FP; +var BI_FV; +var BI_F1; +var BI_F2; + +// JavaScript engine analysis +var canary = 0xdeadbeefcafe; +var j_lm = ((canary&0xffffff)==0xefcafe); + +// (public) Constructor +function BigInteger(a,b,c) { + this.array = new Array(); + if(a != null) + if("number" == typeof a) this.fromNumber(a,b,c); + else if(b == null && "string" != typeof a) this.fromString(a,256); + else this.fromString(a,b); +} + +// return new, unset BigInteger +function nbi() { return new BigInteger(null); } + +// am: Compute w_j += (x*this_i), propagate carries, +// c is initial carry, returns final carry. +// c < 3*dvalue, x < 2*dvalue, this_i < dvalue +// We need to select the fastest one that works in this environment. + +// am1: use a single mult and divide to get the high bits, +// max digit bits should be 26 because +// max internal value = 2*dvalue^2-2*dvalue (< 2^53) +function am1(i,x,w,j,c,n) { + var this_array = this.array; + var w_array = w.array; + while(--n >= 0) { + var v = x*this_array[i++]+w_array[j]+c; + c = Math.floor(v/0x4000000); + w_array[j++] = v&0x3ffffff; + } + return c; +} + +// am2 avoids a big mult-and-extract completely. +// Max digit bits should be <= 30 because we do bitwise ops +// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31) +function am2(i,x,w,j,c,n) { + var this_array = this.array; + var w_array = w.array; + var xl = x&0x7fff, xh = x>>15; + while(--n >= 0) { + var l = this_array[i]&0x7fff; + var h = this_array[i++]>>15; + var m = xh*l+h*xl; + l = xl*l+((m&0x7fff)<<15)+w_array[j]+(c&0x3fffffff); + c = (l>>>30)+(m>>>15)+xh*h+(c>>>30); + w_array[j++] = l&0x3fffffff; + } + return c; +} + +// Alternately, set max digit bits to 28 since some +// browsers slow down when dealing with 32-bit numbers. +function am3(i,x,w,j,c,n) { + var this_array = this.array; + var w_array = w.array; + + var xl = x&0x3fff, xh = x>>14; + while(--n >= 0) { + var l = this_array[i]&0x3fff; + var h = this_array[i++]>>14; + var m = xh*l+h*xl; + l = xl*l+((m&0x3fff)<<14)+w_array[j]+c; + c = (l>>28)+(m>>14)+xh*h; + w_array[j++] = l&0xfffffff; + } + return c; +} + +// This is tailored to VMs with 2-bit tagging. It makes sure +// that all the computations stay within the 29 bits available. +function am4(i,x,w,j,c,n) { + var this_array = this.array; + var w_array = w.array; + + var xl = x&0x1fff, xh = x>>13; + while(--n >= 0) { + var l = this_array[i]&0x1fff; + var h = this_array[i++]>>13; + var m = xh*l+h*xl; + l = xl*l+((m&0x1fff)<<13)+w_array[j]+c; + c = (l>>26)+(m>>13)+xh*h; + w_array[j++] = l&0x3ffffff; + } + return c; +} + +// am3/28 is best for SM, Rhino, but am4/26 is best for v8. +// Kestrel (Opera 9.5) gets its best result with am4/26. +// IE7 does 9% better with am3/28 than with am4/26. +// Firefox (SM) gets 10% faster with am3/28 than with am4/26. + +setupEngine = function(fn, bits) { + BigInteger.prototype.am = fn; + dbits = bits; + + BI_DB = dbits; + BI_DM = ((1<= 0; --i) r_array[i] = this_array[i]; + r.t = this.t; + r.s = this.s; +} + +// (protected) set from integer value x, -DV <= x < DV +function bnpFromInt(x) { + var this_array = this.array; + this.t = 1; + this.s = (x<0)?-1:0; + if(x > 0) this_array[0] = x; + else if(x < -1) this_array[0] = x+DV; + else this.t = 0; +} + +// return bigint initialized to value +function nbv(i) { var r = nbi(); r.fromInt(i); return r; } + +// (protected) set from string and radix +function bnpFromString(s,b) { + var this_array = this.array; + var k; + if(b == 16) k = 4; + else if(b == 8) k = 3; + else if(b == 256) k = 8; // byte array + else if(b == 2) k = 1; + else if(b == 32) k = 5; + else if(b == 4) k = 2; + else { this.fromRadix(s,b); return; } + this.t = 0; + this.s = 0; + var i = s.length, mi = false, sh = 0; + while(--i >= 0) { + var x = (k==8)?s[i]&0xff:intAt(s,i); + if(x < 0) { + if(s.charAt(i) == "-") mi = true; + continue; + } + mi = false; + if(sh == 0) + this_array[this.t++] = x; + else if(sh+k > BI_DB) { + this_array[this.t-1] |= (x&((1<<(BI_DB-sh))-1))<>(BI_DB-sh)); + } + else + this_array[this.t-1] |= x<= BI_DB) sh -= BI_DB; + } + if(k == 8 && (s[0]&0x80) != 0) { + this.s = -1; + if(sh > 0) this_array[this.t-1] |= ((1<<(BI_DB-sh))-1)< 0 && this_array[this.t-1] == c) --this.t; +} + +// (public) return string representation in given radix +function bnToString(b) { + var this_array = this.array; + if(this.s < 0) return "-"+this.negate().toString(b); + var k; + if(b == 16) k = 4; + else if(b == 8) k = 3; + else if(b == 2) k = 1; + else if(b == 32) k = 5; + else if(b == 4) k = 2; + else return this.toRadix(b); + var km = (1< 0) { + if(p < BI_DB && (d = this_array[i]>>p) > 0) { m = true; r = int2char(d); } + while(i >= 0) { + if(p < k) { + d = (this_array[i]&((1<>(p+=BI_DB-k); + } + else { + d = (this_array[i]>>(p-=k))&km; + if(p <= 0) { p += BI_DB; --i; } + } + if(d > 0) m = true; + if(m) r += int2char(d); + } + } + return m?r:"0"; +} + +// (public) -this +function bnNegate() { var r = nbi(); BigInteger.ZERO.subTo(this,r); return r; } + +// (public) |this| +function bnAbs() { return (this.s<0)?this.negate():this; } + +// (public) return + if this > a, - if this < a, 0 if equal +function bnCompareTo(a) { + var this_array = this.array; + var a_array = a.array; + + var r = this.s-a.s; + if(r != 0) return r; + var i = this.t; + r = i-a.t; + if(r != 0) return r; + while(--i >= 0) if((r=this_array[i]-a_array[i]) != 0) return r; + return 0; +} + +// returns bit length of the integer x +function nbits(x) { + var r = 1, t; + if((t=x>>>16) != 0) { x = t; r += 16; } + if((t=x>>8) != 0) { x = t; r += 8; } + if((t=x>>4) != 0) { x = t; r += 4; } + if((t=x>>2) != 0) { x = t; r += 2; } + if((t=x>>1) != 0) { x = t; r += 1; } + return r; +} + +// (public) return the number of bits in "this" +function bnBitLength() { + var this_array = this.array; + if(this.t <= 0) return 0; + return BI_DB*(this.t-1)+nbits(this_array[this.t-1]^(this.s&BI_DM)); +} + +// (protected) r = this << n*DB +function bnpDLShiftTo(n,r) { + var this_array = this.array; + var r_array = r.array; + var i; + for(i = this.t-1; i >= 0; --i) r_array[i+n] = this_array[i]; + for(i = n-1; i >= 0; --i) r_array[i] = 0; + r.t = this.t+n; + r.s = this.s; +} + +// (protected) r = this >> n*DB +function bnpDRShiftTo(n,r) { + var this_array = this.array; + var r_array = r.array; + for(var i = n; i < this.t; ++i) r_array[i-n] = this_array[i]; + r.t = Math.max(this.t-n,0); + r.s = this.s; +} + +// (protected) r = this << n +function bnpLShiftTo(n,r) { + var this_array = this.array; + var r_array = r.array; + var bs = n%BI_DB; + var cbs = BI_DB-bs; + var bm = (1<= 0; --i) { + r_array[i+ds+1] = (this_array[i]>>cbs)|c; + c = (this_array[i]&bm)<= 0; --i) r_array[i] = 0; + r_array[ds] = c; + r.t = this.t+ds+1; + r.s = this.s; + r.clamp(); +} + +// (protected) r = this >> n +function bnpRShiftTo(n,r) { + var this_array = this.array; + var r_array = r.array; + r.s = this.s; + var ds = Math.floor(n/BI_DB); + if(ds >= this.t) { r.t = 0; return; } + var bs = n%BI_DB; + var cbs = BI_DB-bs; + var bm = (1<>bs; + for(var i = ds+1; i < this.t; ++i) { + r_array[i-ds-1] |= (this_array[i]&bm)<>bs; + } + if(bs > 0) r_array[this.t-ds-1] |= (this.s&bm)<>= BI_DB; + } + if(a.t < this.t) { + c -= a.s; + while(i < this.t) { + c += this_array[i]; + r_array[i++] = c&BI_DM; + c >>= BI_DB; + } + c += this.s; + } + else { + c += this.s; + while(i < a.t) { + c -= a_array[i]; + r_array[i++] = c&BI_DM; + c >>= BI_DB; + } + c -= a.s; + } + r.s = (c<0)?-1:0; + if(c < -1) r_array[i++] = BI_DV+c; + else if(c > 0) r_array[i++] = c; + r.t = i; + r.clamp(); +} + +// (protected) r = this * a, r != this,a (HAC 14.12) +// "this" should be the larger one if appropriate. +function bnpMultiplyTo(a,r) { + var this_array = this.array; + var r_array = r.array; + var x = this.abs(), y = a.abs(); + var y_array = y.array; + + var i = x.t; + r.t = i+y.t; + while(--i >= 0) r_array[i] = 0; + for(i = 0; i < y.t; ++i) r_array[i+x.t] = x.am(0,y_array[i],r,i,0,x.t); + r.s = 0; + r.clamp(); + if(this.s != a.s) BigInteger.ZERO.subTo(r,r); +} + +// (protected) r = this^2, r != this (HAC 14.16) +function bnpSquareTo(r) { + var x = this.abs(); + var x_array = x.array; + var r_array = r.array; + + var i = r.t = 2*x.t; + while(--i >= 0) r_array[i] = 0; + for(i = 0; i < x.t-1; ++i) { + var c = x.am(i,x_array[i],r,2*i,0,1); + if((r_array[i+x.t]+=x.am(i+1,2*x_array[i],r,2*i+1,c,x.t-i-1)) >= BI_DV) { + r_array[i+x.t] -= BI_DV; + r_array[i+x.t+1] = 1; + } + } + if(r.t > 0) r_array[r.t-1] += x.am(i,x_array[i],r,2*i,0,1); + r.s = 0; + r.clamp(); +} + +// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20) +// r != q, this != m. q or r may be null. +function bnpDivRemTo(m,q,r) { + var pm = m.abs(); + if(pm.t <= 0) return; + var pt = this.abs(); + if(pt.t < pm.t) { + if(q != null) q.fromInt(0); + if(r != null) this.copyTo(r); + return; + } + if(r == null) r = nbi(); + var y = nbi(), ts = this.s, ms = m.s; + var pm_array = pm.array; + var nsh = BI_DB-nbits(pm_array[pm.t-1]); // normalize modulus + if(nsh > 0) { pm.lShiftTo(nsh,y); pt.lShiftTo(nsh,r); } + else { pm.copyTo(y); pt.copyTo(r); } + var ys = y.t; + + var y_array = y.array; + var y0 = y_array[ys-1]; + if(y0 == 0) return; + var yt = y0*(1<1)?y_array[ys-2]>>BI_F2:0); + var d1 = BI_FV/yt, d2 = (1<= 0) { + r_array[r.t++] = 1; + r.subTo(t,r); + } + BigInteger.ONE.dlShiftTo(ys,t); + t.subTo(y,y); // "negative" y so we can replace sub with am later + while(y.t < ys) y_array[y.t++] = 0; + while(--j >= 0) { + // Estimate quotient digit + var qd = (r_array[--i]==y0)?BI_DM:Math.floor(r_array[i]*d1+(r_array[i-1]+e)*d2); + if((r_array[i]+=y.am(0,qd,r,j,0,ys)) < qd) { // Try it out + y.dlShiftTo(j,t); + r.subTo(t,r); + while(r_array[i] < --qd) r.subTo(t,r); + } + } + if(q != null) { + r.drShiftTo(ys,q); + if(ts != ms) BigInteger.ZERO.subTo(q,q); + } + r.t = ys; + r.clamp(); + if(nsh > 0) r.rShiftTo(nsh,r); // Denormalize remainder + if(ts < 0) BigInteger.ZERO.subTo(r,r); +} + +// (public) this mod a +function bnMod(a) { + var r = nbi(); + this.abs().divRemTo(a,null,r); + if(this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r,r); + return r; +} + +// Modular reduction using "classic" algorithm +function Classic(m) { this.m = m; } +function cConvert(x) { + if(x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m); + else return x; +} +function cRevert(x) { return x; } +function cReduce(x) { x.divRemTo(this.m,null,x); } +function cMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } +function cSqrTo(x,r) { x.squareTo(r); this.reduce(r); } + +Classic.prototype.convert = cConvert; +Classic.prototype.revert = cRevert; +Classic.prototype.reduce = cReduce; +Classic.prototype.mulTo = cMulTo; +Classic.prototype.sqrTo = cSqrTo; + +// (protected) return "-1/this % 2^DB"; useful for Mont. reduction +// justification: +// xy == 1 (mod m) +// xy = 1+km +// xy(2-xy) = (1+km)(1-km) +// x[y(2-xy)] = 1-k^2m^2 +// x[y(2-xy)] == 1 (mod m^2) +// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2 +// should reduce x and y(2-xy) by m^2 at each step to keep size bounded. +// JS multiply "overflows" differently from C/C++, so care is needed here. +function bnpInvDigit() { + var this_array = this.array; + if(this.t < 1) return 0; + var x = this_array[0]; + if((x&1) == 0) return 0; + var y = x&3; // y == 1/x mod 2^2 + y = (y*(2-(x&0xf)*y))&0xf; // y == 1/x mod 2^4 + y = (y*(2-(x&0xff)*y))&0xff; // y == 1/x mod 2^8 + y = (y*(2-(((x&0xffff)*y)&0xffff)))&0xffff; // y == 1/x mod 2^16 + // last step - calculate inverse mod DV directly; + // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints + y = (y*(2-x*y%BI_DV))%BI_DV; // y == 1/x mod 2^dbits + // we really want the negative inverse, and -DV < y < DV + return (y>0)?BI_DV-y:-y; +} + +// Montgomery reduction +function Montgomery(m) { + this.m = m; + this.mp = m.invDigit(); + this.mpl = this.mp&0x7fff; + this.mph = this.mp>>15; + this.um = (1<<(BI_DB-15))-1; + this.mt2 = 2*m.t; +} + +// xR mod m +function montConvert(x) { + var r = nbi(); + x.abs().dlShiftTo(this.m.t,r); + r.divRemTo(this.m,null,r); + if(x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r,r); + return r; +} + +// x/R mod m +function montRevert(x) { + var r = nbi(); + x.copyTo(r); + this.reduce(r); + return r; +} + +// x = x/R mod m (HAC 14.32) +function montReduce(x) { + var x_array = x.array; + while(x.t <= this.mt2) // pad x so am has enough room later + x_array[x.t++] = 0; + for(var i = 0; i < this.m.t; ++i) { + // faster way of calculating u0 = x[i]*mp mod DV + var j = x_array[i]&0x7fff; + var u0 = (j*this.mpl+(((j*this.mph+(x_array[i]>>15)*this.mpl)&this.um)<<15))&BI_DM; + // use am to combine the multiply-shift-add into one call + j = i+this.m.t; + x_array[j] += this.m.am(0,u0,x,i,0,this.m.t); + // propagate carry + while(x_array[j] >= BI_DV) { x_array[j] -= BI_DV; x_array[++j]++; } + } + x.clamp(); + x.drShiftTo(this.m.t,x); + if(x.compareTo(this.m) >= 0) x.subTo(this.m,x); +} + +// r = "x^2/R mod m"; x != r +function montSqrTo(x,r) { x.squareTo(r); this.reduce(r); } + +// r = "xy/R mod m"; x,y != r +function montMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } + +Montgomery.prototype.convert = montConvert; +Montgomery.prototype.revert = montRevert; +Montgomery.prototype.reduce = montReduce; +Montgomery.prototype.mulTo = montMulTo; +Montgomery.prototype.sqrTo = montSqrTo; + +// (protected) true iff this is even +function bnpIsEven() { + var this_array = this.array; + return ((this.t>0)?(this_array[0]&1):this.s) == 0; +} + +// (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79) +function bnpExp(e,z) { + if(e > 0xffffffff || e < 1) return BigInteger.ONE; + var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e)-1; + g.copyTo(r); + while(--i >= 0) { + z.sqrTo(r,r2); + if((e&(1< 0) z.mulTo(r2,g,r); + else { var t = r; r = r2; r2 = t; } + } + return z.revert(r); +} + +// (public) this^e % m, 0 <= e < 2^32 +function bnModPowInt(e,m) { + var z; + if(e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m); + return this.exp(e,z); +} + +// protected +BigInteger.prototype.copyTo = bnpCopyTo; +BigInteger.prototype.fromInt = bnpFromInt; +BigInteger.prototype.fromString = bnpFromString; +BigInteger.prototype.clamp = bnpClamp; +BigInteger.prototype.dlShiftTo = bnpDLShiftTo; +BigInteger.prototype.drShiftTo = bnpDRShiftTo; +BigInteger.prototype.lShiftTo = bnpLShiftTo; +BigInteger.prototype.rShiftTo = bnpRShiftTo; +BigInteger.prototype.subTo = bnpSubTo; +BigInteger.prototype.multiplyTo = bnpMultiplyTo; +BigInteger.prototype.squareTo = bnpSquareTo; +BigInteger.prototype.divRemTo = bnpDivRemTo; +BigInteger.prototype.invDigit = bnpInvDigit; +BigInteger.prototype.isEven = bnpIsEven; +BigInteger.prototype.exp = bnpExp; + +// public +BigInteger.prototype.toString = bnToString; +BigInteger.prototype.negate = bnNegate; +BigInteger.prototype.abs = bnAbs; +BigInteger.prototype.compareTo = bnCompareTo; +BigInteger.prototype.bitLength = bnBitLength; +BigInteger.prototype.mod = bnMod; +BigInteger.prototype.modPowInt = bnModPowInt; + +// "constants" +BigInteger.ZERO = nbv(0); +BigInteger.ONE = nbv(1); +// Copyright (c) 2005 Tom Wu +// All Rights Reserved. +// See "LICENSE" for details. + +// Extended JavaScript BN functions, required for RSA private ops. + +// (public) +function bnClone() { var r = nbi(); this.copyTo(r); return r; } + +// (public) return value as integer +function bnIntValue() { + var this_array = this.array; + if(this.s < 0) { + if(this.t == 1) return this_array[0]-BI_DV; + else if(this.t == 0) return -1; + } + else if(this.t == 1) return this_array[0]; + else if(this.t == 0) return 0; + // assumes 16 < DB < 32 + return ((this_array[1]&((1<<(32-BI_DB))-1))<>24; +} + +// (public) return value as short (assumes DB>=16) +function bnShortValue() { + var this_array = this.array; + return (this.t==0)?this.s:(this_array[0]<<16)>>16; +} + +// (protected) return x s.t. r^x < DV +function bnpChunkSize(r) { return Math.floor(Math.LN2*BI_DB/Math.log(r)); } + +// (public) 0 if this == 0, 1 if this > 0 +function bnSigNum() { + var this_array = this.array; + if(this.s < 0) return -1; + else if(this.t <= 0 || (this.t == 1 && this_array[0] <= 0)) return 0; + else return 1; +} + +// (protected) convert to radix string +function bnpToRadix(b) { + if(b == null) b = 10; + if(this.signum() == 0 || b < 2 || b > 36) return "0"; + var cs = this.chunkSize(b); + var a = Math.pow(b,cs); + var d = nbv(a), y = nbi(), z = nbi(), r = ""; + this.divRemTo(d,y,z); + while(y.signum() > 0) { + r = (a+z.intValue()).toString(b).substr(1) + r; + y.divRemTo(d,y,z); + } + return z.intValue().toString(b) + r; +} + +// (protected) convert from radix string +function bnpFromRadix(s,b) { + this.fromInt(0); + if(b == null) b = 10; + var cs = this.chunkSize(b); + var d = Math.pow(b,cs), mi = false, j = 0, w = 0; + for(var i = 0; i < s.length; ++i) { + var x = intAt(s,i); + if(x < 0) { + if(s.charAt(i) == "-" && this.signum() == 0) mi = true; + continue; + } + w = b*w+x; + if(++j >= cs) { + this.dMultiply(d); + this.dAddOffset(w,0); + j = 0; + w = 0; + } + } + if(j > 0) { + this.dMultiply(Math.pow(b,j)); + this.dAddOffset(w,0); + } + if(mi) BigInteger.ZERO.subTo(this,this); +} + +// (protected) alternate constructor +function bnpFromNumber(a,b,c) { + if("number" == typeof b) { + // new BigInteger(int,int,RNG) + if(a < 2) this.fromInt(1); + else { + this.fromNumber(a,c); + if(!this.testBit(a-1)) // force MSB set + this.bitwiseTo(BigInteger.ONE.shiftLeft(a-1),op_or,this); + if(this.isEven()) this.dAddOffset(1,0); // force odd + while(!this.isProbablePrime(b)) { + this.dAddOffset(2,0); + if(this.bitLength() > a) this.subTo(BigInteger.ONE.shiftLeft(a-1),this); + } + } + } + else { + // new BigInteger(int,RNG) + var x = new Array(), t = a&7; + x.length = (a>>3)+1; + b.nextBytes(x); + if(t > 0) x[0] &= ((1< 0) { + if(p < BI_DB && (d = this_array[i]>>p) != (this.s&BI_DM)>>p) + r[k++] = d|(this.s<<(BI_DB-p)); + while(i >= 0) { + if(p < 8) { + d = (this_array[i]&((1<>(p+=BI_DB-8); + } + else { + d = (this_array[i]>>(p-=8))&0xff; + if(p <= 0) { p += BI_DB; --i; } + } + if((d&0x80) != 0) d |= -256; + if(k == 0 && (this.s&0x80) != (d&0x80)) ++k; + if(k > 0 || d != this.s) r[k++] = d; + } + } + return r; +} + +function bnEquals(a) { return(this.compareTo(a)==0); } +function bnMin(a) { return(this.compareTo(a)<0)?this:a; } +function bnMax(a) { return(this.compareTo(a)>0)?this:a; } + +// (protected) r = this op a (bitwise) +function bnpBitwiseTo(a,op,r) { + var this_array = this.array; + var a_array = a.array; + var r_array = r.array; + var i, f, m = Math.min(a.t,this.t); + for(i = 0; i < m; ++i) r_array[i] = op(this_array[i],a_array[i]); + if(a.t < this.t) { + f = a.s&BI_DM; + for(i = m; i < this.t; ++i) r_array[i] = op(this_array[i],f); + r.t = this.t; + } + else { + f = this.s&BI_DM; + for(i = m; i < a.t; ++i) r_array[i] = op(f,a_array[i]); + r.t = a.t; + } + r.s = op(this.s,a.s); + r.clamp(); +} + +// (public) this & a +function op_and(x,y) { return x&y; } +function bnAnd(a) { var r = nbi(); this.bitwiseTo(a,op_and,r); return r; } + +// (public) this | a +function op_or(x,y) { return x|y; } +function bnOr(a) { var r = nbi(); this.bitwiseTo(a,op_or,r); return r; } + +// (public) this ^ a +function op_xor(x,y) { return x^y; } +function bnXor(a) { var r = nbi(); this.bitwiseTo(a,op_xor,r); return r; } + +// (public) this & ~a +function op_andnot(x,y) { return x&~y; } +function bnAndNot(a) { var r = nbi(); this.bitwiseTo(a,op_andnot,r); return r; } + +// (public) ~this +function bnNot() { + var this_array = this.array; + var r = nbi(); + var r_array = r.array; + + for(var i = 0; i < this.t; ++i) r_array[i] = BI_DM&~this_array[i]; + r.t = this.t; + r.s = ~this.s; + return r; +} + +// (public) this << n +function bnShiftLeft(n) { + var r = nbi(); + if(n < 0) this.rShiftTo(-n,r); else this.lShiftTo(n,r); + return r; +} + +// (public) this >> n +function bnShiftRight(n) { + var r = nbi(); + if(n < 0) this.lShiftTo(-n,r); else this.rShiftTo(n,r); + return r; +} + +// return index of lowest 1-bit in x, x < 2^31 +function lbit(x) { + if(x == 0) return -1; + var r = 0; + if((x&0xffff) == 0) { x >>= 16; r += 16; } + if((x&0xff) == 0) { x >>= 8; r += 8; } + if((x&0xf) == 0) { x >>= 4; r += 4; } + if((x&3) == 0) { x >>= 2; r += 2; } + if((x&1) == 0) ++r; + return r; +} + +// (public) returns index of lowest 1-bit (or -1 if none) +function bnGetLowestSetBit() { + var this_array = this.array; + for(var i = 0; i < this.t; ++i) + if(this_array[i] != 0) return i*BI_DB+lbit(this_array[i]); + if(this.s < 0) return this.t*BI_DB; + return -1; +} + +// return number of 1 bits in x +function cbit(x) { + var r = 0; + while(x != 0) { x &= x-1; ++r; } + return r; +} + +// (public) return number of set bits +function bnBitCount() { + var r = 0, x = this.s&BI_DM; + for(var i = 0; i < this.t; ++i) r += cbit(this_array[i]^x); + return r; +} + +// (public) true iff nth bit is set +function bnTestBit(n) { + var this_array = this.array; + var j = Math.floor(n/BI_DB); + if(j >= this.t) return(this.s!=0); + return((this_array[j]&(1<<(n%BI_DB)))!=0); +} + +// (protected) this op (1<>= BI_DB; + } + if(a.t < this.t) { + c += a.s; + while(i < this.t) { + c += this_array[i]; + r_array[i++] = c&BI_DM; + c >>= BI_DB; + } + c += this.s; + } + else { + c += this.s; + while(i < a.t) { + c += a_array[i]; + r_array[i++] = c&BI_DM; + c >>= BI_DB; + } + c += a.s; + } + r.s = (c<0)?-1:0; + if(c > 0) r_array[i++] = c; + else if(c < -1) r_array[i++] = BI_DV+c; + r.t = i; + r.clamp(); +} + +// (public) this + a +function bnAdd(a) { var r = nbi(); this.addTo(a,r); return r; } + +// (public) this - a +function bnSubtract(a) { var r = nbi(); this.subTo(a,r); return r; } + +// (public) this * a +function bnMultiply(a) { var r = nbi(); this.multiplyTo(a,r); return r; } + +// (public) this / a +function bnDivide(a) { var r = nbi(); this.divRemTo(a,r,null); return r; } + +// (public) this % a +function bnRemainder(a) { var r = nbi(); this.divRemTo(a,null,r); return r; } + +// (public) [this/a,this%a] +function bnDivideAndRemainder(a) { + var q = nbi(), r = nbi(); + this.divRemTo(a,q,r); + return new Array(q,r); +} + +// (protected) this *= n, this >= 0, 1 < n < DV +function bnpDMultiply(n) { + var this_array = this.array; + this_array[this.t] = this.am(0,n-1,this,0,0,this.t); + ++this.t; + this.clamp(); +} + +// (protected) this += n << w words, this >= 0 +function bnpDAddOffset(n,w) { + var this_array = this.array; + while(this.t <= w) this_array[this.t++] = 0; + this_array[w] += n; + while(this_array[w] >= BI_DV) { + this_array[w] -= BI_DV; + if(++w >= this.t) this_array[this.t++] = 0; + ++this_array[w]; + } +} + +// A "null" reducer +function NullExp() {} +function nNop(x) { return x; } +function nMulTo(x,y,r) { x.multiplyTo(y,r); } +function nSqrTo(x,r) { x.squareTo(r); } + +NullExp.prototype.convert = nNop; +NullExp.prototype.revert = nNop; +NullExp.prototype.mulTo = nMulTo; +NullExp.prototype.sqrTo = nSqrTo; + +// (public) this^e +function bnPow(e) { return this.exp(e,new NullExp()); } + +// (protected) r = lower n words of "this * a", a.t <= n +// "this" should be the larger one if appropriate. +function bnpMultiplyLowerTo(a,n,r) { + var r_array = r.array; + var a_array = a.array; + var i = Math.min(this.t+a.t,n); + r.s = 0; // assumes a,this >= 0 + r.t = i; + while(i > 0) r_array[--i] = 0; + var j; + for(j = r.t-this.t; i < j; ++i) r_array[i+this.t] = this.am(0,a_array[i],r,i,0,this.t); + for(j = Math.min(a.t,n); i < j; ++i) this.am(0,a_array[i],r,i,0,n-i); + r.clamp(); +} + +// (protected) r = "this * a" without lower n words, n > 0 +// "this" should be the larger one if appropriate. +function bnpMultiplyUpperTo(a,n,r) { + var r_array = r.array; + var a_array = a.array; + --n; + var i = r.t = this.t+a.t-n; + r.s = 0; // assumes a,this >= 0 + while(--i >= 0) r_array[i] = 0; + for(i = Math.max(n-this.t,0); i < a.t; ++i) + r_array[this.t+i-n] = this.am(n-i,a_array[i],r,0,0,this.t+i-n); + r.clamp(); + r.drShiftTo(1,r); +} + +// Barrett modular reduction +function Barrett(m) { + // setup Barrett + this.r2 = nbi(); + this.q3 = nbi(); + BigInteger.ONE.dlShiftTo(2*m.t,this.r2); + this.mu = this.r2.divide(m); + this.m = m; +} + +function barrettConvert(x) { + if(x.s < 0 || x.t > 2*this.m.t) return x.mod(this.m); + else if(x.compareTo(this.m) < 0) return x; + else { var r = nbi(); x.copyTo(r); this.reduce(r); return r; } +} + +function barrettRevert(x) { return x; } + +// x = x mod m (HAC 14.42) +function barrettReduce(x) { + x.drShiftTo(this.m.t-1,this.r2); + if(x.t > this.m.t+1) { x.t = this.m.t+1; x.clamp(); } + this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3); + this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2); + while(x.compareTo(this.r2) < 0) x.dAddOffset(1,this.m.t+1); + x.subTo(this.r2,x); + while(x.compareTo(this.m) >= 0) x.subTo(this.m,x); +} + +// r = x^2 mod m; x != r +function barrettSqrTo(x,r) { x.squareTo(r); this.reduce(r); } + +// r = x*y mod m; x,y != r +function barrettMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } + +Barrett.prototype.convert = barrettConvert; +Barrett.prototype.revert = barrettRevert; +Barrett.prototype.reduce = barrettReduce; +Barrett.prototype.mulTo = barrettMulTo; +Barrett.prototype.sqrTo = barrettSqrTo; + +// (public) this^e % m (HAC 14.85) +function bnModPow(e,m) { + var e_array = e.array; + var i = e.bitLength(), k, r = nbv(1), z; + if(i <= 0) return r; + else if(i < 18) k = 1; + else if(i < 48) k = 3; + else if(i < 144) k = 4; + else if(i < 768) k = 5; + else k = 6; + if(i < 8) + z = new Classic(m); + else if(m.isEven()) + z = new Barrett(m); + else + z = new Montgomery(m); + + // precomputation + var g = new Array(), n = 3, k1 = k-1, km = (1< 1) { + var g2 = nbi(); + z.sqrTo(g[1],g2); + while(n <= km) { + g[n] = nbi(); + z.mulTo(g2,g[n-2],g[n]); + n += 2; + } + } + + var j = e.t-1, w, is1 = true, r2 = nbi(), t; + i = nbits(e_array[j])-1; + while(j >= 0) { + if(i >= k1) w = (e_array[j]>>(i-k1))&km; + else { + w = (e_array[j]&((1<<(i+1))-1))<<(k1-i); + if(j > 0) w |= e_array[j-1]>>(BI_DB+i-k1); + } + + n = k; + while((w&1) == 0) { w >>= 1; --n; } + if((i -= n) < 0) { i += BI_DB; --j; } + if(is1) { // ret == 1, don't bother squaring or multiplying it + g[w].copyTo(r); + is1 = false; + } + else { + while(n > 1) { z.sqrTo(r,r2); z.sqrTo(r2,r); n -= 2; } + if(n > 0) z.sqrTo(r,r2); else { t = r; r = r2; r2 = t; } + z.mulTo(r2,g[w],r); + } + + while(j >= 0 && (e_array[j]&(1< 0) { + x.rShiftTo(g,x); + y.rShiftTo(g,y); + } + while(x.signum() > 0) { + if((i = x.getLowestSetBit()) > 0) x.rShiftTo(i,x); + if((i = y.getLowestSetBit()) > 0) y.rShiftTo(i,y); + if(x.compareTo(y) >= 0) { + x.subTo(y,x); + x.rShiftTo(1,x); + } + else { + y.subTo(x,y); + y.rShiftTo(1,y); + } + } + if(g > 0) y.lShiftTo(g,y); + return y; +} + +// (protected) this % n, n < 2^26 +function bnpModInt(n) { + var this_array = this.array; + if(n <= 0) return 0; + var d = BI_DV%n, r = (this.s<0)?n-1:0; + if(this.t > 0) + if(d == 0) r = this_array[0]%n; + else for(var i = this.t-1; i >= 0; --i) r = (d*r+this_array[i])%n; + return r; +} + +// (public) 1/this % m (HAC 14.61) +function bnModInverse(m) { + var ac = m.isEven(); + if((this.isEven() && ac) || m.signum() == 0) return BigInteger.ZERO; + var u = m.clone(), v = this.clone(); + var a = nbv(1), b = nbv(0), c = nbv(0), d = nbv(1); + while(u.signum() != 0) { + while(u.isEven()) { + u.rShiftTo(1,u); + if(ac) { + if(!a.isEven() || !b.isEven()) { a.addTo(this,a); b.subTo(m,b); } + a.rShiftTo(1,a); + } + else if(!b.isEven()) b.subTo(m,b); + b.rShiftTo(1,b); + } + while(v.isEven()) { + v.rShiftTo(1,v); + if(ac) { + if(!c.isEven() || !d.isEven()) { c.addTo(this,c); d.subTo(m,d); } + c.rShiftTo(1,c); + } + else if(!d.isEven()) d.subTo(m,d); + d.rShiftTo(1,d); + } + if(u.compareTo(v) >= 0) { + u.subTo(v,u); + if(ac) a.subTo(c,a); + b.subTo(d,b); + } + else { + v.subTo(u,v); + if(ac) c.subTo(a,c); + d.subTo(b,d); + } + } + if(v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO; + if(d.compareTo(m) >= 0) return d.subtract(m); + if(d.signum() < 0) d.addTo(m,d); else return d; + if(d.signum() < 0) return d.add(m); else return d; +} + +var lowprimes = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509]; +var lplim = (1<<26)/lowprimes[lowprimes.length-1]; + +// (public) test primality with certainty >= 1-.5^t +function bnIsProbablePrime(t) { + var i, x = this.abs(); + var x_array = x.array; + if(x.t == 1 && x_array[0] <= lowprimes[lowprimes.length-1]) { + for(i = 0; i < lowprimes.length; ++i) + if(x_array[0] == lowprimes[i]) return true; + return false; + } + if(x.isEven()) return false; + i = 1; + while(i < lowprimes.length) { + var m = lowprimes[i], j = i+1; + while(j < lowprimes.length && m < lplim) m *= lowprimes[j++]; + m = x.modInt(m); + while(i < j) if(m%lowprimes[i++] == 0) return false; + } + return x.millerRabin(t); +} + +// (protected) true if probably prime (HAC 4.24, Miller-Rabin) +function bnpMillerRabin(t) { + var n1 = this.subtract(BigInteger.ONE); + var k = n1.getLowestSetBit(); + if(k <= 0) return false; + var r = n1.shiftRight(k); + t = (t+1)>>1; + if(t > lowprimes.length) t = lowprimes.length; + var a = nbi(); + for(var i = 0; i < t; ++i) { + a.fromInt(lowprimes[i]); + var y = a.modPow(r,this); + if(y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) { + var j = 1; + while(j++ < k && y.compareTo(n1) != 0) { + y = y.modPowInt(2,this); + if(y.compareTo(BigInteger.ONE) == 0) return false; + } + if(y.compareTo(n1) != 0) return false; + } + } + return true; +} + +// protected +BigInteger.prototype.chunkSize = bnpChunkSize; +BigInteger.prototype.toRadix = bnpToRadix; +BigInteger.prototype.fromRadix = bnpFromRadix; +BigInteger.prototype.fromNumber = bnpFromNumber; +BigInteger.prototype.bitwiseTo = bnpBitwiseTo; +BigInteger.prototype.changeBit = bnpChangeBit; +BigInteger.prototype.addTo = bnpAddTo; +BigInteger.prototype.dMultiply = bnpDMultiply; +BigInteger.prototype.dAddOffset = bnpDAddOffset; +BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo; +BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo; +BigInteger.prototype.modInt = bnpModInt; +BigInteger.prototype.millerRabin = bnpMillerRabin; + +// public +BigInteger.prototype.clone = bnClone; +BigInteger.prototype.intValue = bnIntValue; +BigInteger.prototype.byteValue = bnByteValue; +BigInteger.prototype.shortValue = bnShortValue; +BigInteger.prototype.signum = bnSigNum; +BigInteger.prototype.toByteArray = bnToByteArray; +BigInteger.prototype.equals = bnEquals; +BigInteger.prototype.min = bnMin; +BigInteger.prototype.max = bnMax; +BigInteger.prototype.and = bnAnd; +BigInteger.prototype.or = bnOr; +BigInteger.prototype.xor = bnXor; +BigInteger.prototype.andNot = bnAndNot; +BigInteger.prototype.not = bnNot; +BigInteger.prototype.shiftLeft = bnShiftLeft; +BigInteger.prototype.shiftRight = bnShiftRight; +BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit; +BigInteger.prototype.bitCount = bnBitCount; +BigInteger.prototype.testBit = bnTestBit; +BigInteger.prototype.setBit = bnSetBit; +BigInteger.prototype.clearBit = bnClearBit; +BigInteger.prototype.flipBit = bnFlipBit; +BigInteger.prototype.add = bnAdd; +BigInteger.prototype.subtract = bnSubtract; +BigInteger.prototype.multiply = bnMultiply; +BigInteger.prototype.divide = bnDivide; +BigInteger.prototype.remainder = bnRemainder; +BigInteger.prototype.divideAndRemainder = bnDivideAndRemainder; +BigInteger.prototype.modPow = bnModPow; +BigInteger.prototype.modInverse = bnModInverse; +BigInteger.prototype.pow = bnPow; +BigInteger.prototype.gcd = bnGCD; +BigInteger.prototype.isProbablePrime = bnIsProbablePrime; + +// BigInteger interfaces not implemented in jsbn: + +// BigInteger(int signum, byte[] magnitude) +// double doubleValue() +// float floatValue() +// int hashCode() +// long longValue() +// static BigInteger valueOf(long val) +// prng4.js - uses Arcfour as a PRNG + +function Arcfour() { + this.i = 0; + this.j = 0; + this.S = new Array(); +} + +// Initialize arcfour context from key, an array of ints, each from [0..255] +function ARC4init(key) { + var i, j, t; + for(i = 0; i < 256; ++i) + this.S[i] = i; + j = 0; + for(i = 0; i < 256; ++i) { + j = (j + this.S[i] + key[i % key.length]) & 255; + t = this.S[i]; + this.S[i] = this.S[j]; + this.S[j] = t; + } + this.i = 0; + this.j = 0; +} + +function ARC4next() { + var t; + this.i = (this.i + 1) & 255; + this.j = (this.j + this.S[this.i]) & 255; + t = this.S[this.i]; + this.S[this.i] = this.S[this.j]; + this.S[this.j] = t; + return this.S[(t + this.S[this.i]) & 255]; +} + +Arcfour.prototype.init = ARC4init; +Arcfour.prototype.next = ARC4next; + +// Plug in your RNG constructor here +function prng_newstate() { + return new Arcfour(); +} + +// Pool size must be a multiple of 4 and greater than 32. +// An array of bytes the size of the pool will be passed to init() +var rng_psize = 256; +// Random number generator - requires a PRNG backend, e.g. prng4.js + +// For best results, put code like +// +// in your main HTML document. + +var rng_state; +var rng_pool; +var rng_pptr; + +// Mix in a 32-bit integer into the pool +function rng_seed_int(x) { + rng_pool[rng_pptr++] ^= x & 255; + rng_pool[rng_pptr++] ^= (x >> 8) & 255; + rng_pool[rng_pptr++] ^= (x >> 16) & 255; + rng_pool[rng_pptr++] ^= (x >> 24) & 255; + if(rng_pptr >= rng_psize) rng_pptr -= rng_psize; +} + +// Mix in the current time (w/milliseconds) into the pool +function rng_seed_time() { + // Use pre-computed date to avoid making the benchmark + // results dependent on the current date. + rng_seed_int(1122926989487); +} + +// Initialize the pool with junk if needed. +if(rng_pool == null) { + rng_pool = new Array(); + rng_pptr = 0; + var t; + while(rng_pptr < rng_psize) { // extract some randomness from Math.random() + t = Math.floor(65536 * Math.random()); + rng_pool[rng_pptr++] = t >>> 8; + rng_pool[rng_pptr++] = t & 255; + } + rng_pptr = 0; + rng_seed_time(); + //rng_seed_int(window.screenX); + //rng_seed_int(window.screenY); +} + +function rng_get_byte() { + if(rng_state == null) { + rng_seed_time(); + rng_state = prng_newstate(); + rng_state.init(rng_pool); + for(rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) + rng_pool[rng_pptr] = 0; + rng_pptr = 0; + //rng_pool = null; + } + // TODO: allow reseeding after first request + return rng_state.next(); +} + +function rng_get_bytes(ba) { + var i; + for(i = 0; i < ba.length; ++i) ba[i] = rng_get_byte(); +} + +function SecureRandom() {} + +SecureRandom.prototype.nextBytes = rng_get_bytes; +// Depends on jsbn.js and rng.js + +// convert a (hex) string to a bignum object +function parseBigInt(str,r) { + return new BigInteger(str,r); +} + +function linebrk(s,n) { + var ret = ""; + var i = 0; + while(i + n < s.length) { + ret += s.substring(i,i+n) + "\n"; + i += n; + } + return ret + s.substring(i,s.length); +} + +function byte2Hex(b) { + if(b < 0x10) + return "0" + b.toString(16); + else + return b.toString(16); +} + +// PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint +function pkcs1pad2(s,n) { + if(n < s.length + 11) { + alert("Message too long for RSA"); + return null; + } + var ba = new Array(); + var i = s.length - 1; + while(i >= 0 && n > 0) ba[--n] = s.charCodeAt(i--); + ba[--n] = 0; + var rng = new SecureRandom(); + var x = new Array(); + while(n > 2) { // random non-zero pad + x[0] = 0; + while(x[0] == 0) rng.nextBytes(x); + ba[--n] = x[0]; + } + ba[--n] = 2; + ba[--n] = 0; + return new BigInteger(ba); +} + +// "empty" RSA key constructor +function RSAKey() { + this.n = null; + this.e = 0; + this.d = null; + this.p = null; + this.q = null; + this.dmp1 = null; + this.dmq1 = null; + this.coeff = null; +} + +// Set the public key fields N and e from hex strings +function RSASetPublic(N,E) { + if(N != null && E != null && N.length > 0 && E.length > 0) { + this.n = parseBigInt(N,16); + this.e = parseInt(E,16); + } + else + alert("Invalid RSA public key"); +} + +// Perform raw public operation on "x": return x^e (mod n) +function RSADoPublic(x) { + return x.modPowInt(this.e, this.n); +} + +// Return the PKCS#1 RSA encryption of "text" as an even-length hex string +function RSAEncrypt(text) { + var m = pkcs1pad2(text,(this.n.bitLength()+7)>>3); + if(m == null) return null; + var c = this.doPublic(m); + if(c == null) return null; + var h = c.toString(16); + if((h.length & 1) == 0) return h; else return "0" + h; +} + +// Return the PKCS#1 RSA encryption of "text" as a Base64-encoded string +//function RSAEncryptB64(text) { +// var h = this.encrypt(text); +// if(h) return hex2b64(h); else return null; +//} + +// protected +RSAKey.prototype.doPublic = RSADoPublic; + +// public +RSAKey.prototype.setPublic = RSASetPublic; +RSAKey.prototype.encrypt = RSAEncrypt; +//RSAKey.prototype.encrypt_b64 = RSAEncryptB64; +// Depends on rsa.js and jsbn2.js + +// Undo PKCS#1 (type 2, random) padding and, if valid, return the plaintext +function pkcs1unpad2(d,n) { + var b = d.toByteArray(); + var i = 0; + while(i < b.length && b[i] == 0) ++i; + if(b.length-i != n-1 || b[i] != 2) + return null; + ++i; + while(b[i] != 0) + if(++i >= b.length) return null; + var ret = ""; + while(++i < b.length) + ret += String.fromCharCode(b[i]); + return ret; +} + +// Set the private key fields N, e, and d from hex strings +function RSASetPrivate(N,E,D) { + if(N != null && E != null && N.length > 0 && E.length > 0) { + this.n = parseBigInt(N,16); + this.e = parseInt(E,16); + this.d = parseBigInt(D,16); + } + else + alert("Invalid RSA private key"); +} + +// Set the private key fields N, e, d and CRT params from hex strings +function RSASetPrivateEx(N,E,D,P,Q,DP,DQ,C) { + if(N != null && E != null && N.length > 0 && E.length > 0) { + this.n = parseBigInt(N,16); + this.e = parseInt(E,16); + this.d = parseBigInt(D,16); + this.p = parseBigInt(P,16); + this.q = parseBigInt(Q,16); + this.dmp1 = parseBigInt(DP,16); + this.dmq1 = parseBigInt(DQ,16); + this.coeff = parseBigInt(C,16); + } + else + alert("Invalid RSA private key"); +} + +// Generate a new random private key B bits long, using public expt E +function RSAGenerate(B,E) { + var rng = new SecureRandom(); + var qs = B>>1; + this.e = parseInt(E,16); + var ee = new BigInteger(E,16); + for(;;) { + for(;;) { + this.p = new BigInteger(B-qs,1,rng); + if(this.p.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.p.isProbablePrime(10)) break; + } + for(;;) { + this.q = new BigInteger(qs,1,rng); + if(this.q.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.q.isProbablePrime(10)) break; + } + if(this.p.compareTo(this.q) <= 0) { + var t = this.p; + this.p = this.q; + this.q = t; + } + var p1 = this.p.subtract(BigInteger.ONE); + var q1 = this.q.subtract(BigInteger.ONE); + var phi = p1.multiply(q1); + if(phi.gcd(ee).compareTo(BigInteger.ONE) == 0) { + this.n = this.p.multiply(this.q); + this.d = ee.modInverse(phi); + this.dmp1 = this.d.mod(p1); + this.dmq1 = this.d.mod(q1); + this.coeff = this.q.modInverse(this.p); + break; + } + } +} + +// Perform raw private operation on "x": return x^d (mod n) +function RSADoPrivate(x) { + if(this.p == null || this.q == null) + return x.modPow(this.d, this.n); + + // TODO: re-calculate any missing CRT params + var xp = x.mod(this.p).modPow(this.dmp1, this.p); + var xq = x.mod(this.q).modPow(this.dmq1, this.q); + + while(xp.compareTo(xq) < 0) + xp = xp.add(this.p); + return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq); +} + +// Return the PKCS#1 RSA decryption of "ctext". +// "ctext" is an even-length hex string and the output is a plain string. +function RSADecrypt(ctext) { + var c = parseBigInt(ctext, 16); + var m = this.doPrivate(c); + if(m == null) return null; + return pkcs1unpad2(m, (this.n.bitLength()+7)>>3); +} + +// Return the PKCS#1 RSA decryption of "ctext". +// "ctext" is a Base64-encoded string and the output is a plain string. +//function RSAB64Decrypt(ctext) { +// var h = b64tohex(ctext); +// if(h) return this.decrypt(h); else return null; +//} + +// protected +RSAKey.prototype.doPrivate = RSADoPrivate; + +// public +RSAKey.prototype.setPrivate = RSASetPrivate; +RSAKey.prototype.setPrivateEx = RSASetPrivateEx; +RSAKey.prototype.generate = RSAGenerate; +RSAKey.prototype.decrypt = RSADecrypt; +//RSAKey.prototype.b64_decrypt = RSAB64Decrypt; + + +nValue="a5261939975948bb7a58dffe5ff54e65f0498f9175f5a09288810b8975871e99af3b5dd94057b0fc07535f5f97444504fa35169d461d0d30cf0192e307727c065168c788771c561a9400fb49175e9e6aa4e23fe11af69e9412dd23b0cb6684c4c2429bce139e848ab26d0829073351f4acd36074eafd036a5eb83359d2a698d3"; +eValue="10001"; +dValue="8e9912f6d3645894e8d38cb58c0db81ff516cf4c7e5a14c7f1eddb1459d2cded4d8d293fc97aee6aefb861859c8b6a3d1dfe710463e1f9ddc72048c09751971c4a580aa51eb523357a3cc48d31cfad1d4a165066ed92d4748fb6571211da5cb14bc11b6e2df7c1a559e6d5ac1cd5c94703a22891464fba23d0d965086277a161"; +pValue="d090ce58a92c75233a6486cb0a9209bf3583b64f540c76f5294bb97d285eed33aec220bde14b2417951178ac152ceab6da7090905b478195498b352048f15e7d"; +qValue="cab575dc652bb66df15a0359609d51d1db184750c00c6698b90ef3465c99655103edbf0d54c56aec0ce3c4d22592338092a126a0cc49f65a4a30d222b411e58f"; +dmp1Value="1a24bca8e273df2f0e47c199bbf678604e7df7215480c77c8db39f49b000ce2cf7500038acfff5433b7d582a01f1826e6f4d42e1c57f5e1fef7b12aabc59fd25"; +dmq1Value="3d06982efbbe47339e1f6d36b1216b8a741d410b0c662f54f7118b27b9a4ec9d914337eb39841d8666f3034408cf94f5b62f11c402fc994fe15a05493150d9fd"; +coeffValue="3a3e731acd8960b7ff9eb81a7ff93bd1cfa74cbd56987db58b4594fb09c09084db1734c8143f98b602b981aaa9243ca28deb69b5b280ee8dcee0fd2625e53250"; + +setupEngine(am3, 28); + +var TEXT = "The quick brown fox jumped over the extremely lazy frog! " + + "Now is the time for all good men to come to the party."; +var encrypted; + +function encrypt() { + var RSA = new RSAKey(); + RSA.setPublic(nValue, eValue); + RSA.setPrivateEx(nValue, eValue, dValue, pValue, qValue, dmp1Value, dmq1Value, coeffValue); + encrypted = RSA.encrypt(TEXT); +} + +function decrypt() { + var RSA = new RSAKey(); + RSA.setPublic(nValue, eValue); + RSA.setPrivateEx(nValue, eValue, dValue, pValue, qValue, dmp1Value, dmq1Value, coeffValue); + var decrypted = RSA.decrypt(encrypted); + if (decrypted != TEXT) { + throw new Error("Crypto operation failed"); + } +} diff --git a/tests/benchmarks/script/v8/tests/deltablue.js b/tests/benchmarks/script/v8/tests/deltablue.js new file mode 100644 index 0000000..548fd96 --- /dev/null +++ b/tests/benchmarks/script/v8/tests/deltablue.js @@ -0,0 +1,880 @@ +// Copyright 2008 the V8 project authors. All rights reserved. +// Copyright 1996 John Maloney and Mario Wolczko. + +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +// This implementation of the DeltaBlue benchmark is derived +// from the Smalltalk implementation by John Maloney and Mario +// Wolczko. Some parts have been translated directly, whereas +// others have been modified more aggresively to make it feel +// more like a JavaScript program. + + +var DeltaBlue = new BenchmarkSuite('DeltaBlue', 66118, [ + new Benchmark('DeltaBlue', deltaBlue) +]); + + +/** + * A JavaScript implementation of the DeltaBlue constraint-solving + * algorithm, as described in: + * + * "The DeltaBlue Algorithm: An Incremental Constraint Hierarchy Solver" + * Bjorn N. Freeman-Benson and John Maloney + * January 1990 Communications of the ACM, + * also available as University of Washington TR 89-08-06. + * + * Beware: this benchmark is written in a grotesque style where + * the constraint model is built by side-effects from constructors. + * I've kept it this way to avoid deviating too much from the original + * implementation. + */ + + +/* --- O b j e c t M o d e l --- */ + +Object.prototype.inheritsFrom = function (shuper) { + function Inheriter() { } + Inheriter.prototype = shuper.prototype; + this.prototype = new Inheriter(); + this.superConstructor = shuper; +} + +function OrderedCollection() { + this.elms = new Array(); +} + +OrderedCollection.prototype.add = function (elm) { + this.elms.push(elm); +} + +OrderedCollection.prototype.at = function (index) { + return this.elms[index]; +} + +OrderedCollection.prototype.size = function () { + return this.elms.length; +} + +OrderedCollection.prototype.removeFirst = function () { + return this.elms.pop(); +} + +OrderedCollection.prototype.remove = function (elm) { + var index = 0, skipped = 0; + for (var i = 0; i < this.elms.length; i++) { + var value = this.elms[i]; + if (value != elm) { + this.elms[index] = value; + index++; + } else { + skipped++; + } + } + for (var i = 0; i < skipped; i++) + this.elms.pop(); +} + +/* --- * + * S t r e n g t h + * --- */ + +/** + * Strengths are used to measure the relative importance of constraints. + * New strengths may be inserted in the strength hierarchy without + * disrupting current constraints. Strengths cannot be created outside + * this class, so pointer comparison can be used for value comparison. + */ +function Strength(strengthValue, name) { + this.strengthValue = strengthValue; + this.name = name; +} + +Strength.stronger = function (s1, s2) { + return s1.strengthValue < s2.strengthValue; +} + +Strength.weaker = function (s1, s2) { + return s1.strengthValue > s2.strengthValue; +} + +Strength.weakestOf = function (s1, s2) { + return this.weaker(s1, s2) ? s1 : s2; +} + +Strength.strongest = function (s1, s2) { + return this.stronger(s1, s2) ? s1 : s2; +} + +Strength.prototype.nextWeaker = function () { + switch (this.strengthValue) { + case 0: return Strength.WEAKEST; + case 1: return Strength.WEAK_DEFAULT; + case 2: return Strength.NORMAL; + case 3: return Strength.STRONG_DEFAULT; + case 4: return Strength.PREFERRED; + case 5: return Strength.REQUIRED; + } +} + +// Strength constants. +Strength.REQUIRED = new Strength(0, "required"); +Strength.STONG_PREFERRED = new Strength(1, "strongPreferred"); +Strength.PREFERRED = new Strength(2, "preferred"); +Strength.STRONG_DEFAULT = new Strength(3, "strongDefault"); +Strength.NORMAL = new Strength(4, "normal"); +Strength.WEAK_DEFAULT = new Strength(5, "weakDefault"); +Strength.WEAKEST = new Strength(6, "weakest"); + +/* --- * + * C o n s t r a i n t + * --- */ + +/** + * An abstract class representing a system-maintainable relationship + * (or "constraint") between a set of variables. A constraint supplies + * a strength instance variable; concrete subclasses provide a means + * of storing the constrained variables and other information required + * to represent a constraint. + */ +function Constraint(strength) { + this.strength = strength; +} + +/** + * Activate this constraint and attempt to satisfy it. + */ +Constraint.prototype.addConstraint = function () { + this.addToGraph(); + planner.incrementalAdd(this); +} + +/** + * Attempt to find a way to enforce this constraint. If successful, + * record the solution, perhaps modifying the current dataflow + * graph. Answer the constraint that this constraint overrides, if + * there is one, or nil, if there isn't. + * Assume: I am not already satisfied. + */ +Constraint.prototype.satisfy = function (mark) { + this.chooseMethod(mark); + if (!this.isSatisfied()) { + if (this.strength == Strength.REQUIRED) + alert("Could not satisfy a required constraint!"); + return null; + } + this.markInputs(mark); + var out = this.output(); + var overridden = out.determinedBy; + if (overridden != null) overridden.markUnsatisfied(); + out.determinedBy = this; + if (!planner.addPropagate(this, mark)) + alert("Cycle encountered"); + out.mark = mark; + return overridden; +} + +Constraint.prototype.destroyConstraint = function () { + if (this.isSatisfied()) planner.incrementalRemove(this); + else this.removeFromGraph(); +} + +/** + * Normal constraints are not input constraints. An input constraint + * is one that depends on external state, such as the mouse, the + * keybord, a clock, or some arbitraty piece of imperative code. + */ +Constraint.prototype.isInput = function () { + return false; +} + +/* --- * + * U n a r y C o n s t r a i n t + * --- */ + +/** + * Abstract superclass for constraints having a single possible output + * variable. + */ +function UnaryConstraint(v, strength) { + UnaryConstraint.superConstructor.call(this, strength); + this.myOutput = v; + this.satisfied = false; + this.addConstraint(); +} + +UnaryConstraint.inheritsFrom(Constraint); + +/** + * Adds this constraint to the constraint graph + */ +UnaryConstraint.prototype.addToGraph = function () { + this.myOutput.addConstraint(this); + this.satisfied = false; +} + +/** + * Decides if this constraint can be satisfied and records that + * decision. + */ +UnaryConstraint.prototype.chooseMethod = function (mark) { + this.satisfied = (this.myOutput.mark != mark) + && Strength.stronger(this.strength, this.myOutput.walkStrength); +} + +/** + * Returns true if this constraint is satisfied in the current solution. + */ +UnaryConstraint.prototype.isSatisfied = function () { + return this.satisfied; +} + +UnaryConstraint.prototype.markInputs = function (mark) { + // has no inputs +} + +/** + * Returns the current output variable. + */ +UnaryConstraint.prototype.output = function () { + return this.myOutput; +} + +/** + * Calculate the walkabout strength, the stay flag, and, if it is + * 'stay', the value for the current output of this constraint. Assume + * this constraint is satisfied. + */ +UnaryConstraint.prototype.recalculate = function () { + this.myOutput.walkStrength = this.strength; + this.myOutput.stay = !this.isInput(); + if (this.myOutput.stay) this.execute(); // Stay optimization +} + +/** + * Records that this constraint is unsatisfied + */ +UnaryConstraint.prototype.markUnsatisfied = function () { + this.satisfied = false; +} + +UnaryConstraint.prototype.inputsKnown = function () { + return true; +} + +UnaryConstraint.prototype.removeFromGraph = function () { + if (this.myOutput != null) this.myOutput.removeConstraint(this); + this.satisfied = false; +} + +/* --- * + * S t a y C o n s t r a i n t + * --- */ + +/** + * Variables that should, with some level of preference, stay the same. + * Planners may exploit the fact that instances, if satisfied, will not + * change their output during plan execution. This is called "stay + * optimization". + */ +function StayConstraint(v, str) { + StayConstraint.superConstructor.call(this, v, str); +} + +StayConstraint.inheritsFrom(UnaryConstraint); + +StayConstraint.prototype.execute = function () { + // Stay constraints do nothing +} + +/* --- * + * E d i t C o n s t r a i n t + * --- */ + +/** + * A unary input constraint used to mark a variable that the client + * wishes to change. + */ +function EditConstraint(v, str) { + EditConstraint.superConstructor.call(this, v, str); +} + +EditConstraint.inheritsFrom(UnaryConstraint); + +/** + * Edits indicate that a variable is to be changed by imperative code. + */ +EditConstraint.prototype.isInput = function () { + return true; +} + +EditConstraint.prototype.execute = function () { + // Edit constraints do nothing +} + +/* --- * + * B i n a r y C o n s t r a i n t + * --- */ + +var Direction = new Object(); +Direction.NONE = 0; +Direction.FORWARD = 1; +Direction.BACKWARD = -1; + +/** + * Abstract superclass for constraints having two possible output + * variables. + */ +function BinaryConstraint(var1, var2, strength) { + BinaryConstraint.superConstructor.call(this, strength); + this.v1 = var1; + this.v2 = var2; + this.direction = Direction.NONE; + this.addConstraint(); +} + +BinaryConstraint.inheritsFrom(Constraint); + +/** + * Decides if this constraint can be satisfied and which way it + * should flow based on the relative strength of the variables related, + * and record that decision. + */ +BinaryConstraint.prototype.chooseMethod = function (mark) { + if (this.v1.mark == mark) { + this.direction = (this.v2.mark != mark && Strength.stronger(this.strength, this.v2.walkStrength)) + ? Direction.FORWARD + : Direction.NONE; + } + if (this.v2.mark == mark) { + this.direction = (this.v1.mark != mark && Strength.stronger(this.strength, this.v1.walkStrength)) + ? Direction.BACKWARD + : Direction.NONE; + } + if (Strength.weaker(this.v1.walkStrength, this.v2.walkStrength)) { + this.direction = Strength.stronger(this.strength, this.v1.walkStrength) + ? Direction.BACKWARD + : Direction.NONE; + } else { + this.direction = Strength.stronger(this.strength, this.v2.walkStrength) + ? Direction.FORWARD + : Direction.BACKWARD + } +} + +/** + * Add this constraint to the constraint graph + */ +BinaryConstraint.prototype.addToGraph = function () { + this.v1.addConstraint(this); + this.v2.addConstraint(this); + this.direction = Direction.NONE; +} + +/** + * Answer true if this constraint is satisfied in the current solution. + */ +BinaryConstraint.prototype.isSatisfied = function () { + return this.direction != Direction.NONE; +} + +/** + * Mark the input variable with the given mark. + */ +BinaryConstraint.prototype.markInputs = function (mark) { + this.input().mark = mark; +} + +/** + * Returns the current input variable + */ +BinaryConstraint.prototype.input = function () { + return (this.direction == Direction.FORWARD) ? this.v1 : this.v2; +} + +/** + * Returns the current output variable + */ +BinaryConstraint.prototype.output = function () { + return (this.direction == Direction.FORWARD) ? this.v2 : this.v1; +} + +/** + * Calculate the walkabout strength, the stay flag, and, if it is + * 'stay', the value for the current output of this + * constraint. Assume this constraint is satisfied. + */ +BinaryConstraint.prototype.recalculate = function () { + var ihn = this.input(), out = this.output(); + out.walkStrength = Strength.weakestOf(this.strength, ihn.walkStrength); + out.stay = ihn.stay; + if (out.stay) this.execute(); +} + +/** + * Record the fact that this constraint is unsatisfied. + */ +BinaryConstraint.prototype.markUnsatisfied = function () { + this.direction = Direction.NONE; +} + +BinaryConstraint.prototype.inputsKnown = function (mark) { + var i = this.input(); + return i.mark == mark || i.stay || i.determinedBy == null; +} + +BinaryConstraint.prototype.removeFromGraph = function () { + if (this.v1 != null) this.v1.removeConstraint(this); + if (this.v2 != null) this.v2.removeConstraint(this); + this.direction = Direction.NONE; +} + +/* --- * + * S c a l e C o n s t r a i n t + * --- */ + +/** + * Relates two variables by the linear scaling relationship: "v2 = + * (v1 * scale) + offset". Either v1 or v2 may be changed to maintain + * this relationship but the scale factor and offset are considered + * read-only. + */ +function ScaleConstraint(src, scale, offset, dest, strength) { + this.direction = Direction.NONE; + this.scale = scale; + this.offset = offset; + ScaleConstraint.superConstructor.call(this, src, dest, strength); +} + +ScaleConstraint.inheritsFrom(BinaryConstraint); + +/** + * Adds this constraint to the constraint graph. + */ +ScaleConstraint.prototype.addToGraph = function () { + ScaleConstraint.superConstructor.prototype.addToGraph.call(this); + this.scale.addConstraint(this); + this.offset.addConstraint(this); +} + +ScaleConstraint.prototype.removeFromGraph = function () { + ScaleConstraint.superConstructor.prototype.removeFromGraph.call(this); + if (this.scale != null) this.scale.removeConstraint(this); + if (this.offset != null) this.offset.removeConstraint(this); +} + +ScaleConstraint.prototype.markInputs = function (mark) { + ScaleConstraint.superConstructor.prototype.markInputs.call(this, mark); + this.scale.mark = this.offset.mark = mark; +} + +/** + * Enforce this constraint. Assume that it is satisfied. + */ +ScaleConstraint.prototype.execute = function () { + if (this.direction == Direction.FORWARD) { + this.v2.value = this.v1.value * this.scale.value + this.offset.value; + } else { + this.v1.value = (this.v2.value - this.offset.value) / this.scale.value; + } +} + +/** + * Calculate the walkabout strength, the stay flag, and, if it is + * 'stay', the value for the current output of this constraint. Assume + * this constraint is satisfied. + */ +ScaleConstraint.prototype.recalculate = function () { + var ihn = this.input(), out = this.output(); + out.walkStrength = Strength.weakestOf(this.strength, ihn.walkStrength); + out.stay = ihn.stay && this.scale.stay && this.offset.stay; + if (out.stay) this.execute(); +} + +/* --- * + * E q u a l i t y C o n s t r a i n t + * --- */ + +/** + * Constrains two variables to have the same value. + */ +function EqualityConstraint(var1, var2, strength) { + EqualityConstraint.superConstructor.call(this, var1, var2, strength); +} + +EqualityConstraint.inheritsFrom(BinaryConstraint); + +/** + * Enforce this constraint. Assume that it is satisfied. + */ +EqualityConstraint.prototype.execute = function () { + this.output().value = this.input().value; +} + +/* --- * + * V a r i a b l e + * --- */ + +/** + * A constrained variable. In addition to its value, it maintain the + * structure of the constraint graph, the current dataflow graph, and + * various parameters of interest to the DeltaBlue incremental + * constraint solver. + **/ +function Variable(name, initialValue) { + this.value = initialValue || 0; + this.constraints = new OrderedCollection(); + this.determinedBy = null; + this.mark = 0; + this.walkStrength = Strength.WEAKEST; + this.stay = true; + this.name = name; +} + +/** + * Add the given constraint to the set of all constraints that refer + * this variable. + */ +Variable.prototype.addConstraint = function (c) { + this.constraints.add(c); +} + +/** + * Removes all traces of c from this variable. + */ +Variable.prototype.removeConstraint = function (c) { + this.constraints.remove(c); + if (this.determinedBy == c) this.determinedBy = null; +} + +/* --- * + * P l a n n e r + * --- */ + +/** + * The DeltaBlue planner + */ +function Planner() { + this.currentMark = 0; +} + +/** + * Attempt to satisfy the given constraint and, if successful, + * incrementally update the dataflow graph. Details: If satifying + * the constraint is successful, it may override a weaker constraint + * on its output. The algorithm attempts to resatisfy that + * constraint using some other method. This process is repeated + * until either a) it reaches a variable that was not previously + * determined by any constraint or b) it reaches a constraint that + * is too weak to be satisfied using any of its methods. The + * variables of constraints that have been processed are marked with + * a unique mark value so that we know where we've been. This allows + * the algorithm to avoid getting into an infinite loop even if the + * constraint graph has an inadvertent cycle. + */ +Planner.prototype.incrementalAdd = function (c) { + var mark = this.newMark(); + var overridden = c.satisfy(mark); + while (overridden != null) + overridden = overridden.satisfy(mark); +} + +/** + * Entry point for retracting a constraint. Remove the given + * constraint and incrementally update the dataflow graph. + * Details: Retracting the given constraint may allow some currently + * unsatisfiable downstream constraint to be satisfied. We therefore collect + * a list of unsatisfied downstream constraints and attempt to + * satisfy each one in turn. This list is traversed by constraint + * strength, strongest first, as a heuristic for avoiding + * unnecessarily adding and then overriding weak constraints. + * Assume: c is satisfied. + */ +Planner.prototype.incrementalRemove = function (c) { + var out = c.output(); + c.markUnsatisfied(); + c.removeFromGraph(); + var unsatisfied = this.removePropagateFrom(out); + var strength = Strength.REQUIRED; + do { + for (var i = 0; i < unsatisfied.size(); i++) { + var u = unsatisfied.at(i); + if (u.strength == strength) + this.incrementalAdd(u); + } + strength = strength.nextWeaker(); + } while (strength != Strength.WEAKEST); +} + +/** + * Select a previously unused mark value. + */ +Planner.prototype.newMark = function () { + return ++this.currentMark; +} + +/** + * Extract a plan for resatisfaction starting from the given source + * constraints, usually a set of input constraints. This method + * assumes that stay optimization is desired; the plan will contain + * only constraints whose output variables are not stay. Constraints + * that do no computation, such as stay and edit constraints, are + * not included in the plan. + * Details: The outputs of a constraint are marked when it is added + * to the plan under construction. A constraint may be appended to + * the plan when all its input variables are known. A variable is + * known if either a) the variable is marked (indicating that has + * been computed by a constraint appearing earlier in the plan), b) + * the variable is 'stay' (i.e. it is a constant at plan execution + * time), or c) the variable is not determined by any + * constraint. The last provision is for past states of history + * variables, which are not stay but which are also not computed by + * any constraint. + * Assume: sources are all satisfied. + */ +Planner.prototype.makePlan = function (sources) { + var mark = this.newMark(); + var plan = new Plan(); + var todo = sources; + while (todo.size() > 0) { + var c = todo.removeFirst(); + if (c.output().mark != mark && c.inputsKnown(mark)) { + plan.addConstraint(c); + c.output().mark = mark; + this.addConstraintsConsumingTo(c.output(), todo); + } + } + return plan; +} + +/** + * Extract a plan for resatisfying starting from the output of the + * given constraints, usually a set of input constraints. + */ +Planner.prototype.extractPlanFromConstraints = function (constraints) { + var sources = new OrderedCollection(); + for (var i = 0; i < constraints.size(); i++) { + var c = constraints.at(i); + if (c.isInput() && c.isSatisfied()) + // not in plan already and eligible for inclusion + sources.add(c); + } + return this.makePlan(sources); +} + +/** + * Recompute the walkabout strengths and stay flags of all variables + * downstream of the given constraint and recompute the actual + * values of all variables whose stay flag is true. If a cycle is + * detected, remove the given constraint and answer + * false. Otherwise, answer true. + * Details: Cycles are detected when a marked variable is + * encountered downstream of the given constraint. The sender is + * assumed to have marked the inputs of the given constraint with + * the given mark. Thus, encountering a marked node downstream of + * the output constraint means that there is a path from the + * constraint's output to one of its inputs. + */ +Planner.prototype.addPropagate = function (c, mark) { + var todo = new OrderedCollection(); + todo.add(c); + while (todo.size() > 0) { + var d = todo.removeFirst(); + if (d.output().mark == mark) { + this.incrementalRemove(c); + return false; + } + d.recalculate(); + this.addConstraintsConsumingTo(d.output(), todo); + } + return true; +} + + +/** + * Update the walkabout strengths and stay flags of all variables + * downstream of the given constraint. Answer a collection of + * unsatisfied constraints sorted in order of decreasing strength. + */ +Planner.prototype.removePropagateFrom = function (out) { + out.determinedBy = null; + out.walkStrength = Strength.WEAKEST; + out.stay = true; + var unsatisfied = new OrderedCollection(); + var todo = new OrderedCollection(); + todo.add(out); + while (todo.size() > 0) { + var v = todo.removeFirst(); + for (var i = 0; i < v.constraints.size(); i++) { + var c = v.constraints.at(i); + if (!c.isSatisfied()) + unsatisfied.add(c); + } + var determining = v.determinedBy; + for (var i = 0; i < v.constraints.size(); i++) { + var next = v.constraints.at(i); + if (next != determining && next.isSatisfied()) { + next.recalculate(); + todo.add(next.output()); + } + } + } + return unsatisfied; +} + +Planner.prototype.addConstraintsConsumingTo = function (v, coll) { + var determining = v.determinedBy; + var cc = v.constraints; + for (var i = 0; i < cc.size(); i++) { + var c = cc.at(i); + if (c != determining && c.isSatisfied()) + coll.add(c); + } +} + +/* --- * + * P l a n + * --- */ + +/** + * A Plan is an ordered list of constraints to be executed in sequence + * to resatisfy all currently satisfiable constraints in the face of + * one or more changing inputs. + */ +function Plan() { + this.v = new OrderedCollection(); +} + +Plan.prototype.addConstraint = function (c) { + this.v.add(c); +} + +Plan.prototype.size = function () { + return this.v.size(); +} + +Plan.prototype.constraintAt = function (index) { + return this.v.at(index); +} + +Plan.prototype.execute = function () { + for (var i = 0; i < this.size(); i++) { + var c = this.constraintAt(i); + c.execute(); + } +} + +/* --- * + * M a i n + * --- */ + +/** + * This is the standard DeltaBlue benchmark. A long chain of equality + * constraints is constructed with a stay constraint on one end. An + * edit constraint is then added to the opposite end and the time is + * measured for adding and removing this constraint, and extracting + * and executing a constraint satisfaction plan. There are two cases. + * In case 1, the added constraint is stronger than the stay + * constraint and values must propagate down the entire length of the + * chain. In case 2, the added constraint is weaker than the stay + * constraint so it cannot be accomodated. The cost in this case is, + * of course, very low. Typical situations lie somewhere between these + * two extremes. + */ +function chainTest(n) { + planner = new Planner(); + var prev = null, first = null, last = null; + + // Build chain of n equality constraints + for (var i = 0; i <= n; i++) { + var name = "v" + i; + var v = new Variable(name); + if (prev != null) + new EqualityConstraint(prev, v, Strength.REQUIRED); + if (i == 0) first = v; + if (i == n) last = v; + prev = v; + } + + new StayConstraint(last, Strength.STRONG_DEFAULT); + var edit = new EditConstraint(first, Strength.PREFERRED); + var edits = new OrderedCollection(); + edits.add(edit); + var plan = planner.extractPlanFromConstraints(edits); + for (var i = 0; i < 100; i++) { + first.value = i; + plan.execute(); + if (last.value != i) + alert("Chain test failed."); + } +} + +/** + * This test constructs a two sets of variables related to each + * other by a simple linear transformation (scale and offset). The + * time is measured to change a variable on either side of the + * mapping and to change the scale and offset factors. + */ +function projectionTest(n) { + planner = new Planner(); + var scale = new Variable("scale", 10); + var offset = new Variable("offset", 1000); + var src = null, dst = null; + + var dests = new OrderedCollection(); + for (var i = 0; i < n; i++) { + src = new Variable("src" + i, i); + dst = new Variable("dst" + i, i); + dests.add(dst); + new StayConstraint(src, Strength.NORMAL); + new ScaleConstraint(src, scale, offset, dst, Strength.REQUIRED); + } + + change(src, 17); + if (dst.value != 1170) alert("Projection 1 failed"); + change(dst, 1050); + if (src.value != 5) alert("Projection 2 failed"); + change(scale, 5); + for (var i = 0; i < n - 1; i++) { + if (dests.at(i).value != i * 5 + 1000) + alert("Projection 3 failed"); + } + change(offset, 2000); + for (var i = 0; i < n - 1; i++) { + if (dests.at(i).value != i * 5 + 2000) + alert("Projection 4 failed"); + } +} + +function change(v, newValue) { + var edit = new EditConstraint(v, Strength.PREFERRED); + var edits = new OrderedCollection(); + edits.add(edit); + var plan = planner.extractPlanFromConstraints(edits); + for (var i = 0; i < 10; i++) { + v.value = newValue; + plan.execute(); + } + edit.destroyConstraint(); +} + +// Global variable holding the current planner. +var planner = null; + +function deltaBlue() { + chainTest(100); + projectionTest(100); +} diff --git a/tests/benchmarks/script/v8/tests/earley-boyer.js b/tests/benchmarks/script/v8/tests/earley-boyer.js new file mode 100644 index 0000000..1be480e --- /dev/null +++ b/tests/benchmarks/script/v8/tests/earley-boyer.js @@ -0,0 +1,4684 @@ +// This file is automatically generated by scheme2js, except for the +// benchmark harness code at the beginning and end of the file. + +var EarleyBoyer = new BenchmarkSuite('EarleyBoyer', 666463, [ + new Benchmark("Earley", function () { BgL_earleyzd2benchmarkzd2(); }), + new Benchmark("Boyer", function () { BgL_nboyerzd2benchmarkzd2(); }) +]); + + +/************* GENERATED FILE - DO NOT EDIT *************/ +/************* GENERATED FILE - DO NOT EDIT *************/ +/************* GENERATED FILE - DO NOT EDIT *************/ +/************* GENERATED FILE - DO NOT EDIT *************/ +/************* GENERATED FILE - DO NOT EDIT *************/ +/************* GENERATED FILE - DO NOT EDIT *************/ +/************* GENERATED FILE - DO NOT EDIT *************/ +/************* GENERATED FILE - DO NOT EDIT *************/ +/* + * To use write/prints/... the default-output port has to be set first. + * Simply setting SC_DEFAULT_OUT and SC_ERROR_OUT to the desired values + * should do the trick. + * In the following example the std-out and error-port are redirected to + * a DIV. +function initRuntime() { + function escapeHTML(s) { + var tmp = s; + tmp = tmp.replace(/&/g, "&"); + tmp = tmp.replace(//g, ">"); + tmp = tmp.replace(/ /g, " "); + tmp = tmp.replace(/\n/g, "
"); + tmp = tmp.replace(/\t/g, "    "); + return tmp; + + } + + document.write("
"); + SC_DEFAULT_OUT = new sc_GenericOutputPort( + function(s) { + var stdout = document.getElementById('stdout'); + stdout.innerHTML = stdout.innerHTML + escapeHTML(s); + }); + SC_ERROR_OUT = SC_DEFAULT_OUT; +} +*/ + + +function sc_print_debug() { + sc_print.apply(null, arguments); +} +/*** META ((export *js*)) */ +var sc_JS_GLOBALS = this; + +var __sc_LINE=-1; +var __sc_FILE=""; + +/*** META ((export #t)) */ +function sc_alert() { + var len = arguments.length; + var s = ""; + var i; + + for( i = 0; i < len; i++ ) { + s += sc_toDisplayString(arguments[ i ]); + } + + return alert( s ); +} + +/*** META ((export #t)) */ +function sc_typeof( x ) { + return typeof x; +} + +/*** META ((export #t)) */ +function sc_error() { + var a = [sc_jsstring2symbol("*error*")]; + for (var i = 0; i < arguments.length; i++) { + a[i+1] = arguments[i]; + } + throw a; +} + +/*** META ((export #t) + (peephole (prefix "throw "))) +*/ +function sc_raise(obj) { + throw obj; +} + +/*** META ((export with-handler-lambda)) */ +function sc_withHandlerLambda(handler, body) { + try { + return body(); + } catch(e) { + if (!e._internalException) + return handler(e); + else + throw e; + } +} + +var sc_properties = new Object(); + +/*** META ((export #t)) */ +function sc_putpropBang(sym, key, val) { + var ht = sc_properties[sym]; + if (!ht) { + ht = new Object(); + sc_properties[sym] = ht; + } + ht[key] = val; +} + +/*** META ((export #t)) */ +function sc_getprop(sym, key) { + var ht = sc_properties[sym]; + if (ht) { + if (key in ht) + return ht[key]; + else + return false; + } else + return false; +} + +/*** META ((export #t)) */ +function sc_rempropBang(sym, key) { + var ht = sc_properties[sym]; + if (ht) + delete ht[key]; +} + +/*** META ((export #t)) */ +function sc_any2String(o) { + return jsstring2string(sc_toDisplayString(o)); +} + +/*** META ((export #t) + (peephole (infix 2 2 "===")) + (type bool)) +*/ +function sc_isEqv(o1, o2) { + return (o1 === o2); +} + +/*** META ((export #t) + (peephole (infix 2 2 "===")) + (type bool)) +*/ +function sc_isEq(o1, o2) { + return (o1 === o2); +} + +/*** META ((export #t) + (type bool)) +*/ +function sc_isNumber(n) { + return (typeof n === "number"); +} + +/*** META ((export #t) + (type bool)) +*/ +function sc_isComplex(n) { + return sc_isNumber(n); +} + +/*** META ((export #t) + (type bool)) +*/ +function sc_isReal(n) { + return sc_isNumber(n); +} + +/*** META ((export #t) + (type bool)) +*/ +function sc_isRational(n) { + return sc_isReal(n); +} + +/*** META ((export #t) + (type bool)) +*/ +function sc_isInteger(n) { + return (parseInt(n) === n); +} + +/*** META ((export #t) + (type bool) + (peephole (postfix ", false"))) +*/ +// we don't have exact numbers... +function sc_isExact(n) { + return false; +} + +/*** META ((export #t) + (peephole (postfix ", true")) + (type bool)) +*/ +function sc_isInexact(n) { + return true; +} + +/*** META ((export = =fx =fl) + (type bool) + (peephole (infix 2 2 "==="))) +*/ +function sc_equal(x) { + for (var i = 1; i < arguments.length; i++) + if (x !== arguments[i]) + return false; + return true; +} + +/*** META ((export < = arguments[i]) + return false; + x = arguments[i]; + } + return true; +} + +/*** META ((export > >fx >fl) + (type bool) + (peephole (infix 2 2 ">"))) +*/ +function sc_greater(x, y) { + for (var i = 1; i < arguments.length; i++) { + if (x <= arguments[i]) + return false; + x = arguments[i]; + } + return true; +} + +/*** META ((export <= <=fx <=fl) + (type bool) + (peephole (infix 2 2 "<="))) +*/ +function sc_lessEqual(x, y) { + for (var i = 1; i < arguments.length; i++) { + if (x > arguments[i]) + return false; + x = arguments[i]; + } + return true; +} + +/*** META ((export >= >=fl >=fx) + (type bool) + (peephole (infix 2 2 ">="))) +*/ +function sc_greaterEqual(x, y) { + for (var i = 1; i < arguments.length; i++) { + if (x < arguments[i]) + return false; + x = arguments[i]; + } + return true; +} + +/*** META ((export #t) + (type bool) + (peephole (postfix "=== 0"))) +*/ +function sc_isZero(x) { + return (x === 0); +} + +/*** META ((export #t) + (type bool) + (peephole (postfix "> 0"))) +*/ +function sc_isPositive(x) { + return (x > 0); +} + +/*** META ((export #t) + (type bool) + (peephole (postfix "< 0"))) +*/ +function sc_isNegative(x) { + return (x < 0); +} + +/*** META ((export #t) + (type bool) + (peephole (postfix "%2===1"))) +*/ +function sc_isOdd(x) { + return (x % 2 === 1); +} + +/*** META ((export #t) + (type bool) + (peephole (postfix "%2===0"))) +*/ +function sc_isEven(x) { + return (x % 2 === 0); +} + +/*** META ((export #t)) */ +var sc_max = Math.max; +/*** META ((export #t)) */ +var sc_min = Math.min; + +/*** META ((export + +fx +fl) + (peephole (infix 0 #f "+" "0"))) +*/ +function sc_plus() { + var sum = 0; + for (var i = 0; i < arguments.length; i++) + sum += arguments[i]; + return sum; +} + +/*** META ((export * *fx *fl) + (peephole (infix 0 #f "*" "1"))) +*/ +function sc_multi() { + var product = 1; + for (var i = 0; i < arguments.length; i++) + product *= arguments[i]; + return product; +} + +/*** META ((export - -fx -fl) + (peephole (minus))) +*/ +function sc_minus(x) { + if (arguments.length === 1) + return -x; + else { + var res = x; + for (var i = 1; i < arguments.length; i++) + res -= arguments[i]; + return res; + } +} + +/*** META ((export / /fl) + (peephole (div))) +*/ +function sc_div(x) { + if (arguments.length === 1) + return 1/x; + else { + var res = x; + for (var i = 1; i < arguments.length; i++) + res /= arguments[i]; + return res; + } +} + +/*** META ((export #t)) */ +var sc_abs = Math.abs; + +/*** META ((export quotient /fx) + (peephole (hole 2 "parseInt(" x "/" y ")"))) +*/ +function sc_quotient(x, y) { + return parseInt(x / y); +} + +/*** META ((export #t) + (peephole (infix 2 2 "%"))) +*/ +function sc_remainder(x, y) { + return x % y; +} + +/*** META ((export #t) + (peephole (modulo))) +*/ +function sc_modulo(x, y) { + var remainder = x % y; + // if they don't have the same sign + if ((remainder * y) < 0) + return remainder + y; + else + return remainder; +} + +function sc_euclid_gcd(a, b) { + var temp; + if (a === 0) return b; + if (b === 0) return a; + if (a < 0) {a = -a;}; + if (b < 0) {b = -b;}; + if (b > a) {temp = a; a = b; b = temp;}; + while (true) { + a %= b; + if(a === 0) {return b;}; + b %= a; + if(b === 0) {return a;}; + }; + return b; +} + +/*** META ((export #t)) */ +function sc_gcd() { + var gcd = 0; + for (var i = 0; i < arguments.length; i++) + gcd = sc_euclid_gcd(gcd, arguments[i]); + return gcd; +} + +/*** META ((export #t)) */ +function sc_lcm() { + var lcm = 1; + for (var i = 0; i < arguments.length; i++) { + var f = Math.round(arguments[i] / sc_euclid_gcd(arguments[i], lcm)); + lcm *= Math.abs(f); + } + return lcm; +} + +// LIMITATION: numerator and denominator don't make sense in floating point world. +//var SC_MAX_DECIMALS = 1000000 +// +// function sc_numerator(x) { +// var rounded = Math.round(x * SC_MAX_DECIMALS); +// return Math.round(rounded / sc_euclid_gcd(rounded, SC_MAX_DECIMALS)); +// } + +// function sc_denominator(x) { +// var rounded = Math.round(x * SC_MAX_DECIMALS); +// return Math.round(SC_MAX_DECIMALS / sc_euclid_gcd(rounded, SC_MAX_DECIMALS)); +// } + +/*** META ((export #t)) */ +var sc_floor = Math.floor; +/*** META ((export #t)) */ +var sc_ceiling = Math.ceil; +/*** META ((export #t)) */ +var sc_truncate = parseInt; +/*** META ((export #t)) */ +var sc_round = Math.round; + +// LIMITATION: sc_rationalize doesn't make sense in a floating point world. + +/*** META ((export #t)) */ +var sc_exp = Math.exp; +/*** META ((export #t)) */ +var sc_log = Math.log; +/*** META ((export #t)) */ +var sc_sin = Math.sin; +/*** META ((export #t)) */ +var sc_cos = Math.cos; +/*** META ((export #t)) */ +var sc_tan = Math.tan; +/*** META ((export #t)) */ +var sc_asin = Math.asin; +/*** META ((export #t)) */ +var sc_acos = Math.acos; +/*** META ((export #t)) */ +var sc_atan = Math.atan; + +/*** META ((export #t)) */ +var sc_sqrt = Math.sqrt; +/*** META ((export #t)) */ +var sc_expt = Math.pow; + +// LIMITATION: we don't have complex numbers. +// LIMITATION: the following functions are hence not implemented. +// LIMITATION: make-rectangular, make-polar, real-part, imag-part, magnitude, angle +// LIMITATION: 2 argument atan + +/*** META ((export #t) + (peephole (id))) +*/ +function sc_exact2inexact(x) { + return x; +} + +/*** META ((export #t) + (peephole (id))) +*/ +function sc_inexact2exact(x) { + return x; +} + +function sc_number2jsstring(x, radix) { + if (radix) + return x.toString(radix); + else + return x.toString(); +} + +function sc_jsstring2number(s, radix) { + if (s === "") return false; + + if (radix) { + var t = parseInt(s, radix); + if (!t && t !== 0) return false; + // verify that each char is in range. (parseInt ignores leading + // white and trailing chars) + var allowedChars = "01234567890abcdefghijklmnopqrstuvwxyz".substring(0, radix+1); + if ((new RegExp("^["+allowedChars+"]*$", "i")).test(s)) + return t; + else return false; + } else { + var t = +s; // does not ignore trailing chars. + if (!t && t !== 0) return false; + // simply verify that first char is not whitespace. + var c = s.charAt(0); + // if +c is 0, but the char is not "0", then we have a whitespace. + if (+c === 0 && c !== "0") return false; + return t; + } +} + +/*** META ((export #t) + (type bool) + (peephole (not))) +*/ +function sc_not(b) { + return b === false; +} + +/*** META ((export #t) + (type bool)) +*/ +function sc_isBoolean(b) { + return (b === true) || (b === false); +} + +function sc_Pair(car, cdr) { + this.car = car; + this.cdr = cdr; +} + +sc_Pair.prototype.toString = function() { + return sc_toDisplayString(this); +}; +sc_Pair.prototype.sc_toWriteOrDisplayString = function(writeOrDisplay) { + var current = this; + + var res = "("; + + while(true) { + res += writeOrDisplay(current.car); + if (sc_isPair(current.cdr)) { + res += " "; + current = current.cdr; + } else if (current.cdr !== null) { + res += " . " + writeOrDisplay(current.cdr); + break; + } else // current.cdr == null + break; + } + + res += ")"; + + return res; +}; +sc_Pair.prototype.sc_toDisplayString = function() { + return this.sc_toWriteOrDisplayString(sc_toDisplayString); +}; +sc_Pair.prototype.sc_toWriteString = function() { + return this.sc_toWriteOrDisplayString(sc_toWriteString); +}; +// sc_Pair.prototype.sc_toWriteCircleString in IO.js + +/*** META ((export #t) + (type bool) + (peephole (postfix " instanceof sc_Pair"))) +*/ +function sc_isPair(p) { + return (p instanceof sc_Pair); +} + +function sc_isPairEqual(p1, p2, comp) { + return (comp(p1.car, p2.car) && comp(p1.cdr, p2.cdr)); +} + +/*** META ((export #t) + (peephole (hole 2 "new sc_Pair(" car ", " cdr ")"))) +*/ +function sc_cons(car, cdr) { + return new sc_Pair(car, cdr); +} + +/*** META ((export cons*)) */ +function sc_consStar() { + var res = arguments[arguments.length - 1]; + for (var i = arguments.length-2; i >= 0; i--) + res = new sc_Pair(arguments[i], res); + return res; +} + +/*** META ((export #t) + (peephole (postfix ".car"))) +*/ +function sc_car(p) { + return p.car; +} + +/*** META ((export #t) + (peephole (postfix ".cdr"))) +*/ +function sc_cdr(p) { + return p.cdr; +} + +/*** META ((export #t) + (peephole (hole 2 p ".car = " val))) +*/ +function sc_setCarBang(p, val) { + p.car = val; +} + +/*** META ((export #t) + (peephole (hole 2 p ".cdr = " val))) +*/ +function sc_setCdrBang(p, val) { + p.cdr = val; +} + +/*** META ((export #t) + (peephole (postfix ".car.car"))) +*/ +function sc_caar(p) { return p.car.car; } +/*** META ((export #t) + (peephole (postfix ".cdr.car"))) +*/ +function sc_cadr(p) { return p.cdr.car; } +/*** META ((export #t) + (peephole (postfix ".car.cdr"))) +*/ +function sc_cdar(p) { return p.car.cdr; } +/*** META ((export #t) + (peephole (postfix ".cdr.cdr"))) +*/ +function sc_cddr(p) { return p.cdr.cdr; } +/*** META ((export #t) + (peephole (postfix ".car.car.car"))) +*/ +function sc_caaar(p) { return p.car.car.car; } +/*** META ((export #t) + (peephole (postfix ".car.cdr.car"))) +*/ +function sc_cadar(p) { return p.car.cdr.car; } +/*** META ((export #t) + (peephole (postfix ".cdr.car.car"))) +*/ +function sc_caadr(p) { return p.cdr.car.car; } +/*** META ((export #t) + (peephole (postfix ".cdr.cdr.car"))) +*/ +function sc_caddr(p) { return p.cdr.cdr.car; } +/*** META ((export #t) + (peephole (postfix ".car.car.cdr"))) +*/ +function sc_cdaar(p) { return p.car.car.cdr; } +/*** META ((export #t) + (peephole (postfix ".cdr.car.cdr"))) +*/ +function sc_cdadr(p) { return p.cdr.car.cdr; } +/*** META ((export #t) + (peephole (postfix ".car.cdr.cdr"))) +*/ +function sc_cddar(p) { return p.car.cdr.cdr; } +/*** META ((export #t) + (peephole (postfix ".cdr.cdr.cdr"))) +*/ +function sc_cdddr(p) { return p.cdr.cdr.cdr; } +/*** META ((export #t) + (peephole (postfix ".car.car.car.car"))) +*/ +function sc_caaaar(p) { return p.car.car.car.car; } +/*** META ((export #t) + (peephole (postfix ".car.cdr.car.car"))) +*/ +function sc_caadar(p) { return p.car.cdr.car.car; } +/*** META ((export #t) + (peephole (postfix ".cdr.car.car.car"))) +*/ +function sc_caaadr(p) { return p.cdr.car.car.car; } +/*** META ((export #t) + (peephole (postfix ".cdr.cdr.car.car"))) +*/ +function sc_caaddr(p) { return p.cdr.cdr.car.car; } +/*** META ((export #t) + (peephole (postfix ".car.car.car.cdr"))) +*/ +function sc_cdaaar(p) { return p.car.car.car.cdr; } +/*** META ((export #t) + (peephole (postfix ".car.cdr.car.cdr"))) +*/ +function sc_cdadar(p) { return p.car.cdr.car.cdr; } +/*** META ((export #t) + (peephole (postfix ".cdr.car.car.cdr"))) +*/ +function sc_cdaadr(p) { return p.cdr.car.car.cdr; } +/*** META ((export #t) + (peephole (postfix ".cdr.cdr.car.cdr"))) +*/ +function sc_cdaddr(p) { return p.cdr.cdr.car.cdr; } +/*** META ((export #t) + (peephole (postfix ".car.car.cdr.car"))) +*/ +function sc_cadaar(p) { return p.car.car.cdr.car; } +/*** META ((export #t) + (peephole (postfix ".car.cdr.cdr.car"))) +*/ +function sc_caddar(p) { return p.car.cdr.cdr.car; } +/*** META ((export #t) + (peephole (postfix ".cdr.car.cdr.car"))) +*/ +function sc_cadadr(p) { return p.cdr.car.cdr.car; } +/*** META ((export #t) + (peephole (postfix ".cdr.cdr.cdr.car"))) +*/ +function sc_cadddr(p) { return p.cdr.cdr.cdr.car; } +/*** META ((export #t) + (peephole (postfix ".car.car.cdr.cdr"))) +*/ +function sc_cddaar(p) { return p.car.car.cdr.cdr; } +/*** META ((export #t) + (peephole (postfix ".car.cdr.cdr.cdr"))) +*/ +function sc_cdddar(p) { return p.car.cdr.cdr.cdr; } +/*** META ((export #t) + (peephole (postfix ".cdr.car.cdr.cdr"))) +*/ +function sc_cddadr(p) { return p.cdr.car.cdr.cdr; } +/*** META ((export #t) + (peephole (postfix ".cdr.cdr.cdr.cdr"))) +*/ +function sc_cddddr(p) { return p.cdr.cdr.cdr.cdr; } + +/*** META ((export #t)) */ +function sc_lastPair(l) { + if (!sc_isPair(l)) sc_error("sc_lastPair: pair expected"); + var res = l; + var cdr = l.cdr; + while (sc_isPair(cdr)) { + res = cdr; + cdr = res.cdr; + } + return res; +} + +/*** META ((export #t) + (type bool) + (peephole (postfix " === null"))) +*/ +function sc_isNull(o) { + return (o === null); +} + +/*** META ((export #t) + (type bool)) +*/ +function sc_isList(o) { + var rabbit; + var turtle; + + var rabbit = o; + var turtle = o; + while (true) { + if (rabbit === null || + (rabbit instanceof sc_Pair && rabbit.cdr === null)) + return true; // end of list + else if ((rabbit instanceof sc_Pair) && + (rabbit.cdr instanceof sc_Pair)) { + rabbit = rabbit.cdr.cdr; + turtle = turtle.cdr; + if (rabbit === turtle) return false; // cycle + } else + return false; // not pair + } +} + +/*** META ((export #t)) */ +function sc_list() { + var res = null; + var a = arguments; + for (var i = a.length-1; i >= 0; i--) + res = new sc_Pair(a[i], res); + return res; +} + +/*** META ((export #t)) */ +function sc_iota(num, init) { + var res = null; + if (!init) init = 0; + for (var i = num - 1; i >= 0; i--) + res = new sc_Pair(i + init, res); + return res; +} + +/*** META ((export #t)) */ +function sc_makeList(nbEls, fill) { + var res = null; + for (var i = 0; i < nbEls; i++) + res = new sc_Pair(fill, res); + return res; +} + +/*** META ((export #t)) */ +function sc_length(l) { + var res = 0; + while (l !== null) { + res++; + l = l.cdr; + } + return res; +} + +/*** META ((export #t)) */ +function sc_remq(o, l) { + var dummy = { cdr : null }; + var tail = dummy; + while (l !== null) { + if (l.car !== o) { + tail.cdr = sc_cons(l.car, null); + tail = tail.cdr; + } + l = l.cdr; + } + return dummy.cdr; +} + +/*** META ((export #t)) */ +function sc_remqBang(o, l) { + var dummy = { cdr : null }; + var tail = dummy; + var needsAssig = true; + while (l !== null) { + if (l.car === o) { + needsAssig = true; + } else { + if (needsAssig) { + tail.cdr = l; + needsAssig = false; + } + tail = l; + } + l = l.cdr; + } + tail.cdr = null; + return dummy.cdr; +} + +/*** META ((export #t)) */ +function sc_delete(o, l) { + var dummy = { cdr : null }; + var tail = dummy; + while (l !== null) { + if (!sc_isEqual(l.car, o)) { + tail.cdr = sc_cons(l.car, null); + tail = tail.cdr; + } + l = l.cdr; + } + return dummy.cdr; +} + +/*** META ((export #t)) */ +function sc_deleteBang(o, l) { + var dummy = { cdr : null }; + var tail = dummy; + var needsAssig = true; + while (l !== null) { + if (sc_isEqual(l.car, o)) { + needsAssig = true; + } else { + if (needsAssig) { + tail.cdr = l; + needsAssig = false; + } + tail = l; + } + l = l.cdr; + } + tail.cdr = null; + return dummy.cdr; +} + +function sc_reverseAppendBang(l1, l2) { + var res = l2; + while (l1 !== null) { + var tmp = res; + res = l1; + l1 = l1.cdr; + res.cdr = tmp; + } + return res; +} + +function sc_dualAppend(l1, l2) { + if (l1 === null) return l2; + if (l2 === null) return l1; + var rev = sc_reverse(l1); + return sc_reverseAppendBang(rev, l2); +} + +/*** META ((export #t)) */ +function sc_append() { + if (arguments.length === 0) + return null; + var res = arguments[arguments.length - 1]; + for (var i = arguments.length - 2; i >= 0; i--) + res = sc_dualAppend(arguments[i], res); + return res; +} + +function sc_dualAppendBang(l1, l2) { + if (l1 === null) return l2; + if (l2 === null) return l1; + var tmp = l1; + while (tmp.cdr !== null) tmp=tmp.cdr; + tmp.cdr = l2; + return l1; +} + +/*** META ((export #t)) */ +function sc_appendBang() { + var res = null; + for (var i = 0; i < arguments.length; i++) + res = sc_dualAppendBang(res, arguments[i]); + return res; +} + +/*** META ((export #t)) */ +function sc_reverse(l1) { + var res = null; + while (l1 !== null) { + res = sc_cons(l1.car, res); + l1 = l1.cdr; + } + return res; +} + +/*** META ((export #t)) */ +function sc_reverseBang(l) { + return sc_reverseAppendBang(l, null); +} + +/*** META ((export #t)) */ +function sc_listTail(l, k) { + var res = l; + for (var i = 0; i < k; i++) { + res = res.cdr; + } + return res; +} + +/*** META ((export #t)) */ +function sc_listRef(l, k) { + return sc_listTail(l, k).car; +} + +/* // unoptimized generic versions +function sc_memX(o, l, comp) { + while (l != null) { + if (comp(l.car, o)) + return l; + l = l.cdr; + } + return false; +} +function sc_memq(o, l) { return sc_memX(o, l, sc_isEq); } +function sc_memv(o, l) { return sc_memX(o, l, sc_isEqv); } +function sc_member(o, l) { return sc_memX(o, l, sc_isEqual); } +*/ + +/* optimized versions */ +/*** META ((export #t)) */ +function sc_memq(o, l) { + while (l !== null) { + if (l.car === o) + return l; + l = l.cdr; + } + return false; +} +/*** META ((export #t)) */ +function sc_memv(o, l) { + while (l !== null) { + if (l.car === o) + return l; + l = l.cdr; + } + return false; +} +/*** META ((export #t)) */ +function sc_member(o, l) { + while (l !== null) { + if (sc_isEqual(l.car,o)) + return l; + l = l.cdr; + } + return false; +} + +/* // generic unoptimized versions +function sc_assX(o, al, comp) { + while (al != null) { + if (comp(al.car.car, o)) + return al.car; + al = al.cdr; + } + return false; +} +function sc_assq(o, al) { return sc_assX(o, al, sc_isEq); } +function sc_assv(o, al) { return sc_assX(o, al, sc_isEqv); } +function sc_assoc(o, al) { return sc_assX(o, al, sc_isEqual); } +*/ +// optimized versions +/*** META ((export #t)) */ +function sc_assq(o, al) { + while (al !== null) { + if (al.car.car === o) + return al.car; + al = al.cdr; + } + return false; +} +/*** META ((export #t)) */ +function sc_assv(o, al) { + while (al !== null) { + if (al.car.car === o) + return al.car; + al = al.cdr; + } + return false; +} +/*** META ((export #t)) */ +function sc_assoc(o, al) { + while (al !== null) { + if (sc_isEqual(al.car.car, o)) + return al.car; + al = al.cdr; + } + return false; +} + +/* can be used for mutable strings and characters */ +function sc_isCharStringEqual(cs1, cs2) { return cs1.val === cs2.val; } +function sc_isCharStringLess(cs1, cs2) { return cs1.val < cs2.val; } +function sc_isCharStringGreater(cs1, cs2) { return cs1.val > cs2.val; } +function sc_isCharStringLessEqual(cs1, cs2) { return cs1.val <= cs2.val; } +function sc_isCharStringGreaterEqual(cs1, cs2) { return cs1.val >= cs2.val; } +function sc_isCharStringCIEqual(cs1, cs2) + { return cs1.val.toLowerCase() === cs2.val.toLowerCase(); } +function sc_isCharStringCILess(cs1, cs2) + { return cs1.val.toLowerCase() < cs2.val.toLowerCase(); } +function sc_isCharStringCIGreater(cs1, cs2) + { return cs1.val.toLowerCase() > cs2.val.toLowerCase(); } +function sc_isCharStringCILessEqual(cs1, cs2) + { return cs1.val.toLowerCase() <= cs2.val.toLowerCase(); } +function sc_isCharStringCIGreaterEqual(cs1, cs2) + { return cs1.val.toLowerCase() >= cs2.val.toLowerCase(); } + + + + +function sc_Char(c) { + var cached = sc_Char.lazy[c]; + if (cached) + return cached; + this.val = c; + sc_Char.lazy[c] = this; + // add return, so FF does not complain. + return undefined; +} +sc_Char.lazy = new Object(); +// thanks to Eric +sc_Char.char2readable = { + "\000": "#\\null", + "\007": "#\\bell", + "\010": "#\\backspace", + "\011": "#\\tab", + "\012": "#\\newline", + "\014": "#\\page", + "\015": "#\\return", + "\033": "#\\escape", + "\040": "#\\space", + "\177": "#\\delete", + + /* poeticless names */ + "\001": "#\\soh", + "\002": "#\\stx", + "\003": "#\\etx", + "\004": "#\\eot", + "\005": "#\\enq", + "\006": "#\\ack", + + "\013": "#\\vt", + "\016": "#\\so", + "\017": "#\\si", + + "\020": "#\\dle", + "\021": "#\\dc1", + "\022": "#\\dc2", + "\023": "#\\dc3", + "\024": "#\\dc4", + "\025": "#\\nak", + "\026": "#\\syn", + "\027": "#\\etb", + + "\030": "#\\can", + "\031": "#\\em", + "\032": "#\\sub", + "\033": "#\\esc", + "\034": "#\\fs", + "\035": "#\\gs", + "\036": "#\\rs", + "\037": "#\\us"}; + +sc_Char.readable2char = { + "null": "\000", + "bell": "\007", + "backspace": "\010", + "tab": "\011", + "newline": "\012", + "page": "\014", + "return": "\015", + "escape": "\033", + "space": "\040", + "delete": "\000", + "soh": "\001", + "stx": "\002", + "etx": "\003", + "eot": "\004", + "enq": "\005", + "ack": "\006", + "bel": "\007", + "bs": "\010", + "ht": "\011", + "nl": "\012", + "vt": "\013", + "np": "\014", + "cr": "\015", + "so": "\016", + "si": "\017", + "dle": "\020", + "dc1": "\021", + "dc2": "\022", + "dc3": "\023", + "dc4": "\024", + "nak": "\025", + "syn": "\026", + "etb": "\027", + "can": "\030", + "em": "\031", + "sub": "\032", + "esc": "\033", + "fs": "\034", + "gs": "\035", + "rs": "\036", + "us": "\037", + "sp": "\040", + "del": "\177"}; + +sc_Char.prototype.toString = function() { + return this.val; +}; +// sc_toDisplayString == toString +sc_Char.prototype.sc_toWriteString = function() { + var entry = sc_Char.char2readable[this.val]; + if (entry) + return entry; + else + return "#\\" + this.val; +}; + +/*** META ((export #t) + (type bool) + (peephole (postfix "instanceof sc_Char"))) +*/ +function sc_isChar(c) { + return (c instanceof sc_Char); +} + +/*** META ((export char=?) + (type bool) + (peephole (hole 2 c1 ".val === " c2 ".val"))) +*/ +var sc_isCharEqual = sc_isCharStringEqual; +/*** META ((export char?) + (type bool) + (peephole (hole 2 c1 ".val > " c2 ".val"))) +*/ +var sc_isCharGreater = sc_isCharStringGreater; +/*** META ((export char<=?) + (type bool) + (peephole (hole 2 c1 ".val <= " c2 ".val"))) +*/ +var sc_isCharLessEqual = sc_isCharStringLessEqual; +/*** META ((export char>=?) + (type bool) + (peephole (hole 2 c1 ".val >= " c2 ".val"))) +*/ +var sc_isCharGreaterEqual = sc_isCharStringGreaterEqual; +/*** META ((export char-ci=?) + (type bool) + (peephole (hole 2 c1 ".val.toLowerCase() === " c2 ".val.toLowerCase()"))) +*/ +var sc_isCharCIEqual = sc_isCharStringCIEqual; +/*** META ((export char-ci?) + (type bool) + (peephole (hole 2 c1 ".val.toLowerCase() > " c2 ".val.toLowerCase()"))) +*/ +var sc_isCharCIGreater = sc_isCharStringCIGreater; +/*** META ((export char-ci<=?) + (type bool) + (peephole (hole 2 c1 ".val.toLowerCase() <= " c2 ".val.toLowerCase()"))) +*/ +var sc_isCharCILessEqual = sc_isCharStringCILessEqual; +/*** META ((export char-ci>=?) + (type bool) + (peephole (hole 2 c1 ".val.toLowerCase() >= " c2 ".val.toLowerCase()"))) +*/ +var sc_isCharCIGreaterEqual = sc_isCharStringCIGreaterEqual; + +var SC_NUMBER_CLASS = "0123456789"; +var SC_WHITESPACE_CLASS = ' \r\n\t\f'; +var SC_LOWER_CLASS = 'abcdefghijklmnopqrstuvwxyz'; +var SC_UPPER_CLASS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; + +function sc_isCharOfClass(c, cl) { return (cl.indexOf(c) != -1); } +/*** META ((export #t) + (type bool)) +*/ +function sc_isCharAlphabetic(c) + { return sc_isCharOfClass(c.val, SC_LOWER_CLASS) || + sc_isCharOfClass(c.val, SC_UPPER_CLASS); } +/*** META ((export #t) + (type bool) + (peephole (hole 1 "SC_NUMBER_CLASS.indexOf(" c ".val) != -1"))) +*/ +function sc_isCharNumeric(c) + { return sc_isCharOfClass(c.val, SC_NUMBER_CLASS); } +/*** META ((export #t) + (type bool)) +*/ +function sc_isCharWhitespace(c) { + var tmp = c.val; + return tmp === " " || tmp === "\r" || tmp === "\n" || tmp === "\t" || tmp === "\f"; +} +/*** META ((export #t) + (type bool) + (peephole (hole 1 "SC_UPPER_CLASS.indexOf(" c ".val) != -1"))) +*/ +function sc_isCharUpperCase(c) + { return sc_isCharOfClass(c.val, SC_UPPER_CLASS); } +/*** META ((export #t) + (type bool) + (peephole (hole 1 "SC_LOWER_CLASS.indexOf(" c ".val) != -1"))) +*/ +function sc_isCharLowerCase(c) + { return sc_isCharOfClass(c.val, SC_LOWER_CLASS); } + +/*** META ((export #t) + (peephole (postfix ".val.charCodeAt(0)"))) +*/ +function sc_char2integer(c) + { return c.val.charCodeAt(0); } +/*** META ((export #t) + (peephole (hole 1 "new sc_Char(String.fromCharCode(" n "))"))) +*/ +function sc_integer2char(n) + { return new sc_Char(String.fromCharCode(n)); } + +/*** META ((export #t) + (peephole (hole 1 "new sc_Char(" c ".val.toUpperCase())"))) +*/ +function sc_charUpcase(c) + { return new sc_Char(c.val.toUpperCase()); } +/*** META ((export #t) + (peephole (hole 1 "new sc_Char(" c ".val.toLowerCase())"))) +*/ +function sc_charDowncase(c) + { return new sc_Char(c.val.toLowerCase()); } + +function sc_makeJSStringOfLength(k, c) { + var fill; + if (c === undefined) + fill = " "; + else + fill = c; + var res = ""; + var len = 1; + // every round doubles the size of fill. + while (k >= len) { + if (k & len) + res = res.concat(fill); + fill = fill.concat(fill); + len *= 2; + } + return res; +} + +function sc_makejsString(k, c) { + var fill; + if (c) + fill = c.val; + else + fill = " "; + return sc_makeJSStringOfLength(k, fill); +} + +function sc_jsstring2list(s) { + var res = null; + for (var i = s.length - 1; i >= 0; i--) + res = sc_cons(new sc_Char(s.charAt(i)), res); + return res; +} + +function sc_list2jsstring(l) { + var a = new Array(); + while(l !== null) { + a.push(l.car.val); + l = l.cdr; + } + return "".concat.apply("", a); +} + +var sc_Vector = Array; + +sc_Vector.prototype.sc_toWriteOrDisplayString = function(writeOrDisplay) { + if (this.length === 0) return "#()"; + + var res = "#(" + writeOrDisplay(this[0]); + for (var i = 1; i < this.length; i++) + res += " " + writeOrDisplay(this[i]); + res += ")"; + return res; +}; +sc_Vector.prototype.sc_toDisplayString = function() { + return this.sc_toWriteOrDisplayString(sc_toDisplayString); +}; +sc_Vector.prototype.sc_toWriteString = function() { + return this.sc_toWriteOrDisplayString(sc_toWriteString); +}; + +/*** META ((export vector? array?) + (type bool) + (peephole (postfix " instanceof sc_Vector"))) +*/ +function sc_isVector(v) { + return (v instanceof sc_Vector); +} + +// only applies to vectors +function sc_isVectorEqual(v1, v2, comp) { + if (v1.length !== v2.length) return false; + for (var i = 0; i < v1.length; i++) + if (!comp(v1[i], v2[i])) return false; + return true; +} + +/*** META ((export make-vector make-array)) */ +function sc_makeVector(size, fill) { + var a = new sc_Vector(size); + if (fill !== undefined) + sc_vectorFillBang(a, fill); + return a; +} + +/*** META ((export vector array) + (peephole (vector))) +*/ +function sc_vector() { + var a = new sc_Vector(); + for (var i = 0; i < arguments.length; i++) + a.push(arguments[i]); + return a; +} + +/*** META ((export vector-length array-length) + (peephole (postfix ".length"))) +*/ +function sc_vectorLength(v) { + return v.length; +} + +/*** META ((export vector-ref array-ref) + (peephole (hole 2 v "[" pos "]"))) +*/ +function sc_vectorRef(v, pos) { + return v[pos]; +} + +/*** META ((export vector-set! array-set!) + (peephole (hole 3 v "[" pos "] = " val))) +*/ +function sc_vectorSetBang(v, pos, val) { + v[pos] = val; +} + +/*** META ((export vector->list array->list)) */ +function sc_vector2list(a) { + var res = null; + for (var i = a.length-1; i >= 0; i--) + res = sc_cons(a[i], res); + return res; +} + +/*** META ((export list->vector list->array)) */ +function sc_list2vector(l) { + var a = new sc_Vector(); + while(l !== null) { + a.push(l.car); + l = l.cdr; + } + return a; +} + +/*** META ((export vector-fill! array-fill!)) */ +function sc_vectorFillBang(a, fill) { + for (var i = 0; i < a.length; i++) + a[i] = fill; +} + + +/*** META ((export #t)) */ +function sc_copyVector(a, len) { + if (len <= a.length) + return a.slice(0, len); + else { + var tmp = a.concat(); + tmp.length = len; + return tmp; + } +} + +/*** META ((export #t) + (peephole (hole 3 a ".slice(" start "," end ")"))) +*/ +function sc_vectorCopy(a, start, end) { + return a.slice(start, end); +} + +/*** META ((export #t)) */ +function sc_vectorCopyBang(target, tstart, source, sstart, send) { + if (!sstart) sstart = 0; + if (!send) send = source.length; + + // if target == source we don't want to overwrite not yet copied elements. + if (tstart <= sstart) { + for (var i = tstart, j = sstart; j < send; i++, j++) { + target[i] = source[j]; + } + } else { + var diff = send - sstart; + for (var i = tstart + diff - 1, j = send - 1; + j >= sstart; + i--, j--) { + target[i] = source[j]; + } + } + return target; +} + +/*** META ((export #t) + (type bool) + (peephole (hole 1 "typeof " o " === 'function'"))) +*/ +function sc_isProcedure(o) { + return (typeof o === "function"); +} + +/*** META ((export #t)) */ +function sc_apply(proc) { + var args = new Array(); + // first part of arguments are not in list-form. + for (var i = 1; i < arguments.length - 1; i++) + args.push(arguments[i]); + var l = arguments[arguments.length - 1]; + while (l !== null) { + args.push(l.car); + l = l.cdr; + } + return proc.apply(null, args); +} + +/*** META ((export #t)) */ +function sc_map(proc, l1) { + if (l1 === undefined) + return null; + // else + var nbApplyArgs = arguments.length - 1; + var applyArgs = new Array(nbApplyArgs); + var revres = null; + while (l1 !== null) { + for (var i = 0; i < nbApplyArgs; i++) { + applyArgs[i] = arguments[i + 1].car; + arguments[i + 1] = arguments[i + 1].cdr; + } + revres = sc_cons(proc.apply(null, applyArgs), revres); + } + return sc_reverseAppendBang(revres, null); +} + +/*** META ((export #t)) */ +function sc_mapBang(proc, l1) { + if (l1 === undefined) + return null; + // else + var l1_orig = l1; + var nbApplyArgs = arguments.length - 1; + var applyArgs = new Array(nbApplyArgs); + while (l1 !== null) { + var tmp = l1; + for (var i = 0; i < nbApplyArgs; i++) { + applyArgs[i] = arguments[i + 1].car; + arguments[i + 1] = arguments[i + 1].cdr; + } + tmp.car = proc.apply(null, applyArgs); + } + return l1_orig; +} + +/*** META ((export #t)) */ +function sc_forEach(proc, l1) { + if (l1 === undefined) + return undefined; + // else + var nbApplyArgs = arguments.length - 1; + var applyArgs = new Array(nbApplyArgs); + while (l1 !== null) { + for (var i = 0; i < nbApplyArgs; i++) { + applyArgs[i] = arguments[i + 1].car; + arguments[i + 1] = arguments[i + 1].cdr; + } + proc.apply(null, applyArgs); + } + // add return so FF does not complain. + return undefined; +} + +/*** META ((export #t)) */ +function sc_filter(proc, l1) { + var dummy = { cdr : null }; + var tail = dummy; + while (l1 !== null) { + if (proc(l1.car) !== false) { + tail.cdr = sc_cons(l1.car, null); + tail = tail.cdr; + } + l1 = l1.cdr; + } + return dummy.cdr; +} + +/*** META ((export #t)) */ +function sc_filterBang(proc, l1) { + var head = sc_cons("dummy", l1); + var it = head; + var next = l1; + while (next !== null) { + if (proc(next.car) !== false) { + it.cdr = next + it = next; + } + next = next.cdr; + } + it.cdr = null; + return head.cdr; +} + +function sc_filterMap1(proc, l1) { + var revres = null; + while (l1 !== null) { + var tmp = proc(l1.car) + if (tmp !== false) revres = sc_cons(tmp, revres); + l1 = l1.cdr; + } + return sc_reverseAppendBang(revres, null); +} +function sc_filterMap2(proc, l1, l2) { + var revres = null; + while (l1 !== null) { + var tmp = proc(l1.car, l2.car); + if(tmp !== false) revres = sc_cons(tmp, revres); + l1 = l1.cdr; + l2 = l2.cdr + } + return sc_reverseAppendBang(revres, null); +} + +/*** META ((export #t)) */ +function sc_filterMap(proc, l1, l2, l3) { + if (l2 === undefined) + return sc_filterMap1(proc, l1); + else if (l3 === undefined) + return sc_filterMap2(proc, l1, l2); + // else + var nbApplyArgs = arguments.length - 1; + var applyArgs = new Array(nbApplyArgs); + var revres = null; + while (l1 !== null) { + for (var i = 0; i < nbApplyArgs; i++) { + applyArgs[i] = arguments[i + 1].car; + arguments[i + 1] = arguments[i + 1].cdr; + } + var tmp = proc.apply(null, applyArgs); + if(tmp !== false) revres = sc_cons(tmp, revres); + } + return sc_reverseAppendBang(revres, null); +} + +/*** META ((export #t)) */ +function sc_any(proc, l) { + var revres = null; + while (l !== null) { + var tmp = proc(l.car); + if(tmp !== false) return tmp; + l = l.cdr; + } + return false; +} + +/*** META ((export any?) + (peephole (hole 2 "sc_any(" proc "," l ") !== false"))) +*/ +function sc_anyPred(proc, l) { + return sc_any(proc, l)!== false; +} + +/*** META ((export #t)) */ +function sc_every(proc, l) { + var revres = null; + var tmp = true; + while (l !== null) { + tmp = proc(l.car); + if (tmp === false) return false; + l = l.cdr; + } + return tmp; +} + +/*** META ((export every?) + (peephole (hole 2 "sc_every(" proc "," l ") !== false"))) +*/ +function sc_everyPred(proc, l) { + var tmp = sc_every(proc, l); + if (tmp !== false) return true; + return false; +} + +/*** META ((export #t) + (peephole (postfix "()"))) +*/ +function sc_force(o) { + return o(); +} + +/*** META ((export #t)) */ +function sc_makePromise(proc) { + var isResultReady = false; + var result = undefined; + return function() { + if (!isResultReady) { + var tmp = proc(); + if (!isResultReady) { + isResultReady = true; + result = tmp; + } + } + return result; + }; +} + +function sc_Values(values) { + this.values = values; +} + +/*** META ((export #t) + (peephole (values))) +*/ +function sc_values() { + if (arguments.length === 1) + return arguments[0]; + else + return new sc_Values(arguments); +} + +/*** META ((export #t)) */ +function sc_callWithValues(producer, consumer) { + var produced = producer(); + if (produced instanceof sc_Values) + return consumer.apply(null, produced.values); + else + return consumer(produced); +} + +/*** META ((export #t)) */ +function sc_dynamicWind(before, thunk, after) { + before(); + try { + var res = thunk(); + return res; + } finally { + after(); + } +} + + +// TODO: eval/scheme-report-environment/null-environment/interaction-environment + +// LIMITATION: 'load' doesn't exist without files. +// LIMITATION: transcript-on/transcript-off doesn't exist without files. + + +function sc_Struct(name) { + this.name = name; +} +sc_Struct.prototype.sc_toDisplayString = function() { + return "#"; +}; +sc_Struct.prototype.sc_toWriteString = sc_Struct.prototype.sc_toDisplayString; + +/*** META ((export #t) + (peephole (hole 1 "new sc_Struct(" name ")"))) +*/ +function sc_makeStruct(name) { + return new sc_Struct(name); +} + +/*** META ((export #t) + (type bool) + (peephole (postfix " instanceof sc_Struct"))) +*/ +function sc_isStruct(o) { + return (o instanceof sc_Struct); +} + +/*** META ((export #t) + (type bool) + (peephole (hole 2 "(" 1 " instanceof sc_Struct) && ( " 1 ".name === " 0 ")"))) +*/ +function sc_isStructNamed(name, s) { + return ((s instanceof sc_Struct) && (s.name === name)); +} + +/*** META ((export struct-field) + (peephole (hole 3 0 "[" 2 "]"))) +*/ +function sc_getStructField(s, name, field) { + return s[field]; +} + +/*** META ((export struct-field-set!) + (peephole (hole 4 0 "[" 2 "] = " 3))) +*/ +function sc_setStructFieldBang(s, name, field, val) { + s[field] = val; +} + +/*** META ((export #t) + (peephole (prefix "~"))) +*/ +function sc_bitNot(x) { + return ~x; +} + +/*** META ((export #t) + (peephole (infix 2 2 "&"))) +*/ +function sc_bitAnd(x, y) { + return x & y; +} + +/*** META ((export #t) + (peephole (infix 2 2 "|"))) +*/ +function sc_bitOr(x, y) { + return x | y; +} + +/*** META ((export #t) + (peephole (infix 2 2 "^"))) +*/ +function sc_bitXor(x, y) { + return x ^ y; +} + +/*** META ((export #t) + (peephole (infix 2 2 "<<"))) +*/ +function sc_bitLsh(x, y) { + return x << y; +} + +/*** META ((export #t) + (peephole (infix 2 2 ">>"))) +*/ +function sc_bitRsh(x, y) { + return x >> y; +} + +/*** META ((export #t) + (peephole (infix 2 2 ">>>"))) +*/ +function sc_bitUrsh(x, y) { + return x >>> y; +} + +/*** META ((export js-field js-property) + (peephole (hole 2 o "[" field "]"))) +*/ +function sc_jsField(o, field) { + return o[field]; +} + +/*** META ((export js-field-set! js-property-set!) + (peephole (hole 3 o "[" field "] = " val))) +*/ +function sc_setJsFieldBang(o, field, val) { + return o[field] = val; +} + +/*** META ((export js-field-delete! js-property-delete!) + (peephole (hole 2 "delete" o "[" field "]"))) +*/ +function sc_deleteJsFieldBang(o, field) { + delete o[field]; +} + +/*** META ((export #t) + (peephole (jsCall))) +*/ +function sc_jsCall(o, fun) { + var args = new Array(); + for (var i = 2; i < arguments.length; i++) + args[i-2] = arguments[i]; + return fun.apply(o, args); +} + +/*** META ((export #t) + (peephole (jsMethodCall))) +*/ +function sc_jsMethodCall(o, field) { + var args = new Array(); + for (var i = 2; i < arguments.length; i++) + args[i-2] = arguments[i]; + return o[field].apply(o, args); +} + +/*** META ((export new js-new) + (peephole (jsNew))) +*/ +function sc_jsNew(c) { + var evalStr = "new c("; + evalStr +=arguments.length > 1? "arguments[1]": ""; + for (var i = 2; i < arguments.length; i++) + evalStr += ", arguments[" + i + "]"; + evalStr +=")"; + return eval(evalStr); +} + +// ======================== RegExp ==================== +/*** META ((export #t)) */ +function sc_pregexp(re) { + return new RegExp(sc_string2jsstring(re)); +} + +/*** META ((export #t)) */ +function sc_pregexpMatch(re, s) { + var reg = (re instanceof RegExp) ? re : sc_pregexp(re); + var tmp = reg.exec(sc_string2jsstring(s)); + + if (tmp == null) return false; + + var res = null; + for (var i = tmp.length-1; i >= 0; i--) { + if (tmp[i] !== null) { + res = sc_cons(sc_jsstring2string(tmp[i]), res); + } else { + res = sc_cons(false, res); + } + } + return res; +} + +/*** META ((export #t)) */ +function sc_pregexpReplace(re, s1, s2) { + var reg; + var jss1 = sc_string2jsstring(s1); + var jss2 = sc_string2jsstring(s2); + + if (re instanceof RegExp) { + if (re.global) + reg = re; + else + reg = new RegExp(re.source); + } else { + reg = new RegExp(sc_string2jsstring(re)); + } + + return jss1.replace(reg, jss2); +} + +/*** META ((export pregexp-replace*)) */ +function sc_pregexpReplaceAll(re, s1, s2) { + var reg; + var jss1 = sc_string2jsstring(s1); + var jss2 = sc_string2jsstring(s2); + + if (re instanceof RegExp) { + if (re.global) + reg = re; + else + reg = new RegExp(re.source, "g"); + } else { + reg = new RegExp(sc_string2jsstring(re), "g"); + } + + return jss1.replace(reg, jss2); +} + +/*** META ((export #t)) */ +function sc_pregexpSplit(re, s) { + var reg = ((re instanceof RegExp) ? + re : + new RegExp(sc_string2jsstring(re))); + var jss = sc_string2jsstring(s); + var tmp = jss.split(reg); + + if (tmp == null) return false; + + return sc_vector2list(tmp); +} + + +/* =========================================================================== */ +/* Other library stuff */ +/* =========================================================================== */ + +/*** META ((export #t) + (peephole (hole 1 "Math.floor(Math.random()*" 'n ")"))) +*/ +function sc_random(n) { + return Math.floor(Math.random()*n); +} + +/*** META ((export current-date) + (peephole (hole 0 "new Date()"))) +*/ +function sc_currentDate() { + return new Date(); +} + +function sc_Hashtable() { +} +sc_Hashtable.prototype.toString = function() { + return "#{%hashtable}"; +}; +// sc_toWriteString == sc_toDisplayString == toString + +function sc_HashtableElement(key, val) { + this.key = key; + this.val = val; +} + +/*** META ((export #t) + (peephole (hole 0 "new sc_Hashtable()"))) +*/ +function sc_makeHashtable() { + return new sc_Hashtable(); +} + +/*** META ((export #t)) */ +function sc_hashtablePutBang(ht, key, val) { + var hash = sc_hash(key); + ht[hash] = new sc_HashtableElement(key, val); +} + +/*** META ((export #t)) */ +function sc_hashtableGet(ht, key) { + var hash = sc_hash(key); + if (hash in ht) + return ht[hash].val; + else + return false; +} + +/*** META ((export #t)) */ +function sc_hashtableForEach(ht, f) { + for (var v in ht) { + if (ht[v] instanceof sc_HashtableElement) + f(ht[v].key, ht[v].val); + } +} + +/*** META ((export hashtable-contains?) + (peephole (hole 2 "sc_hash(" 1 ") in " 0))) +*/ +function sc_hashtableContains(ht, key) { + var hash = sc_hash(key); + if (hash in ht) + return true; + else + return false; +} + +var SC_HASH_COUNTER = 0; + +function sc_hash(o) { + if (o === null) + return "null"; + else if (o === undefined) + return "undefined"; + else if (o === true) + return "true"; + else if (o === false) + return "false"; + else if (typeof o === "number") + return "num-" + o; + else if (typeof o === "string") + return "jsstr-" + o; + else if (o.sc_getHash) + return o.sc_getHash(); + else + return sc_counterHash.call(o); +} +function sc_counterHash() { + if (!this.sc_hash) { + this.sc_hash = "hash-" + SC_HASH_COUNTER; + SC_HASH_COUNTER++; + } + return this.sc_hash; +} + +function sc_Trampoline(args, maxTailCalls) { + this['__trampoline return__'] = true; + this.args = args; + this.MAX_TAIL_CALLs = maxTailCalls; +} +// TODO: call/cc stuff +sc_Trampoline.prototype.restart = function() { + var o = this; + while (true) { + // set both globals. + SC_TAIL_OBJECT.calls = o.MAX_TAIL_CALLs-1; + var fun = o.args.callee; + var res = fun.apply(SC_TAIL_OBJECT, o.args); + if (res instanceof sc_Trampoline) + o = res; + else + return res; + } +} + +/*** META ((export bind-exit-lambda)) */ +function sc_bindExitLambda(proc) { + var escape_obj = new sc_BindExitException(); + var escape = function(res) { + escape_obj.res = res; + throw escape_obj; + }; + try { + return proc(escape); + } catch(e) { + if (e === escape_obj) { + return e.res; + } + throw e; + } +} +function sc_BindExitException() { + this._internalException = true; +} + +var SC_SCM2JS_GLOBALS = new Object(); + +// default tail-call depth. +// normally the program should set it again. but just in case... +var SC_TAIL_OBJECT = new Object(); +SC_SCM2JS_GLOBALS.TAIL_OBJECT = SC_TAIL_OBJECT; +// ======================== I/O ======================= + +/*------------------------------------------------------------------*/ + +function sc_EOF() { +} +var SC_EOF_OBJECT = new sc_EOF(); + +function sc_Port() { +} + +/* --------------- Input ports -------------------------------------*/ + +function sc_InputPort() { +} +sc_InputPort.prototype = new sc_Port(); + +sc_InputPort.prototype.peekChar = function() { + if (!("peeked" in this)) + this.peeked = this.getNextChar(); + return this.peeked; +} +sc_InputPort.prototype.readChar = function() { + var tmp = this.peekChar(); + delete this.peeked; + return tmp; +} +sc_InputPort.prototype.isCharReady = function() { + return true; +} +sc_InputPort.prototype.close = function() { + // do nothing +} + +/* .............. String port ..........................*/ +function sc_ErrorInputPort() { +}; +sc_ErrorInputPort.prototype = new sc_InputPort(); +sc_ErrorInputPort.prototype.getNextChar = function() { + throw "can't read from error-port."; +}; +sc_ErrorInputPort.prototype.isCharReady = function() { + return false; +}; + + +/* .............. String port ..........................*/ + +function sc_StringInputPort(jsStr) { + // we are going to do some charAts on the str. + // instead of recreating all the time a String-object, we + // create one in the beginning. (not sure, if this is really an optim) + this.str = new String(jsStr); + this.pos = 0; +} +sc_StringInputPort.prototype = new sc_InputPort(); +sc_StringInputPort.prototype.getNextChar = function() { + if (this.pos >= this.str.length) + return SC_EOF_OBJECT; + return this.str.charAt(this.pos++); +}; + +/* ------------- Read and other lib-funs -------------------------------*/ +function sc_Token(type, val, pos) { + this.type = type; + this.val = val; + this.pos = pos; +} +sc_Token.EOF = 0/*EOF*/; +sc_Token.OPEN_PAR = 1/*OPEN_PAR*/; +sc_Token.CLOSE_PAR = 2/*CLOSE_PAR*/; +sc_Token.OPEN_BRACE = 3/*OPEN_BRACE*/; +sc_Token.CLOSE_BRACE = 4/*CLOSE_BRACE*/; +sc_Token.OPEN_BRACKET = 5/*OPEN_BRACKET*/; +sc_Token.CLOSE_BRACKET = 6/*CLOSE_BRACKET*/; +sc_Token.WHITESPACE = 7/*WHITESPACE*/; +sc_Token.QUOTE = 8/*QUOTE*/; +sc_Token.ID = 9/*ID*/; +sc_Token.DOT = 10/*DOT*/; +sc_Token.STRING = 11/*STRING*/; +sc_Token.NUMBER = 12/*NUMBER*/; +sc_Token.ERROR = 13/*ERROR*/; +sc_Token.VECTOR_BEGIN = 14/*VECTOR_BEGIN*/; +sc_Token.TRUE = 15/*TRUE*/; +sc_Token.FALSE = 16/*FALSE*/; +sc_Token.UNSPECIFIED = 17/*UNSPECIFIED*/; +sc_Token.REFERENCE = 18/*REFERENCE*/; +sc_Token.STORE = 19/*STORE*/; +sc_Token.CHAR = 20/*CHAR*/; + +var SC_ID_CLASS = SC_LOWER_CLASS + SC_UPPER_CLASS + "!$%*+-./:<=>?@^_~"; +function sc_Tokenizer(port) { + this.port = port; +} +sc_Tokenizer.prototype.peekToken = function() { + if (this.peeked) + return this.peeked; + var newToken = this.nextToken(); + this.peeked = newToken; + return newToken; +}; +sc_Tokenizer.prototype.readToken = function() { + var tmp = this.peekToken(); + delete this.peeked; + return tmp; +}; +sc_Tokenizer.prototype.nextToken = function() { + var port = this.port; + + function isNumberChar(c) { + return (c >= "0" && c <= "9"); + }; + function isIdOrNumberChar(c) { + return SC_ID_CLASS.indexOf(c) != -1 || // ID-char + (c >= "0" && c <= "9"); + } + function isWhitespace(c) { + return c === " " || c === "\r" || c === "\n" || c === "\t" || c === "\f"; + }; + function isWhitespaceOrEOF(c) { + return isWhitespace(c) || c === SC_EOF_OBJECT; + }; + + function readString() { + res = ""; + while (true) { + var c = port.readChar(); + switch (c) { + case '"': + return new sc_Token(11/*STRING*/, res); + case "\\": + var tmp = port.readChar(); + switch (tmp) { + case '0': res += "\0"; break; + case 'a': res += "\a"; break; + case 'b': res += "\b"; break; + case 'f': res += "\f"; break; + case 'n': res += "\n"; break; + case 'r': res += "\r"; break; + case 't': res += "\t"; break; + case 'v': res += "\v"; break; + case '"': res += '"'; break; + case '\\': res += '\\'; break; + case 'x': + /* hexa-number */ + var nb = 0; + while (true) { + var hexC = port.peekChar(); + if (hexC >= '0' && hexC <= '9') { + port.readChar(); + nb = nb * 16 + hexC.charCodeAt(0) - '0'.charCodeAt(0); + } else if (hexC >= 'a' && hexC <= 'f') { + port.readChar(); + nb = nb * 16 + hexC.charCodeAt(0) - 'a'.charCodeAt(0); + } else if (hexC >= 'A' && hexC <= 'F') { + port.readChar(); + nb = nb * 16 + hexC.charCodeAt(0) - 'A'.charCodeAt(0); + } else { + // next char isn't part of hex. + res += String.fromCharCode(nb); + break; + } + } + break; + default: + if (tmp === SC_EOF_OBJECT) { + return new sc_Token(13/*ERROR*/, "unclosed string-literal" + res); + } + res += tmp; + } + break; + default: + if (c === SC_EOF_OBJECT) { + return new sc_Token(13/*ERROR*/, "unclosed string-literal" + res); + } + res += c; + } + } + }; + function readIdOrNumber(firstChar) { + var res = firstChar; + while (isIdOrNumberChar(port.peekChar())) + res += port.readChar(); + if (isNaN(res)) + return new sc_Token(9/*ID*/, res); + else + return new sc_Token(12/*NUMBER*/, res - 0); + }; + + function skipWhitespaceAndComments() { + var done = false; + while (!done) { + done = true; + while (isWhitespace(port.peekChar())) + port.readChar(); + if (port.peekChar() === ';') { + port.readChar(); + done = false; + while (true) { + curChar = port.readChar(); + if (curChar === SC_EOF_OBJECT || + curChar === '\n') + break; + } + } + } + }; + + function readDot() { + if (isWhitespace(port.peekChar())) + return new sc_Token(10/*DOT*/); + else + return readIdOrNumber("."); + }; + + function readSharp() { + var c = port.readChar(); + if (isWhitespace(c)) + return new sc_Token(13/*ERROR*/, "bad #-pattern0."); + + // reference + if (isNumberChar(c)) { + var nb = c - 0; + while (isNumberChar(port.peekChar())) + nb = nb*10 + (port.readChar() - 0); + switch (port.readChar()) { + case '#': + return new sc_Token(18/*REFERENCE*/, nb); + case '=': + return new sc_Token(19/*STORE*/, nb); + default: + return new sc_Token(13/*ERROR*/, "bad #-pattern1." + nb); + } + } + + if (c === "(") + return new sc_Token(14/*VECTOR_BEGIN*/); + + if (c === "\\") { // character + var tmp = "" + while (!isWhitespaceOrEOF(port.peekChar())) + tmp += port.readChar(); + switch (tmp.length) { + case 0: // it's escaping a whitespace char: + if (sc_isEOFObject(port.peekChar)) + return new sc_Token(13/*ERROR*/, "bad #-pattern2."); + else + return new sc_Token(20/*CHAR*/, port.readChar()); + case 1: + return new sc_Token(20/*CHAR*/, tmp); + default: + var entry = sc_Char.readable2char[tmp.toLowerCase()]; + if (entry) + return new sc_Token(20/*CHAR*/, entry); + else + return new sc_Token(13/*ERROR*/, "unknown character description: #\\" + tmp); + } + } + + // some constants (#t, #f, #unspecified) + var res; + var needing; + switch (c) { + case 't': res = new sc_Token(15/*TRUE*/, true); needing = ""; break; + case 'f': res = new sc_Token(16/*FALSE*/, false); needing = ""; break; + case 'u': res = new sc_Token(17/*UNSPECIFIED*/, undefined); needing = "nspecified"; break; + default: + return new sc_Token(13/*ERROR*/, "bad #-pattern3: " + c); + } + while(true) { + c = port.peekChar(); + if ((isWhitespaceOrEOF(c) || c === ')') && + needing == "") + return res; + else if (isWhitespace(c) || needing == "") + return new sc_Token(13/*ERROR*/, "bad #-pattern4 " + c + " " + needing); + else if (needing.charAt(0) == c) { + port.readChar(); // consume + needing = needing.slice(1); + } else + return new sc_Token(13/*ERROR*/, "bad #-pattern5"); + } + + }; + + skipWhitespaceAndComments(); + var curChar = port.readChar(); + if (curChar === SC_EOF_OBJECT) + return new sc_Token(0/*EOF*/, curChar); + switch (curChar) + { + case " ": + case "\n": + case "\t": + return readWhitespace(); + case "(": + return new sc_Token(1/*OPEN_PAR*/); + case ")": + return new sc_Token(2/*CLOSE_PAR*/); + case "{": + return new sc_Token(3/*OPEN_BRACE*/); + case "}": + return new sc_Token(4/*CLOSE_BRACE*/); + case "[": + return new sc_Token(5/*OPEN_BRACKET*/); + case "]": + return new sc_Token(6/*CLOSE_BRACKET*/); + case "'": + return new sc_Token(8/*QUOTE*/); + case "#": + return readSharp(); + case ".": + return readDot(); + case '"': + return readString(); + default: + if (isIdOrNumberChar(curChar)) + return readIdOrNumber(curChar); + throw "unexpected character: " + curChar; + } +}; + +function sc_Reader(tokenizer) { + this.tokenizer = tokenizer; + this.backref = new Array(); +} +sc_Reader.prototype.read = function() { + function readList(listBeginType) { + function matchesPeer(open, close) { + return open === 1/*OPEN_PAR*/ && close === 2/*CLOSE_PAR*/ + || open === 3/*OPEN_BRACE*/ && close === 4/*CLOSE_BRACE*/ + || open === 5/*OPEN_BRACKET*/ && close === 6/*CLOSE_BRACKET*/; + }; + var res = null; + + while (true) { + var token = tokenizer.peekToken(); + + switch (token.type) { + case 2/*CLOSE_PAR*/: + case 4/*CLOSE_BRACE*/: + case 6/*CLOSE_BRACKET*/: + if (matchesPeer(listBeginType, token.type)) { + tokenizer.readToken(); // consume token + return sc_reverseBang(res); + } else + throw "closing par doesn't match: " + listBeginType + + " " + listEndType; + + case 0/*EOF*/: + throw "unexpected end of file"; + + case 10/*DOT*/: + tokenizer.readToken(); // consume token + var cdr = this.read(); + var par = tokenizer.readToken(); + if (!matchesPeer(listBeginType, par.type)) + throw "closing par doesn't match: " + listBeginType + + " " + par.type; + else + return sc_reverseAppendBang(res, cdr); + + + default: + res = sc_cons(this.read(), res); + } + } + }; + function readQuote() { + return sc_cons("quote", sc_cons(this.read(), null)); + }; + function readVector() { + // opening-parenthesis is already consumed + var a = new Array(); + while (true) { + var token = tokenizer.peekToken(); + switch (token.type) { + case 2/*CLOSE_PAR*/: + tokenizer.readToken(); + return a; + + default: + a.push(this.read()); + } + } + }; + + function storeRefence(nb) { + var tmp = this.read(); + this.backref[nb] = tmp; + return tmp; + }; + + function readReference(nb) { + if (nb in this.backref) + return this.backref[nb]; + else + throw "bad reference: " + nb; + }; + + var tokenizer = this.tokenizer; + + var token = tokenizer.readToken(); + + // handle error + if (token.type === 13/*ERROR*/) + throw token.val; + + switch (token.type) { + case 1/*OPEN_PAR*/: + case 3/*OPEN_BRACE*/: + case 5/*OPEN_BRACKET*/: + return readList.call(this, token.type); + case 8/*QUOTE*/: + return readQuote.call(this); + case 11/*STRING*/: + return sc_jsstring2string(token.val); + case 20/*CHAR*/: + return new sc_Char(token.val); + case 14/*VECTOR_BEGIN*/: + return readVector.call(this); + case 18/*REFERENCE*/: + return readReference.call(this, token.val); + case 19/*STORE*/: + return storeRefence.call(this, token.val); + case 9/*ID*/: + return sc_jsstring2symbol(token.val); + case 0/*EOF*/: + case 12/*NUMBER*/: + case 15/*TRUE*/: + case 16/*FALSE*/: + case 17/*UNSPECIFIED*/: + return token.val; + default: + throw "unexpected token " + token.type + " " + token.val; + } +}; + +/*** META ((export #t)) */ +function sc_read(port) { + if (port === undefined) // we assume the port hasn't been given. + port = SC_DEFAULT_IN; // THREAD: shared var... + var reader = new sc_Reader(new sc_Tokenizer(port)); + return reader.read(); +} +/*** META ((export #t)) */ +function sc_readChar(port) { + if (port === undefined) // we assume the port hasn't been given. + port = SC_DEFAULT_IN; // THREAD: shared var... + var t = port.readChar(); + return t === SC_EOF_OBJECT? t: new sc_Char(t); +} +/*** META ((export #t)) */ +function sc_peekChar(port) { + if (port === undefined) // we assume the port hasn't been given. + port = SC_DEFAULT_IN; // THREAD: shared var... + var t = port.peekChar(); + return t === SC_EOF_OBJECT? t: new sc_Char(t); +} +/*** META ((export #t) + (type bool)) +*/ +function sc_isCharReady(port) { + if (port === undefined) // we assume the port hasn't been given. + port = SC_DEFAULT_IN; // THREAD: shared var... + return port.isCharReady(); +} +/*** META ((export #t) + (peephole (postfix ".close()"))) +*/ +function sc_closeInputPort(p) { + return p.close(); +} + +/*** META ((export #t) + (type bool) + (peephole (postfix " instanceof sc_InputPort"))) +*/ +function sc_isInputPort(o) { + return (o instanceof sc_InputPort); +} + +/*** META ((export eof-object?) + (type bool) + (peephole (postfix " === SC_EOF_OBJECT"))) +*/ +function sc_isEOFObject(o) { + return o === SC_EOF_OBJECT; +} + +/*** META ((export #t) + (peephole (hole 0 "SC_DEFAULT_IN"))) +*/ +function sc_currentInputPort() { + return SC_DEFAULT_IN; +} + +/* ------------ file operations are not supported -----------*/ +/*** META ((export #t)) */ +function sc_callWithInputFile(s, proc) { + throw "can't open " + s; +} + +/*** META ((export #t)) */ +function sc_callWithOutputFile(s, proc) { + throw "can't open " + s; +} + +/*** META ((export #t)) */ +function sc_withInputFromFile(s, thunk) { + throw "can't open " + s; +} + +/*** META ((export #t)) */ +function sc_withOutputToFile(s, thunk) { + throw "can't open " + s; +} + +/*** META ((export #t)) */ +function sc_openInputFile(s) { + throw "can't open " + s; +} + +/*** META ((export #t)) */ +function sc_openOutputFile(s) { + throw "can't open " + s; +} + +/* ----------------------------------------------------------------------------*/ +/*** META ((export #t)) */ +function sc_basename(p) { + var i = p.lastIndexOf('/'); + + if(i >= 0) + return p.substring(i + 1, p.length); + else + return ''; +} + +/*** META ((export #t)) */ +function sc_dirname(p) { + var i = p.lastIndexOf('/'); + + if(i >= 0) + return p.substring(0, i); + else + return ''; +} + +/* ----------------------------------------------------------------------------*/ + +/*** META ((export #t)) */ +function sc_withInputFromPort(p, thunk) { + try { + var tmp = SC_DEFAULT_IN; // THREAD: shared var. + SC_DEFAULT_IN = p; + return thunk(); + } finally { + SC_DEFAULT_IN = tmp; + } +} + +/*** META ((export #t)) */ +function sc_withInputFromString(s, thunk) { + return sc_withInputFromPort(new sc_StringInputPort(sc_string2jsstring(s)), thunk); +} + +/*** META ((export #t)) */ +function sc_withOutputToPort(p, thunk) { + try { + var tmp = SC_DEFAULT_OUT; // THREAD: shared var. + SC_DEFAULT_OUT = p; + return thunk(); + } finally { + SC_DEFAULT_OUT = tmp; + } +} + +/*** META ((export #t)) */ +function sc_withOutputToString(thunk) { + var p = new sc_StringOutputPort(); + sc_withOutputToPort(p, thunk); + return p.close(); +} + +/*** META ((export #t)) */ +function sc_withOutputToProcedure(proc, thunk) { + var t = function(s) { proc(sc_jsstring2string(s)); }; + return sc_withOutputToPort(new sc_GenericOutputPort(t), thunk); +} + +/*** META ((export #t) + (peephole (hole 0 "new sc_StringOutputPort()"))) +*/ +function sc_openOutputString() { + return new sc_StringOutputPort(); +} + +/*** META ((export #t)) */ +function sc_openInputString(str) { + return new sc_StringInputPort(sc_string2jsstring(str)); +} + +/* ----------------------------------------------------------------------------*/ + +function sc_OutputPort() { +} +sc_OutputPort.prototype = new sc_Port(); +sc_OutputPort.prototype.appendJSString = function(obj) { + /* do nothing */ +} +sc_OutputPort.prototype.close = function() { + /* do nothing */ +} + +function sc_StringOutputPort() { + this.res = ""; +} +sc_StringOutputPort.prototype = new sc_OutputPort(); +sc_StringOutputPort.prototype.appendJSString = function(s) { + this.res += s; +} +sc_StringOutputPort.prototype.close = function() { + return sc_jsstring2string(this.res); +} + +/*** META ((export #t)) */ +function sc_getOutputString(sp) { + return sc_jsstring2string(sp.res); +} + + +function sc_ErrorOutputPort() { +} +sc_ErrorOutputPort.prototype = new sc_OutputPort(); +sc_ErrorOutputPort.prototype.appendJSString = function(s) { + throw "don't write on ErrorPort!"; +} +sc_ErrorOutputPort.prototype.close = function() { + /* do nothing */ +} + +function sc_GenericOutputPort(appendJSString, close) { + this.appendJSString = appendJSString; + if (close) + this.close = close; +} +sc_GenericOutputPort.prototype = new sc_OutputPort(); + +/*** META ((export #t) + (type bool) + (peephole (postfix " instanceof sc_OutputPort"))) +*/ +function sc_isOutputPort(o) { + return (o instanceof sc_OutputPort); +} + +/*** META ((export #t) + (peephole (postfix ".close()"))) +*/ +function sc_closeOutputPort(p) { + return p.close(); +} + +/* ------------------ write ---------------------------------------------------*/ + +/*** META ((export #t)) */ +function sc_write(o, p) { + if (p === undefined) // we assume not given + p = SC_DEFAULT_OUT; + p.appendJSString(sc_toWriteString(o)); +} + +function sc_toWriteString(o) { + if (o === null) + return "()"; + else if (o === true) + return "#t"; + else if (o === false) + return "#f"; + else if (o === undefined) + return "#unspecified"; + else if (typeof o === 'function') + return "#"; + else if (o.sc_toWriteString) + return o.sc_toWriteString(); + else + return o.toString(); +} + +function sc_escapeWriteString(s) { + var res = ""; + var j = 0; + for (i = 0; i < s.length; i++) { + switch (s.charAt(i)) { + case "\0": res += s.substring(j, i) + "\\0"; j = i + 1; break; + case "\b": res += s.substring(j, i) + "\\b"; j = i + 1; break; + case "\f": res += s.substring(j, i) + "\\f"; j = i + 1; break; + case "\n": res += s.substring(j, i) + "\\n"; j = i + 1; break; + case "\r": res += s.substring(j, i) + "\\r"; j = i + 1; break; + case "\t": res += s.substring(j, i) + "\\t"; j = i + 1; break; + case "\v": res += s.substring(j, i) + "\\v"; j = i + 1; break; + case '"': res += s.substring(j, i) + '\\"'; j = i + 1; break; + case "\\": res += s.substring(j, i) + "\\\\"; j = i + 1; break; + default: + var c = s.charAt(i); + if ("\a" !== "a" && c == "\a") { + res += s.substring(j, i) + "\\a"; j = i + 1; continue; + } + if ("\v" !== "v" && c == "\v") { + res += s.substring(j, i) + "\\v"; j = i + 1; continue; + } + //if (s.charAt(i) < ' ' || s.charCodeAt(i) > 127) { + // CARE: Manuel is this OK with HOP? + if (s.charAt(i) < ' ') { + /* non printable character and special chars */ + res += s.substring(j, i) + "\\x" + s.charCodeAt(i).toString(16); + j = i + 1; + } + // else just let i increase... + } + } + res += s.substring(j, i); + return res; +} + +/* ------------------ display ---------------------------------------------------*/ + +/*** META ((export #t)) */ +function sc_display(o, p) { + if (p === undefined) // we assume not given + p = SC_DEFAULT_OUT; + p.appendJSString(sc_toDisplayString(o)); +} + +function sc_toDisplayString(o) { + if (o === null) + return "()"; + else if (o === true) + return "#t"; + else if (o === false) + return "#f"; + else if (o === undefined) + return "#unspecified"; + else if (typeof o === 'function') + return "#"; + else if (o.sc_toDisplayString) + return o.sc_toDisplayString(); + else + return o.toString(); +} + +/* ------------------ newline ---------------------------------------------------*/ + +/*** META ((export #t)) */ +function sc_newline(p) { + if (p === undefined) // we assume not given + p = SC_DEFAULT_OUT; + p.appendJSString("\n"); +} + +/* ------------------ write-char ---------------------------------------------------*/ + +/*** META ((export #t)) */ +function sc_writeChar(c, p) { + if (p === undefined) // we assume not given + p = SC_DEFAULT_OUT; + p.appendJSString(c.val); +} + +/* ------------------ write-circle ---------------------------------------------------*/ + +/*** META ((export #t)) */ +function sc_writeCircle(o, p) { + if (p === undefined) // we assume not given + p = SC_DEFAULT_OUT; + p.appendJSString(sc_toWriteCircleString(o)); +} + +function sc_toWriteCircleString(o) { + var symb = sc_gensym("writeCircle"); + var nbPointer = new Object(); + nbPointer.nb = 0; + sc_prepWriteCircle(o, symb, nbPointer); + return sc_genToWriteCircleString(o, symb); +} + +function sc_prepWriteCircle(o, symb, nbPointer) { + // TODO sc_Struct + if (o instanceof sc_Pair || + o instanceof sc_Vector) { + if (o[symb] !== undefined) { + // not the first visit. + o[symb]++; + // unless there is already a number, assign one. + if (!o[symb + "nb"]) o[symb + "nb"] = nbPointer.nb++; + return; + } + o[symb] = 0; + if (o instanceof sc_Pair) { + sc_prepWriteCircle(o.car, symb, nbPointer); + sc_prepWriteCircle(o.cdr, symb, nbPointer); + } else { + for (var i = 0; i < o.length; i++) + sc_prepWriteCircle(o[i], symb, nbPointer); + } + } +} + +function sc_genToWriteCircleString(o, symb) { + if (!(o instanceof sc_Pair || + o instanceof sc_Vector)) + return sc_toWriteString(o); + return o.sc_toWriteCircleString(symb); +} +sc_Pair.prototype.sc_toWriteCircleString = function(symb, inList) { + if (this[symb + "use"]) { // use-flag is set. Just use it. + var nb = this[symb + "nb"]; + if (this[symb]-- === 0) { // if we are the last use. remove all fields. + delete this[symb]; + delete this[symb + "nb"]; + delete this[symb + "use"]; + } + if (inList) + return '. #' + nb + '#'; + else + return '#' + nb + '#'; + } + if (this[symb]-- === 0) { // if we are the last use. remove all fields. + delete this[symb]; + delete this[symb + "nb"]; + delete this[symb + "use"]; + } + + var res = ""; + + if (this[symb] !== undefined) { // implies > 0 + this[symb + "use"] = true; + if (inList) + res += '. #' + this[symb + "nb"] + '='; + else + res += '#' + this[symb + "nb"] + '='; + inList = false; + } + + if (!inList) + res += "("; + + // print car + res += sc_genToWriteCircleString(this.car, symb); + + if (sc_isPair(this.cdr)) { + res += " " + this.cdr.sc_toWriteCircleString(symb, true); + } else if (this.cdr !== null) { + res += " . " + sc_genToWriteCircleString(this.cdr, symb); + } + if (!inList) + res += ")"; + return res; +}; +sc_Vector.prototype.sc_toWriteCircleString = function(symb) { + if (this[symb + "use"]) { // use-flag is set. Just use it. + var nb = this[symb + "nb"]; + if (this[symb]-- === 0) { // if we are the last use. remove all fields. + delete this[symb]; + delete this[symb + "nb"]; + delete this[symb + "use"]; + } + return '#' + nb + '#'; + } + if (this[symb]-- === 0) { // if we are the last use. remove all fields. + delete this[symb]; + delete this[symb + "nb"]; + delete this[symb + "use"]; + } + + var res = ""; + if (this[symb] !== undefined) { // implies > 0 + this[symb + "use"] = true; + res += '#' + this[symb + "nb"] + '='; + } + res += "#("; + for (var i = 0; i < this.length; i++) { + res += sc_genToWriteCircleString(this[i], symb); + if (i < this.length - 1) res += " "; + } + res += ")"; + return res; +}; + + +/* ------------------ print ---------------------------------------------------*/ + +/*** META ((export #t)) */ +function sc_print(s) { + if (arguments.length === 1) { + sc_display(s); + sc_newline(); + } + else { + for (var i = 0; i < arguments.length; i++) + sc_display(arguments[i]); + sc_newline(); + } +} + +/* ------------------ format ---------------------------------------------------*/ +/*** META ((export #t)) */ +function sc_format(s, args) { + var len = s.length; + var p = new sc_StringOutputPort(); + var i = 0, j = 1; + + while( i < len ) { + var i2 = s.indexOf("~", i); + + if (i2 == -1) { + p.appendJSString( s.substring( i, len ) ); + return p.close(); + } else { + if (i2 > i) { + if (i2 == (len - 1)) { + p.appendJSString(s.substring(i, len)); + return p.close(); + } else { + p.appendJSString(s.substring(i, i2)); + i = i2; + } + } + + switch(s.charCodeAt(i2 + 1)) { + case 65: + case 97: + // a + sc_display(arguments[j], p); + i += 2; j++; + break; + + case 83: + case 115: + // s + sc_write(arguments[j], p); + i += 2; j++; + break; + + case 86: + case 118: + // v + sc_display(arguments[j], p); + p.appendJSString("\n"); + i += 2; j++; + break; + + case 67: + case 99: + // c + p.appendJSString(String.fromCharCode(arguments[j])); + i += 2; j++; + break; + + case 88: + case 120: + // x + p.appendJSString(arguments[j].toString(6)); + i += 2; j++; + break; + + case 79: + case 111: + // o + p.appendJSString(arguments[j].toString(8)); + i += 2; j++; + break; + + case 66: + case 98: + // b + p.appendJSString(arguments[j].toString(2)); + i += 2; j++; + break; + + case 37: + case 110: + // %, n + p.appendJSString("\n"); + i += 2; break; + + case 114: + // r + p.appendJSString("\r"); + i += 2; break; + + case 126: + // ~ + p.appendJSString("~"); + i += 2; break; + + default: + sc_error( "format: illegal ~" + + String.fromCharCode(s.charCodeAt(i2 + 1)) + + " sequence" ); + return ""; + } + } + } + + return p.close(); +} + +/* ------------------ global ports ---------------------------------------------------*/ + +var SC_DEFAULT_IN = new sc_ErrorInputPort(); +var SC_DEFAULT_OUT = new sc_ErrorOutputPort(); +var SC_ERROR_OUT = new sc_ErrorOutputPort(); + +var sc_SYMBOL_PREFIX = "\u1E9C"; +var sc_KEYWORD_PREFIX = "\u1E9D"; + +/*** META ((export #t) + (peephole (id))) */ +function sc_jsstring2string(s) { + return s; +} + +/*** META ((export #t) + (peephole (prefix "'\\u1E9C' +"))) +*/ +function sc_jsstring2symbol(s) { + return sc_SYMBOL_PREFIX + s; +} + +/*** META ((export #t) + (peephole (id))) +*/ +function sc_string2jsstring(s) { + return s; +} + +/*** META ((export #t) + (peephole (symbol2jsstring_immutable))) +*/ +function sc_symbol2jsstring(s) { + return s.slice(1); +} + +/*** META ((export #t) + (peephole (postfix ".slice(1)"))) +*/ +function sc_keyword2jsstring(k) { + return k.slice(1); +} + +/*** META ((export #t) + (peephole (prefix "'\\u1E9D' +"))) +*/ +function sc_jsstring2keyword(s) { + return sc_KEYWORD_PREFIX + s; +} + +/*** META ((export #t) + (type bool)) +*/ +function sc_isKeyword(s) { + return (typeof s === "string") && + (s.charAt(0) === sc_KEYWORD_PREFIX); +} + + +/*** META ((export #t)) */ +var sc_gensym = function() { + var counter = 1000; + return function(sym) { + counter++; + if (!sym) sym = sc_SYMBOL_PREFIX; + return sym + "s" + counter + "~" + "^sC-GeNsYm "; + }; +}(); + + +/*** META ((export #t) + (type bool)) +*/ +function sc_isEqual(o1, o2) { + return ((o1 === o2) || + (sc_isPair(o1) && sc_isPair(o2) + && sc_isPairEqual(o1, o2, sc_isEqual)) || + (sc_isVector(o1) && sc_isVector(o2) + && sc_isVectorEqual(o1, o2, sc_isEqual))); +} + +/*** META ((export number->symbol integer->symbol)) */ +function sc_number2symbol(x, radix) { + return sc_SYMBOL_PREFIX + sc_number2jsstring(x, radix); +} + +/*** META ((export number->string integer->string)) */ +var sc_number2string = sc_number2jsstring; + +/*** META ((export #t)) */ +function sc_symbol2number(s, radix) { + return sc_jsstring2number(s.slice(1), radix); +} + +/*** META ((export #t)) */ +var sc_string2number = sc_jsstring2number; + +/*** META ((export #t) + (peephole (prefix "+" s))) + ;; peephole will only apply if no radix is given. +*/ +function sc_string2integer(s, radix) { + if (!radix) return +s; + return parseInt(s, radix); +} + +/*** META ((export #t) + (peephole (prefix "+"))) +*/ +function sc_string2real(s) { + return +s; +} + + +/*** META ((export #t) + (type bool)) +*/ +function sc_isSymbol(s) { + return (typeof s === "string") && + (s.charAt(0) === sc_SYMBOL_PREFIX); +} + +/*** META ((export #t) + (peephole (symbol2string_immutable))) +*/ +function sc_symbol2string(s) { + return s.slice(1); +} + +/*** META ((export #t) + (peephole (prefix "'\\u1E9C' +"))) +*/ +function sc_string2symbol(s) { + return sc_SYMBOL_PREFIX + s; +} + +/*** META ((export symbol-append) + (peephole (symbolAppend_immutable))) +*/ +function sc_symbolAppend() { + var res = sc_SYMBOL_PREFIX; + for (var i = 0; i < arguments.length; i++) + res += arguments[i].slice(1); + return res; +} + +/*** META ((export #t) + (peephole (postfix ".val"))) +*/ +function sc_char2string(c) { return c.val; } + +/*** META ((export #t) + (peephole (hole 1 "'\\u1E9C' + " c ".val"))) +*/ +function sc_char2symbol(c) { return sc_SYMBOL_PREFIX + c.val; } + +/*** META ((export #t) + (type bool)) +*/ +function sc_isString(s) { + return (typeof s === "string") && + (s.charAt(0) !== sc_SYMBOL_PREFIX); +} + +/*** META ((export #t)) */ +var sc_makeString = sc_makejsString; + + +/*** META ((export #t)) */ +function sc_string() { + for (var i = 0; i < arguments.length; i++) + arguments[i] = arguments[i].val; + return "".concat.apply("", arguments); +} + +/*** META ((export #t) + (peephole (postfix ".length"))) +*/ +function sc_stringLength(s) { return s.length; } + +/*** META ((export #t)) */ +function sc_stringRef(s, k) { + return new sc_Char(s.charAt(k)); +} + +/* there's no stringSet in the immutable version +function sc_stringSet(s, k, c) +*/ + + +/*** META ((export string=?) + (type bool) + (peephole (hole 2 str1 " === " str2))) +*/ +function sc_isStringEqual(s1, s2) { + return s1 === s2; +} +/*** META ((export string?) + (type bool) + (peephole (hole 2 str1 " > " str2))) +*/ +function sc_isStringGreater(s1, s2) { + return s1 > s2; +} +/*** META ((export string<=?) + (type bool) + (peephole (hole 2 str1 " <= " str2))) +*/ +function sc_isStringLessEqual(s1, s2) { + return s1 <= s2; +} +/*** META ((export string>=?) + (type bool) + (peephole (hole 2 str1 " >= " str2))) +*/ +function sc_isStringGreaterEqual(s1, s2) { + return s1 >= s2; +} +/*** META ((export string-ci=?) + (type bool) + (peephole (hole 2 str1 ".toLowerCase() === " str2 ".toLowerCase()"))) +*/ +function sc_isStringCIEqual(s1, s2) { + return s1.toLowerCase() === s2.toLowerCase(); +} +/*** META ((export string-ci?) + (type bool) + (peephole (hole 2 str1 ".toLowerCase() > " str2 ".toLowerCase()"))) +*/ +function sc_isStringCIGreater(s1, s2) { + return s1.toLowerCase() > s2.toLowerCase(); +} +/*** META ((export string-ci<=?) + (type bool) + (peephole (hole 2 str1 ".toLowerCase() <= " str2 ".toLowerCase()"))) +*/ +function sc_isStringCILessEqual(s1, s2) { + return s1.toLowerCase() <= s2.toLowerCase(); +} +/*** META ((export string-ci>=?) + (type bool) + (peephole (hole 2 str1 ".toLowerCase() >= " str2 ".toLowerCase()"))) +*/ +function sc_isStringCIGreaterEqual(s1, s2) { + return s1.toLowerCase() >= s2.toLowerCase(); +} + +/*** META ((export #t) + (peephole (hole 3 s ".substring(" start ", " end ")"))) +*/ +function sc_substring(s, start, end) { + return s.substring(start, end); +} + +/*** META ((export #t)) +*/ +function sc_isSubstring_at(s1, s2, i) { + return s2 == s1.substring(i, i+ s2.length); +} + +/*** META ((export #t) + (peephole (infix 0 #f "+" "''"))) +*/ +function sc_stringAppend() { + return "".concat.apply("", arguments); +} + +/*** META ((export #t)) */ +var sc_string2list = sc_jsstring2list; + +/*** META ((export #t)) */ +var sc_list2string = sc_list2jsstring; + +/*** META ((export #t) + (peephole (id))) +*/ +function sc_stringCopy(s) { + return s; +} + +/* there's no string-fill in the immutable version +function sc_stringFill(s, c) +*/ + +/*** META ((export #t) + (peephole (postfix ".slice(1)"))) +*/ +function sc_keyword2string(o) { + return o.slice(1); +} + +/*** META ((export #t) + (peephole (prefix "'\\u1E9D' +"))) +*/ +function sc_string2keyword(o) { + return sc_KEYWORD_PREFIX + o; +} + +String.prototype.sc_toDisplayString = function() { + if (this.charAt(0) === sc_SYMBOL_PREFIX) + // TODO: care for symbols with spaces (escape-chars symbols). + return this.slice(1); + else if (this.charAt(0) === sc_KEYWORD_PREFIX) + return ":" + this.slice(1); + else + return this.toString(); +}; + +String.prototype.sc_toWriteString = function() { + if (this.charAt(0) === sc_SYMBOL_PREFIX) + // TODO: care for symbols with spaces (escape-chars symbols). + return this.slice(1); + else if (this.charAt(0) === sc_KEYWORD_PREFIX) + return ":" + this.slice(1); + else + return '"' + sc_escapeWriteString(this) + '"'; +}; +/* Exported Variables */ +var BgL_testzd2boyerzd2; +var BgL_nboyerzd2benchmarkzd2; +var BgL_setupzd2boyerzd2; +/* End Exports */ + +var translate_term_nboyer; +var translate_args_nboyer; +var untranslate_term_nboyer; +var BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer; +var BgL_sc_za2symbolzd2recordszd2alistza2_2z00_nboyer; +var translate_alist_nboyer; +var apply_subst_nboyer; +var apply_subst_lst_nboyer; +var tautologyp_nboyer; +var if_constructor_nboyer; +var rewrite_count_nboyer; +var rewrite_nboyer; +var rewrite_args_nboyer; +var unify_subst_nboyer; +var one_way_unify1_nboyer; +var false_term_nboyer; +var true_term_nboyer; +var trans_of_implies1_nboyer; +var is_term_equal_nboyer; +var is_term_member_nboyer; +var const_nboyer; +var sc_const_3_nboyer; +var sc_const_4_nboyer; +{ + (sc_const_4_nboyer = (new sc_Pair("\u1E9Cimplies",(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cimplies",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cimplies",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cz",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cimplies",(new sc_Pair("\u1E9Cz",(new sc_Pair("\u1E9Cu",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cimplies",(new sc_Pair("\u1E9Cu",(new sc_Pair("\u1E9Cw",null)))))),null)))))),null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cimplies",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cw",null)))))),null))))))); + (sc_const_3_nboyer = sc_list((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ccompile",(new sc_Pair("\u1E9Cform",null)))),(new sc_Pair((new sc_Pair("\u1E9Creverse",(new sc_Pair((new sc_Pair("\u1E9Ccodegen",(new sc_Pair((new sc_Pair("\u1E9Coptimize",(new sc_Pair("\u1E9Cform",null)))),(new sc_Pair((new sc_Pair("\u1E9Cnil",null)),null)))))),null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ceqp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cy",null)))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cgreaterp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cx",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clesseqp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cx",null)))))),null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cgreatereqp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cboolean",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cor",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Ct",null)),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cf",null)),null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ciff",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cimplies",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cimplies",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cx",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ceven1",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Ct",null)),(new sc_Pair((new sc_Pair("\u1E9Codd",(new sc_Pair((new sc_Pair("\u1E9Csub1",(new sc_Pair("\u1E9Cx",null)))),null)))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ccountps-",(new sc_Pair("\u1E9Cl",(new sc_Pair("\u1E9Cpred",null)))))),(new sc_Pair((new sc_Pair("\u1E9Ccountps-loop",(new sc_Pair("\u1E9Cl",(new sc_Pair("\u1E9Cpred",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cfact-",(new sc_Pair("\u1E9Ci",null)))),(new sc_Pair((new sc_Pair("\u1E9Cfact-loop",(new sc_Pair("\u1E9Ci",(new sc_Pair((1),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Creverse-",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Creverse-loop",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cnil",null)),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cdivides",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair((new sc_Pair("\u1E9Cremainder",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cx",null)))))),null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cassume-true",(new sc_Pair("\u1E9Cvar",(new sc_Pair("\u1E9Calist",null)))))),(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair("\u1E9Cvar",(new sc_Pair((new sc_Pair("\u1E9Ct",null)),null)))))),(new sc_Pair("\u1E9Calist",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cassume-false",(new sc_Pair("\u1E9Cvar",(new sc_Pair("\u1E9Calist",null)))))),(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair("\u1E9Cvar",(new sc_Pair((new sc_Pair("\u1E9Cf",null)),null)))))),(new sc_Pair("\u1E9Calist",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ctautology-checker",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Ctautologyp",(new sc_Pair((new sc_Pair("\u1E9Cnormalize",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cnil",null)),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cfalsify",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cfalsify1",(new sc_Pair((new sc_Pair("\u1E9Cnormalize",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cnil",null)),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cprime",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cx",null)))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cadd1",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))),null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cprime1",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Csub1",(new sc_Pair("\u1E9Cx",null)))),null)))))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair("\u1E9Cp",(new sc_Pair("\u1E9Cq",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair("\u1E9Cp",(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair("\u1E9Cq",(new sc_Pair((new sc_Pair("\u1E9Ct",null)),(new sc_Pair((new sc_Pair("\u1E9Cf",null)),null)))))))),(new sc_Pair((new sc_Pair("\u1E9Cf",null)),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cor",(new sc_Pair("\u1E9Cp",(new sc_Pair("\u1E9Cq",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair("\u1E9Cp",(new sc_Pair((new sc_Pair("\u1E9Ct",null)),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair("\u1E9Cq",(new sc_Pair((new sc_Pair("\u1E9Ct",null)),(new sc_Pair((new sc_Pair("\u1E9Cf",null)),null)))))))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair("\u1E9Cp",null)))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair("\u1E9Cp",(new sc_Pair((new sc_Pair("\u1E9Cf",null)),(new sc_Pair((new sc_Pair("\u1E9Ct",null)),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cimplies",(new sc_Pair("\u1E9Cp",(new sc_Pair("\u1E9Cq",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair("\u1E9Cp",(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair("\u1E9Cq",(new sc_Pair((new sc_Pair("\u1E9Ct",null)),(new sc_Pair((new sc_Pair("\u1E9Cf",null)),null)))))))),(new sc_Pair((new sc_Pair("\u1E9Ct",null)),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Cnumberp",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",(new sc_Pair("\u1E9Cc",null)))))))),(new sc_Pair("\u1E9Cd",(new sc_Pair("\u1E9Ce",null)))))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair("\u1E9Ca",(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair("\u1E9Cb",(new sc_Pair("\u1E9Cd",(new sc_Pair("\u1E9Ce",null)))))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair("\u1E9Cc",(new sc_Pair("\u1E9Cd",(new sc_Pair("\u1E9Ce",null)))))))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cor",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Cnumberp",(new sc_Pair("\u1E9Cx",null)))),null)))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair("\u1E9Cz",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cz",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Ca",null)))),(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cb",null)))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cx",null)))))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cc",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cb",null)))),(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cc",null)))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cx",null)))))),null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cnumberp",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cor",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))),(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cy",null)))),null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cmeaning",(new sc_Pair((new sc_Pair("\u1E9Cplus-tree",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))),(new sc_Pair("\u1E9Ca",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair((new sc_Pair("\u1E9Cmeaning",(new sc_Pair((new sc_Pair("\u1E9Cplus-tree",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair("\u1E9Ca",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cmeaning",(new sc_Pair((new sc_Pair("\u1E9Cplus-tree",(new sc_Pair("\u1E9Cy",null)))),(new sc_Pair("\u1E9Ca",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cmeaning",(new sc_Pair((new sc_Pair("\u1E9Cplus-tree",(new sc_Pair((new sc_Pair("\u1E9Cplus-fringe",(new sc_Pair("\u1E9Cx",null)))),null)))),(new sc_Pair("\u1E9Ca",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair((new sc_Pair("\u1E9Cmeaning",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Ca",null)))))),null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair("\u1E9Cz",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cz",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Creverse",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair((new sc_Pair("\u1E9Creverse",(new sc_Pair("\u1E9Cb",null)))),(new sc_Pair((new sc_Pair("\u1E9Creverse",(new sc_Pair("\u1E9Ca",null)))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cz",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cz",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair("\u1E9Cz",null)))))),(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cz",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cor",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cy",null)))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cexec",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair("\u1E9Cpds",(new sc_Pair("\u1E9Cenvrn",null)))))))),(new sc_Pair((new sc_Pair("\u1E9Cexec",(new sc_Pair("\u1E9Cy",(new sc_Pair((new sc_Pair("\u1E9Cexec",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cpds",(new sc_Pair("\u1E9Cenvrn",null)))))))),(new sc_Pair("\u1E9Cenvrn",null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cmc-flatten",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair((new sc_Pair("\u1E9Cflatten",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair("\u1E9Cy",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cmember",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cor",(new sc_Pair((new sc_Pair("\u1E9Cmember",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Ca",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cmember",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cb",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cmember",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Creverse",(new sc_Pair("\u1E9Cy",null)))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cmember",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clength",(new sc_Pair((new sc_Pair("\u1E9Creverse",(new sc_Pair("\u1E9Cx",null)))),null)))),(new sc_Pair((new sc_Pair("\u1E9Clength",(new sc_Pair("\u1E9Cx",null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cmember",(new sc_Pair("\u1E9Ca",(new sc_Pair((new sc_Pair("\u1E9Cintersect",(new sc_Pair("\u1E9Cb",(new sc_Pair("\u1E9Cc",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cmember",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cmember",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cc",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cnth",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),(new sc_Pair("\u1E9Ci",null)))))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cexp",(new sc_Pair("\u1E9Ci",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cj",(new sc_Pair("\u1E9Ck",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair((new sc_Pair("\u1E9Cexp",(new sc_Pair("\u1E9Ci",(new sc_Pair("\u1E9Cj",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cexp",(new sc_Pair("\u1E9Ci",(new sc_Pair("\u1E9Ck",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cexp",(new sc_Pair("\u1E9Ci",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cj",(new sc_Pair("\u1E9Ck",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cexp",(new sc_Pair((new sc_Pair("\u1E9Cexp",(new sc_Pair("\u1E9Ci",(new sc_Pair("\u1E9Cj",null)))))),(new sc_Pair("\u1E9Ck",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Creverse-loop",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair((new sc_Pair("\u1E9Creverse",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair("\u1E9Cy",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Creverse-loop",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cnil",null)),null)))))),(new sc_Pair((new sc_Pair("\u1E9Creverse",(new sc_Pair("\u1E9Cx",null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ccount-list",(new sc_Pair("\u1E9Cz",(new sc_Pair((new sc_Pair("\u1E9Csort-lp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair((new sc_Pair("\u1E9Ccount-list",(new sc_Pair("\u1E9Cz",(new sc_Pair("\u1E9Cx",null)))))),(new sc_Pair((new sc_Pair("\u1E9Ccount-list",(new sc_Pair("\u1E9Cz",(new sc_Pair("\u1E9Cy",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cc",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cb",(new sc_Pair("\u1E9Cc",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair((new sc_Pair("\u1E9Cremainder",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cy",(new sc_Pair((new sc_Pair("\u1E9Cquotient",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cx",null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cpower-eval",(new sc_Pair((new sc_Pair("\u1E9Cbig-plus1",(new sc_Pair("\u1E9Cl",(new sc_Pair("\u1E9Ci",(new sc_Pair("\u1E9Cbase",null)))))))),(new sc_Pair("\u1E9Cbase",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair((new sc_Pair("\u1E9Cpower-eval",(new sc_Pair("\u1E9Cl",(new sc_Pair("\u1E9Cbase",null)))))),(new sc_Pair("\u1E9Ci",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cpower-eval",(new sc_Pair((new sc_Pair("\u1E9Cbig-plus",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Ci",(new sc_Pair("\u1E9Cbase",null)))))))))),(new sc_Pair("\u1E9Cbase",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Ci",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair((new sc_Pair("\u1E9Cpower-eval",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cbase",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cpower-eval",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cbase",null)))))),null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cremainder",(new sc_Pair("\u1E9Cy",(new sc_Pair((1),null)))))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair((new sc_Pair("\u1E9Cremainder",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cy",null)))),null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cremainder",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cx",null)))))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair((new sc_Pair("\u1E9Cquotient",(new sc_Pair("\u1E9Ci",(new sc_Pair("\u1E9Cj",null)))))),(new sc_Pair("\u1E9Ci",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Ci",null)))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cor",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cj",null)))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cj",(new sc_Pair((1),null)))))),null)))),null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair((new sc_Pair("\u1E9Cremainder",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair("\u1E9Cx",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cy",null)))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cx",null)))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cpower-eval",(new sc_Pair((new sc_Pair("\u1E9Cpower-rep",(new sc_Pair("\u1E9Ci",(new sc_Pair("\u1E9Cbase",null)))))),(new sc_Pair("\u1E9Cbase",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Ci",null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cpower-eval",(new sc_Pair((new sc_Pair("\u1E9Cbig-plus",(new sc_Pair((new sc_Pair("\u1E9Cpower-rep",(new sc_Pair("\u1E9Ci",(new sc_Pair("\u1E9Cbase",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cpower-rep",(new sc_Pair("\u1E9Cj",(new sc_Pair("\u1E9Cbase",null)))))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),(new sc_Pair("\u1E9Cbase",null)))))))))),(new sc_Pair("\u1E9Cbase",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Ci",(new sc_Pair("\u1E9Cj",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cgcd",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cgcd",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cx",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cnth",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair("\u1E9Ci",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair((new sc_Pair("\u1E9Cnth",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Ci",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnth",(new sc_Pair("\u1E9Cb",(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair("\u1E9Ci",(new sc_Pair((new sc_Pair("\u1E9Clength",(new sc_Pair("\u1E9Ca",null)))),null)))))),null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair("\u1E9Cx",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cy",null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cx",null)))))),(new sc_Pair("\u1E9Cx",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cy",null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cz",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cz",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair("\u1E9Cc",(new sc_Pair("\u1E9Cw",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cc",(new sc_Pair("\u1E9Cx",null)))))),(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cw",(new sc_Pair("\u1E9Cx",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cremainder",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cz",null)))))),(new sc_Pair("\u1E9Cz",null)))))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cb",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cc",null)))))),null)))))),(new sc_Pair("\u1E9Ca",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cb",(new sc_Pair("\u1E9Cc",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair((new sc_Pair("\u1E9Cadd1",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cz",null)))))),null)))),(new sc_Pair("\u1E9Cz",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cadd1",(new sc_Pair("\u1E9Cy",null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cz",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cz",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cz",null)))))),(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cz",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cz",null)))),null)))),(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cy",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cx",null)))),null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cgcd",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cz",null)))))),(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cz",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cz",(new sc_Pair((new sc_Pair("\u1E9Cgcd",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cvalue",(new sc_Pair((new sc_Pair("\u1E9Cnormalize",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair("\u1E9Ca",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cvalue",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Ca",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cflatten",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair("\u1E9Cy",(new sc_Pair((new sc_Pair("\u1E9Cnil",null)),null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cnlistp",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clistp",(new sc_Pair((new sc_Pair("\u1E9Cgopher",(new sc_Pair("\u1E9Cx",null)))),null)))),(new sc_Pair((new sc_Pair("\u1E9Clistp",(new sc_Pair("\u1E9Cx",null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Csamefringe",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cflatten",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cflatten",(new sc_Pair("\u1E9Cy",null)))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cgreatest-factor",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cor",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cy",null)))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cy",(new sc_Pair((1),null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cgreatest-factor",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((1),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cx",(new sc_Pair((1),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cnumberp",(new sc_Pair((new sc_Pair("\u1E9Cgreatest-factor",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cor",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cy",null)))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cy",(new sc_Pair((1),null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Cnumberp",(new sc_Pair("\u1E9Cx",null)))),null)))),null)))))),null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ctimes-list",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair((new sc_Pair("\u1E9Ctimes-list",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Ctimes-list",(new sc_Pair("\u1E9Cy",null)))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cprime-list",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cprime-list",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cprime-list",(new sc_Pair("\u1E9Cy",null)))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cz",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cw",(new sc_Pair("\u1E9Cz",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cnumberp",(new sc_Pair("\u1E9Cz",null)))),(new sc_Pair((new sc_Pair("\u1E9Cor",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cz",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cw",(new sc_Pair((1),null)))))),null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cgreatereqp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cor",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cnumberp",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cy",(new sc_Pair((1),null)))))),null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cremainder",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cx",null)))))),(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair((1),null)))))),(new sc_Pair(sc_list("\u1E9Cand", (new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Ca",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))),null)))), (new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cb",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))),null)))), (new sc_Pair("\u1E9Cnumberp",(new sc_Pair("\u1E9Ca",null)))), (new sc_Pair("\u1E9Cnumberp",(new sc_Pair("\u1E9Cb",null)))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Csub1",(new sc_Pair("\u1E9Ca",null)))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Csub1",(new sc_Pair("\u1E9Cb",null)))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair((new sc_Pair("\u1E9Clength",(new sc_Pair((new sc_Pair("\u1E9Cdelete",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cl",null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Clength",(new sc_Pair("\u1E9Cl",null)))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cmember",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cl",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Csort2",(new sc_Pair((new sc_Pair("\u1E9Cdelete",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cl",null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cdelete",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Csort2",(new sc_Pair("\u1E9Cl",null)))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cdsort",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Csort2",(new sc_Pair("\u1E9Cx",null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clength",(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair("\u1E9Cx1",(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair("\u1E9Cx2",(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair("\u1E9Cx3",(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair("\u1E9Cx4",(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair("\u1E9Cx5",(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair("\u1E9Cx6",(new sc_Pair("\u1E9Cx7",null)))))),null)))))),null)))))),null)))))),null)))))),null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair((6),(new sc_Pair((new sc_Pair("\u1E9Clength",(new sc_Pair("\u1E9Cx7",null)))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair((new sc_Pair("\u1E9Cadd1",(new sc_Pair((new sc_Pair("\u1E9Cadd1",(new sc_Pair("\u1E9Cx",null)))),null)))),(new sc_Pair((2),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cx",null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cquotient",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))),(new sc_Pair((2),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cquotient",(new sc_Pair("\u1E9Cy",(new sc_Pair((2),null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Csigma",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),(new sc_Pair("\u1E9Ci",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cquotient",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Ci",(new sc_Pair((new sc_Pair("\u1E9Cadd1",(new sc_Pair("\u1E9Ci",null)))),null)))))),(new sc_Pair((2),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cadd1",(new sc_Pair("\u1E9Cy",null)))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Cnumberp",(new sc_Pair("\u1E9Cy",null)))),(new sc_Pair((new sc_Pair("\u1E9Cadd1",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cadd1",(new sc_Pair("\u1E9Cx",null)))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair("\u1E9Cz",(new sc_Pair("\u1E9Cy",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cz",null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cz",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cx",null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cz",null)))),null)))))),null)))))))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cmeaning",(new sc_Pair((new sc_Pair("\u1E9Cplus-tree",(new sc_Pair((new sc_Pair("\u1E9Cdelete",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))),(new sc_Pair("\u1E9Ca",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Cmember",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair((new sc_Pair("\u1E9Cmeaning",(new sc_Pair((new sc_Pair("\u1E9Cplus-tree",(new sc_Pair("\u1E9Cy",null)))),(new sc_Pair("\u1E9Ca",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cmeaning",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Ca",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cmeaning",(new sc_Pair((new sc_Pair("\u1E9Cplus-tree",(new sc_Pair("\u1E9Cy",null)))),(new sc_Pair("\u1E9Ca",null)))))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cadd1",(new sc_Pair("\u1E9Cy",null)))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Cnumberp",(new sc_Pair("\u1E9Cy",null)))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cx",null)))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cnth",(new sc_Pair((new sc_Pair("\u1E9Cnil",null)),(new sc_Pair("\u1E9Ci",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Ci",null)))),(new sc_Pair((new sc_Pair("\u1E9Cnil",null)),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clast",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Clistp",(new sc_Pair("\u1E9Cb",null)))),(new sc_Pair((new sc_Pair("\u1E9Clast",(new sc_Pair("\u1E9Cb",null)))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Clistp",(new sc_Pair("\u1E9Ca",null)))),(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair((new sc_Pair("\u1E9Ccar",(new sc_Pair((new sc_Pair("\u1E9Clast",(new sc_Pair("\u1E9Ca",null)))),null)))),(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair("\u1E9Cb",null)))))))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair("\u1E9Cz",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ct",null)),(new sc_Pair("\u1E9Cz",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cf",null)),(new sc_Pair("\u1E9Cz",null)))))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cassignment",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Cassignedp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Ca",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cassignment",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Ca",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cassignment",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cb",null)))))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ccar",(new sc_Pair((new sc_Pair("\u1E9Cgopher",(new sc_Pair("\u1E9Cx",null)))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Clistp",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Ccar",(new sc_Pair((new sc_Pair("\u1E9Cflatten",(new sc_Pair("\u1E9Cx",null)))),null)))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cflatten",(new sc_Pair((new sc_Pair("\u1E9Ccdr",(new sc_Pair((new sc_Pair("\u1E9Cgopher",(new sc_Pair("\u1E9Cx",null)))),null)))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Clistp",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Ccdr",(new sc_Pair((new sc_Pair("\u1E9Cflatten",(new sc_Pair("\u1E9Cx",null)))),null)))),(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),(new sc_Pair((new sc_Pair("\u1E9Cnil",null)),null)))))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cquotient",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cx",null)))))),(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cy",null)))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cx",null)))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cget",(new sc_Pair("\u1E9Cj",(new sc_Pair((new sc_Pair("\u1E9Cset",(new sc_Pair("\u1E9Ci",(new sc_Pair("\u1E9Cval",(new sc_Pair("\u1E9Cmem",null)))))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Ceqp",(new sc_Pair("\u1E9Cj",(new sc_Pair("\u1E9Ci",null)))))),(new sc_Pair("\u1E9Cval",(new sc_Pair((new sc_Pair("\u1E9Cget",(new sc_Pair("\u1E9Cj",(new sc_Pair("\u1E9Cmem",null)))))),null)))))))),null)))))))); + (const_nboyer = (new sc_Pair((new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cf",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cc",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))),null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cf",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cc",(new sc_Pair("\u1E9Cd",null)))))),null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cz",(new sc_Pair("\u1E9Cf",(new sc_Pair((new sc_Pair("\u1E9Creverse",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnil",null)),null)))))),null)))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cu",(new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))))),(new sc_Pair((new sc_Pair("\u1E9Cw",(new sc_Pair("\u1E9Clessp",(new sc_Pair((new sc_Pair("\u1E9Cremainder",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cmember",(new sc_Pair("\u1E9Ca",(new sc_Pair((new sc_Pair("\u1E9Clength",(new sc_Pair("\u1E9Cb",null)))),null)))))),null)))))))),null))))))))))); + BgL_nboyerzd2benchmarkzd2 = function() { + var args = null; + for (var sc_tmp = arguments.length - 1; sc_tmp >= 0; sc_tmp--) { + args = sc_cons(arguments[sc_tmp], args); + } + var n; + return ((n = ((args === null)?(0):(args.car))), (BgL_setupzd2boyerzd2()), (BgL_runzd2benchmarkzd2(("nboyer"+(sc_number2string(n))), (1), function() { + return (BgL_testzd2boyerzd2(n)); + }, function(rewrites) { + if ((sc_isNumber(rewrites))) + switch (n) { + case (0): + return (rewrites===(95024)); + break; + case (1): + return (rewrites===(591777)); + break; + case (2): + return (rewrites===(1813975)); + break; + case (3): + return (rewrites===(5375678)); + break; + case (4): + return (rewrites===(16445406)); + break; + case (5): + return (rewrites===(51507739)); + break; + default: + return true; + break; + } + else + return false; + }))); + }; + BgL_setupzd2boyerzd2 = function() { + return true; + }; + BgL_testzd2boyerzd2 = function() { + return true; + }; + translate_term_nboyer = function(term) { + var lst; + return (!(term instanceof sc_Pair)?term:(new sc_Pair((BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer((term.car))), ((lst = (term.cdr)), ((lst === null)?null:(new sc_Pair((translate_term_nboyer((lst.car))), (translate_args_nboyer((lst.cdr)))))))))); + }; + translate_args_nboyer = function(lst) { + var sc_lst_5; + var term; + return ((lst === null)?null:(new sc_Pair(((term = (lst.car)), (!(term instanceof sc_Pair)?term:(new sc_Pair((BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer((term.car))), (translate_args_nboyer((term.cdr))))))), ((sc_lst_5 = (lst.cdr)), ((sc_lst_5 === null)?null:(new sc_Pair((translate_term_nboyer((sc_lst_5.car))), (translate_args_nboyer((sc_lst_5.cdr)))))))))); + }; + untranslate_term_nboyer = function(term) { + var optrOpnd; + var tail1131; + var L1127; + var falseHead1130; + var symbol_record; + if (!(term instanceof sc_Pair)) + return term; + else + { + (falseHead1130 = (new sc_Pair(null, null))); + (L1127 = (term.cdr)); + (tail1131 = falseHead1130); + while (!(L1127 === null)) { + { + (tail1131.cdr = (new sc_Pair((untranslate_term_nboyer((L1127.car))), null))); + (tail1131 = (tail1131.cdr)); + (L1127 = (L1127.cdr)); + } + } + (optrOpnd = (falseHead1130.cdr)); + return (new sc_Pair(((symbol_record = (term.car)), (symbol_record[(0)])), optrOpnd)); + } + }; + BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer = function(sym) { + var r; + var x; + return ((x = (sc_assq(sym, BgL_sc_za2symbolzd2recordszd2alistza2_2z00_nboyer))), ((x!== false)?(x.cdr):((r = [sym, null]), (BgL_sc_za2symbolzd2recordszd2alistza2_2z00_nboyer = (new sc_Pair((new sc_Pair(sym, r)), BgL_sc_za2symbolzd2recordszd2alistza2_2z00_nboyer))), r))); + }; + (BgL_sc_za2symbolzd2recordszd2alistza2_2z00_nboyer = null); + translate_alist_nboyer = function(alist) { + var sc_alist_6; + var term; + return ((alist === null)?null:(new sc_Pair((new sc_Pair((alist.car.car), ((term = (alist.car.cdr)), (!(term instanceof sc_Pair)?term:(new sc_Pair((BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer((term.car))), (translate_args_nboyer((term.cdr))))))))), ((sc_alist_6 = (alist.cdr)), ((sc_alist_6 === null)?null:(new sc_Pair((new sc_Pair((sc_alist_6.car.car), (translate_term_nboyer((sc_alist_6.car.cdr))))), (translate_alist_nboyer((sc_alist_6.cdr)))))))))); + }; + apply_subst_nboyer = function(alist, term) { + var lst; + var temp_temp; + return (!(term instanceof sc_Pair)?((temp_temp = (sc_assq(term, alist))), ((temp_temp!== false)?(temp_temp.cdr):term)):(new sc_Pair((term.car), ((lst = (term.cdr)), ((lst === null)?null:(new sc_Pair((apply_subst_nboyer(alist, (lst.car))), (apply_subst_lst_nboyer(alist, (lst.cdr)))))))))); + }; + apply_subst_lst_nboyer = function(alist, lst) { + var sc_lst_7; + return ((lst === null)?null:(new sc_Pair((apply_subst_nboyer(alist, (lst.car))), ((sc_lst_7 = (lst.cdr)), ((sc_lst_7 === null)?null:(new sc_Pair((apply_subst_nboyer(alist, (sc_lst_7.car))), (apply_subst_lst_nboyer(alist, (sc_lst_7.cdr)))))))))); + }; + tautologyp_nboyer = function(sc_x_11, true_lst, false_lst) { + var tmp1125; + var x; + var tmp1126; + var sc_x_8; + var sc_tmp1125_9; + var sc_tmp1126_10; + var sc_x_11; + var true_lst; + var false_lst; + while (true) { + if ((((sc_tmp1126_10 = (is_term_equal_nboyer(sc_x_11, true_term_nboyer))), ((sc_tmp1126_10!== false)?sc_tmp1126_10:(is_term_member_nboyer(sc_x_11, true_lst))))!== false)) + return true; + else + if ((((sc_tmp1125_9 = (is_term_equal_nboyer(sc_x_11, false_term_nboyer))), ((sc_tmp1125_9!== false)?sc_tmp1125_9:(is_term_member_nboyer(sc_x_11, false_lst))))!== false)) + return false; + else + if (!(sc_x_11 instanceof sc_Pair)) + return false; + else + if (((sc_x_11.car)===if_constructor_nboyer)) + if ((((sc_x_8 = (sc_x_11.cdr.car)), (tmp1126 = (is_term_equal_nboyer(sc_x_8, true_term_nboyer))), ((tmp1126!== false)?tmp1126:(is_term_member_nboyer(sc_x_8, true_lst))))!== false)) + (sc_x_11 = (sc_x_11.cdr.cdr.car)); + else + if ((((x = (sc_x_11.cdr.car)), (tmp1125 = (is_term_equal_nboyer(x, false_term_nboyer))), ((tmp1125!== false)?tmp1125:(is_term_member_nboyer(x, false_lst))))!== false)) + (sc_x_11 = (sc_x_11.cdr.cdr.cdr.car)); + else + if (((tautologyp_nboyer((sc_x_11.cdr.cdr.car), (new sc_Pair((sc_x_11.cdr.car), true_lst)), false_lst))!== false)) + { + (false_lst = (new sc_Pair((sc_x_11.cdr.car), false_lst))); + (sc_x_11 = (sc_x_11.cdr.cdr.cdr.car)); + } + else + return false; + else + return false; + } + }; + (if_constructor_nboyer = "\u1E9C*"); + (rewrite_count_nboyer = (0)); + rewrite_nboyer = function(term) { + var term2; + var sc_term_12; + var lst; + var symbol_record; + var sc_lst_13; + { + (++rewrite_count_nboyer); + if (!(term instanceof sc_Pair)) + return term; + else + { + (sc_term_12 = (new sc_Pair((term.car), ((sc_lst_13 = (term.cdr)), ((sc_lst_13 === null)?null:(new sc_Pair((rewrite_nboyer((sc_lst_13.car))), (rewrite_args_nboyer((sc_lst_13.cdr)))))))))); + (lst = ((symbol_record = (term.car)), (symbol_record[(1)]))); + while (true) { + if ((lst === null)) + return sc_term_12; + else + if ((((term2 = ((lst.car).cdr.car)), (unify_subst_nboyer = null), (one_way_unify1_nboyer(sc_term_12, term2)))!== false)) + return (rewrite_nboyer((apply_subst_nboyer(unify_subst_nboyer, ((lst.car).cdr.cdr.car))))); + else + (lst = (lst.cdr)); + } + } + } + }; + rewrite_args_nboyer = function(lst) { + var sc_lst_14; + return ((lst === null)?null:(new sc_Pair((rewrite_nboyer((lst.car))), ((sc_lst_14 = (lst.cdr)), ((sc_lst_14 === null)?null:(new sc_Pair((rewrite_nboyer((sc_lst_14.car))), (rewrite_args_nboyer((sc_lst_14.cdr)))))))))); + }; + (unify_subst_nboyer = "\u1E9C*"); + one_way_unify1_nboyer = function(term1, term2) { + var lst1; + var lst2; + var temp_temp; + if (!(term2 instanceof sc_Pair)) + { + (temp_temp = (sc_assq(term2, unify_subst_nboyer))); + if ((temp_temp!== false)) + return (is_term_equal_nboyer(term1, (temp_temp.cdr))); + else + if ((sc_isNumber(term2))) + return (sc_isEqual(term1, term2)); + else + { + (unify_subst_nboyer = (new sc_Pair((new sc_Pair(term2, term1)), unify_subst_nboyer))); + return true; + } + } + else + if (!(term1 instanceof sc_Pair)) + return false; + else + if (((term1.car)===(term2.car))) + { + (lst1 = (term1.cdr)); + (lst2 = (term2.cdr)); + while (true) { + if ((lst1 === null)) + return (lst2 === null); + else + if ((lst2 === null)) + return false; + else + if (((one_way_unify1_nboyer((lst1.car), (lst2.car)))!== false)) + { + (lst1 = (lst1.cdr)); + (lst2 = (lst2.cdr)); + } + else + return false; + } + } + else + return false; + }; + (false_term_nboyer = "\u1E9C*"); + (true_term_nboyer = "\u1E9C*"); + trans_of_implies1_nboyer = function(n) { + var sc_n_15; + return ((sc_isEqual(n, (1)))?(sc_list("\u1E9Cimplies", (0), (1))):(sc_list("\u1E9Cand", (sc_list("\u1E9Cimplies", (n-(1)), n)), ((sc_n_15 = (n-(1))), ((sc_isEqual(sc_n_15, (1)))?(sc_list("\u1E9Cimplies", (0), (1))):(sc_list("\u1E9Cand", (sc_list("\u1E9Cimplies", (sc_n_15-(1)), sc_n_15)), (trans_of_implies1_nboyer((sc_n_15-(1))))))))))); + }; + is_term_equal_nboyer = function(x, y) { + var lst1; + var lst2; + var r2; + var r1; + if ((x instanceof sc_Pair)) + if ((y instanceof sc_Pair)) + if ((((r1 = (x.car)), (r2 = (y.car)), (r1===r2))!== false)) + { + (lst1 = (x.cdr)); + (lst2 = (y.cdr)); + while (true) { + if ((lst1 === null)) + return (lst2 === null); + else + if ((lst2 === null)) + return false; + else + if (((is_term_equal_nboyer((lst1.car), (lst2.car)))!== false)) + { + (lst1 = (lst1.cdr)); + (lst2 = (lst2.cdr)); + } + else + return false; + } + } + else + return false; + else + return false; + else + return (sc_isEqual(x, y)); + }; + is_term_member_nboyer = function(x, lst) { + var x; + var lst; + while (true) { + if ((lst === null)) + return false; + else + if (((is_term_equal_nboyer(x, (lst.car)))!== false)) + return true; + else + (lst = (lst.cdr)); + } + }; + BgL_setupzd2boyerzd2 = function() { + var symbol_record; + var value; + var BgL_sc_symbolzd2record_16zd2; + var sym; + var sc_sym_17; + var term; + var lst; + var sc_term_18; + var sc_term_19; + { + (BgL_sc_za2symbolzd2recordszd2alistza2_2z00_nboyer = null); + (if_constructor_nboyer = (BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer("\u1E9Cif"))); + (false_term_nboyer = ((sc_term_19 = (new sc_Pair("\u1E9Cf",null))), (!(sc_term_19 instanceof sc_Pair)?sc_term_19:(new sc_Pair((BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer((sc_term_19.car))), (translate_args_nboyer((sc_term_19.cdr)))))))); + (true_term_nboyer = ((sc_term_18 = (new sc_Pair("\u1E9Ct",null))), (!(sc_term_18 instanceof sc_Pair)?sc_term_18:(new sc_Pair((BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer((sc_term_18.car))), (translate_args_nboyer((sc_term_18.cdr)))))))); + (lst = sc_const_3_nboyer); + while (!(lst === null)) { + { + (term = (lst.car)); + if (((term instanceof sc_Pair)&&(((term.car)==="\u1E9Cequal")&&((term.cdr.car) instanceof sc_Pair)))) + { + (sc_sym_17 = ((term.cdr.car).car)); + (value = (new sc_Pair((!(term instanceof sc_Pair)?term:(new sc_Pair((BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer((term.car))), (translate_args_nboyer((term.cdr)))))), ((sym = ((term.cdr.car).car)), (BgL_sc_symbolzd2record_16zd2 = (BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer(sym))), (BgL_sc_symbolzd2record_16zd2[(1)]))))); + (symbol_record = (BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer(sc_sym_17))); + (symbol_record[(1)] = value); + } + else + (sc_error("ADD-LEMMA did not like term: ", term)); + (lst = (lst.cdr)); + } + } + return true; + } + }; + BgL_testzd2boyerzd2 = function(n) { + var optrOpnd; + var term; + var sc_n_20; + var answer; + var sc_term_21; + var sc_term_22; + { + (rewrite_count_nboyer = (0)); + (term = sc_const_4_nboyer); + (sc_n_20 = n); + while (!(sc_n_20=== 0)) { + { + (term = (sc_list("\u1E9Cor", term, (new sc_Pair("\u1E9Cf",null))))); + (--sc_n_20); + } + } + (sc_term_22 = term); + if (!(sc_term_22 instanceof sc_Pair)) + (optrOpnd = sc_term_22); + else + (optrOpnd = (new sc_Pair((BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer((sc_term_22.car))), (translate_args_nboyer((sc_term_22.cdr)))))); + (sc_term_21 = (apply_subst_nboyer(((const_nboyer === null)?null:(new sc_Pair((new sc_Pair((const_nboyer.car.car), (translate_term_nboyer((const_nboyer.car.cdr))))), (translate_alist_nboyer((const_nboyer.cdr)))))), optrOpnd))); + (answer = (tautologyp_nboyer((rewrite_nboyer(sc_term_21)), null, null))); + (sc_write(rewrite_count_nboyer)); + (sc_display(" rewrites")); + (sc_newline()); + if ((answer!== false)) + return rewrite_count_nboyer; + else + return false; + } + }; +} +/* Exported Variables */ +var BgL_parsezd2ze3nbzd2treesze3; +var BgL_earleyzd2benchmarkzd2; +var BgL_parsezd2ze3parsedzf3zc2; +var test; +var BgL_parsezd2ze3treesz31; +var BgL_makezd2parserzd2; +/* End Exports */ + +var const_earley; +{ + (const_earley = (new sc_Pair((new sc_Pair("\u1E9Cs",(new sc_Pair((new sc_Pair("\u1E9Ca",null)),(new sc_Pair((new sc_Pair("\u1E9Cs",(new sc_Pair("\u1E9Cs",null)))),null)))))),null))); + BgL_makezd2parserzd2 = function(grammar, lexer) { + var i; + var parser_descr; + var def_loop; + var nb_nts; + var names; + var steps; + var predictors; + var enders; + var starters; + var nts; + var sc_names_1; + var sc_steps_2; + var sc_predictors_3; + var sc_enders_4; + var sc_starters_5; + var nb_confs; + var BgL_sc_defzd2loop_6zd2; + var BgL_sc_nbzd2nts_7zd2; + var sc_nts_8; + var BgL_sc_defzd2loop_9zd2; + var ind; + { + ind = function(nt, sc_nts_10) { + var i; + { + (i = ((sc_nts_10.length)-(1))); + while (true) { + if ((i>=(0))) + if ((sc_isEqual((sc_nts_10[i]), nt))) + return i; + else + (--i); + else + return false; + } + } + }; + (sc_nts_8 = ((BgL_sc_defzd2loop_9zd2 = function(defs, sc_nts_11) { + var rule_loop; + var head; + var def; + return ((defs instanceof sc_Pair)?((def = (defs.car)), (head = (def.car)), (rule_loop = function(rules, sc_nts_12) { + var nt; + var l; + var sc_nts_13; + var rule; + if ((rules instanceof sc_Pair)) + { + (rule = (rules.car)); + (l = rule); + (sc_nts_13 = sc_nts_12); + while ((l instanceof sc_Pair)) { + { + (nt = (l.car)); + (l = (l.cdr)); + (sc_nts_13 = (((sc_member(nt, sc_nts_13))!== false)?sc_nts_13:(new sc_Pair(nt, sc_nts_13)))); + } + } + return (rule_loop((rules.cdr), sc_nts_13)); + } + else + return (BgL_sc_defzd2loop_9zd2((defs.cdr), sc_nts_12)); + }), (rule_loop((def.cdr), (((sc_member(head, sc_nts_11))!== false)?sc_nts_11:(new sc_Pair(head, sc_nts_11)))))):(sc_list2vector((sc_reverse(sc_nts_11))))); + }), (BgL_sc_defzd2loop_9zd2(grammar, null)))); + (BgL_sc_nbzd2nts_7zd2 = (sc_nts_8.length)); + (nb_confs = (((BgL_sc_defzd2loop_6zd2 = function(defs, BgL_sc_nbzd2confs_14zd2) { + var rule_loop; + var def; + return ((defs instanceof sc_Pair)?((def = (defs.car)), (rule_loop = function(rules, BgL_sc_nbzd2confs_15zd2) { + var l; + var BgL_sc_nbzd2confs_16zd2; + var rule; + if ((rules instanceof sc_Pair)) + { + (rule = (rules.car)); + (l = rule); + (BgL_sc_nbzd2confs_16zd2 = BgL_sc_nbzd2confs_15zd2); + while ((l instanceof sc_Pair)) { + { + (l = (l.cdr)); + (++BgL_sc_nbzd2confs_16zd2); + } + } + return (rule_loop((rules.cdr), (BgL_sc_nbzd2confs_16zd2+(1)))); + } + else + return (BgL_sc_defzd2loop_6zd2((defs.cdr), BgL_sc_nbzd2confs_15zd2)); + }), (rule_loop((def.cdr), BgL_sc_nbzd2confs_14zd2))):BgL_sc_nbzd2confs_14zd2); + }), (BgL_sc_defzd2loop_6zd2(grammar, (0))))+BgL_sc_nbzd2nts_7zd2)); + (sc_starters_5 = (sc_makeVector(BgL_sc_nbzd2nts_7zd2, null))); + (sc_enders_4 = (sc_makeVector(BgL_sc_nbzd2nts_7zd2, null))); + (sc_predictors_3 = (sc_makeVector(BgL_sc_nbzd2nts_7zd2, null))); + (sc_steps_2 = (sc_makeVector(nb_confs, false))); + (sc_names_1 = (sc_makeVector(nb_confs, false))); + (nts = sc_nts_8); + (starters = sc_starters_5); + (enders = sc_enders_4); + (predictors = sc_predictors_3); + (steps = sc_steps_2); + (names = sc_names_1); + (nb_nts = (sc_nts_8.length)); + (i = (nb_nts-(1))); + while ((i>=(0))) { + { + (sc_steps_2[i] = (i-nb_nts)); + (sc_names_1[i] = (sc_list((sc_nts_8[i]), (0)))); + (sc_enders_4[i] = (sc_list(i))); + (--i); + } + } + def_loop = function(defs, conf) { + var rule_loop; + var head; + var def; + return ((defs instanceof sc_Pair)?((def = (defs.car)), (head = (def.car)), (rule_loop = function(rules, conf, rule_num) { + var i; + var sc_i_17; + var nt; + var l; + var sc_conf_18; + var sc_i_19; + var rule; + if ((rules instanceof sc_Pair)) + { + (rule = (rules.car)); + (names[conf] = (sc_list(head, rule_num))); + (sc_i_19 = (ind(head, nts))); + (starters[sc_i_19] = (new sc_Pair(conf, (starters[sc_i_19])))); + (l = rule); + (sc_conf_18 = conf); + while ((l instanceof sc_Pair)) { + { + (nt = (l.car)); + (steps[sc_conf_18] = (ind(nt, nts))); + (sc_i_17 = (ind(nt, nts))); + (predictors[sc_i_17] = (new sc_Pair(sc_conf_18, (predictors[sc_i_17])))); + (l = (l.cdr)); + (++sc_conf_18); + } + } + (steps[sc_conf_18] = ((ind(head, nts))-nb_nts)); + (i = (ind(head, nts))); + (enders[i] = (new sc_Pair(sc_conf_18, (enders[i])))); + return (rule_loop((rules.cdr), (sc_conf_18+(1)), (rule_num+(1)))); + } + else + return (def_loop((defs.cdr), conf)); + }), (rule_loop((def.cdr), conf, (1)))):undefined); + }; + (def_loop(grammar, (sc_nts_8.length))); + (parser_descr = [lexer, sc_nts_8, sc_starters_5, sc_enders_4, sc_predictors_3, sc_steps_2, sc_names_1]); + return function(input) { + var optrOpnd; + var sc_optrOpnd_20; + var sc_optrOpnd_21; + var sc_optrOpnd_22; + var loop1; + var BgL_sc_stateza2_23za2; + var toks; + var BgL_sc_nbzd2nts_24zd2; + var sc_steps_25; + var sc_enders_26; + var state_num; + var BgL_sc_statesza2_27za2; + var states; + var i; + var conf; + var l; + var tok_nts; + var sc_i_28; + var sc_i_29; + var l1; + var l2; + var tok; + var tail1129; + var L1125; + var goal_enders; + var BgL_sc_statesza2_30za2; + var BgL_sc_nbzd2nts_31zd2; + var BgL_sc_nbzd2confs_32zd2; + var nb_toks; + var goal_starters; + var sc_states_33; + var BgL_sc_nbzd2confs_34zd2; + var BgL_sc_nbzd2toks_35zd2; + var sc_toks_36; + var falseHead1128; + var sc_names_37; + var sc_steps_38; + var sc_predictors_39; + var sc_enders_40; + var sc_starters_41; + var sc_nts_42; + var lexer; + var sc_ind_43; + var make_states; + var BgL_sc_confzd2setzd2getza2_44za2; + var conf_set_merge_new_bang; + var conf_set_adjoin; + var BgL_sc_confzd2setzd2adjoinza2_45za2; + var BgL_sc_confzd2setzd2adjoinza2za2_46z00; + var conf_set_union; + var forw; + var is_parsed; + var deriv_trees; + var BgL_sc_derivzd2treesza2_47z70; + var nb_deriv_trees; + var BgL_sc_nbzd2derivzd2treesza2_48za2; + { + sc_ind_43 = function(nt, sc_nts_49) { + var i; + { + (i = ((sc_nts_49.length)-(1))); + while (true) { + if ((i>=(0))) + if ((sc_isEqual((sc_nts_49[i]), nt))) + return i; + else + (--i); + else + return false; + } + } + }; + make_states = function(BgL_sc_nbzd2toks_50zd2, BgL_sc_nbzd2confs_51zd2) { + var v; + var i; + var sc_states_52; + { + (sc_states_52 = (sc_makeVector((BgL_sc_nbzd2toks_50zd2+(1)), false))); + (i = BgL_sc_nbzd2toks_50zd2); + while ((i>=(0))) { + { + (v = (sc_makeVector((BgL_sc_nbzd2confs_51zd2+(1)), false))); + (v[(0)] = (-1)); + (sc_states_52[i] = v); + (--i); + } + } + return sc_states_52; + } + }; + BgL_sc_confzd2setzd2getza2_44za2 = function(state, BgL_sc_statezd2num_53zd2, sc_conf_54) { + var conf_set; + var BgL_sc_confzd2set_55zd2; + return ((BgL_sc_confzd2set_55zd2 = (state[(sc_conf_54+(1))])), ((BgL_sc_confzd2set_55zd2!== false)?BgL_sc_confzd2set_55zd2:((conf_set = (sc_makeVector((BgL_sc_statezd2num_53zd2+(6)), false))), (conf_set[(1)] = (-3)), (conf_set[(2)] = (-1)), (conf_set[(3)] = (-1)), (conf_set[(4)] = (-1)), (state[(sc_conf_54+(1))] = conf_set), conf_set))); + }; + conf_set_merge_new_bang = function(conf_set) { + return ((conf_set[((conf_set[(1)])+(5))] = (conf_set[(4)])), (conf_set[(1)] = (conf_set[(3)])), (conf_set[(3)] = (-1)), (conf_set[(4)] = (-1))); + }; + conf_set_adjoin = function(state, conf_set, sc_conf_56, i) { + var tail; + return ((tail = (conf_set[(3)])), (conf_set[(i+(5))] = (-1)), (conf_set[(tail+(5))] = i), (conf_set[(3)] = i), ((tail<(0))?((conf_set[(0)] = (state[(0)])), (state[(0)] = sc_conf_56)):undefined)); + }; + BgL_sc_confzd2setzd2adjoinza2_45za2 = function(sc_states_57, BgL_sc_statezd2num_58zd2, l, i) { + var conf_set; + var sc_conf_59; + var l1; + var state; + { + (state = (sc_states_57[BgL_sc_statezd2num_58zd2])); + (l1 = l); + while ((l1 instanceof sc_Pair)) { + { + (sc_conf_59 = (l1.car)); + (conf_set = (BgL_sc_confzd2setzd2getza2_44za2(state, BgL_sc_statezd2num_58zd2, sc_conf_59))); + if (((conf_set[(i+(5))])=== false)) + { + (conf_set_adjoin(state, conf_set, sc_conf_59, i)); + (l1 = (l1.cdr)); + } + else + (l1 = (l1.cdr)); + } + } + return undefined; + } + }; + BgL_sc_confzd2setzd2adjoinza2za2_46z00 = function(sc_states_60, BgL_sc_statesza2_61za2, BgL_sc_statezd2num_62zd2, sc_conf_63, i) { + var BgL_sc_confzd2setza2_64z70; + var BgL_sc_stateza2_65za2; + var conf_set; + var state; + return ((state = (sc_states_60[BgL_sc_statezd2num_62zd2])), ((((conf_set = (state[(sc_conf_63+(1))])), ((conf_set!== false)?(conf_set[(i+(5))]):false))!== false)?((BgL_sc_stateza2_65za2 = (BgL_sc_statesza2_61za2[BgL_sc_statezd2num_62zd2])), (BgL_sc_confzd2setza2_64z70 = (BgL_sc_confzd2setzd2getza2_44za2(BgL_sc_stateza2_65za2, BgL_sc_statezd2num_62zd2, sc_conf_63))), (((BgL_sc_confzd2setza2_64z70[(i+(5))])=== false)?(conf_set_adjoin(BgL_sc_stateza2_65za2, BgL_sc_confzd2setza2_64z70, sc_conf_63, i)):undefined), true):false)); + }; + conf_set_union = function(state, conf_set, sc_conf_66, other_set) { + var i; + { + (i = (other_set[(2)])); + while ((i>=(0))) { + if (((conf_set[(i+(5))])=== false)) + { + (conf_set_adjoin(state, conf_set, sc_conf_66, i)); + (i = (other_set[(i+(5))])); + } + else + (i = (other_set[(i+(5))])); + } + return undefined; + } + }; + forw = function(sc_states_67, BgL_sc_statezd2num_68zd2, sc_starters_69, sc_enders_70, sc_predictors_71, sc_steps_72, sc_nts_73) { + var next_set; + var next; + var conf_set; + var ender; + var l; + var starter_set; + var starter; + var sc_l_74; + var sc_loop1_75; + var head; + var BgL_sc_confzd2set_76zd2; + var BgL_sc_statezd2num_77zd2; + var state; + var sc_states_78; + var preds; + var BgL_sc_confzd2set_79zd2; + var step; + var sc_conf_80; + var BgL_sc_nbzd2nts_81zd2; + var sc_state_82; + { + (sc_state_82 = (sc_states_67[BgL_sc_statezd2num_68zd2])); + (BgL_sc_nbzd2nts_81zd2 = (sc_nts_73.length)); + while (true) { + { + (sc_conf_80 = (sc_state_82[(0)])); + if ((sc_conf_80>=(0))) + { + (step = (sc_steps_72[sc_conf_80])); + (BgL_sc_confzd2set_79zd2 = (sc_state_82[(sc_conf_80+(1))])); + (head = (BgL_sc_confzd2set_79zd2[(4)])); + (sc_state_82[(0)] = (BgL_sc_confzd2set_79zd2[(0)])); + (conf_set_merge_new_bang(BgL_sc_confzd2set_79zd2)); + if ((step>=(0))) + { + (sc_l_74 = (sc_starters_69[step])); + while ((sc_l_74 instanceof sc_Pair)) { + { + (starter = (sc_l_74.car)); + (starter_set = (BgL_sc_confzd2setzd2getza2_44za2(sc_state_82, BgL_sc_statezd2num_68zd2, starter))); + if (((starter_set[(BgL_sc_statezd2num_68zd2+(5))])=== false)) + { + (conf_set_adjoin(sc_state_82, starter_set, starter, BgL_sc_statezd2num_68zd2)); + (sc_l_74 = (sc_l_74.cdr)); + } + else + (sc_l_74 = (sc_l_74.cdr)); + } + } + (l = (sc_enders_70[step])); + while ((l instanceof sc_Pair)) { + { + (ender = (l.car)); + if ((((conf_set = (sc_state_82[(ender+(1))])), ((conf_set!== false)?(conf_set[(BgL_sc_statezd2num_68zd2+(5))]):false))!== false)) + { + (next = (sc_conf_80+(1))); + (next_set = (BgL_sc_confzd2setzd2getza2_44za2(sc_state_82, BgL_sc_statezd2num_68zd2, next))); + (conf_set_union(sc_state_82, next_set, next, BgL_sc_confzd2set_79zd2)); + (l = (l.cdr)); + } + else + (l = (l.cdr)); + } + } + } + else + { + (preds = (sc_predictors_71[(step+BgL_sc_nbzd2nts_81zd2)])); + (sc_states_78 = sc_states_67); + (state = sc_state_82); + (BgL_sc_statezd2num_77zd2 = BgL_sc_statezd2num_68zd2); + (BgL_sc_confzd2set_76zd2 = BgL_sc_confzd2set_79zd2); + sc_loop1_75 = function(l) { + var sc_state_83; + var BgL_sc_nextzd2set_84zd2; + var sc_next_85; + var pred_set; + var i; + var pred; + if ((l instanceof sc_Pair)) + { + (pred = (l.car)); + (i = head); + while ((i>=(0))) { + { + (pred_set = ((sc_state_83 = (sc_states_78[i])), (sc_state_83[(pred+(1))]))); + if ((pred_set!== false)) + { + (sc_next_85 = (pred+(1))); + (BgL_sc_nextzd2set_84zd2 = (BgL_sc_confzd2setzd2getza2_44za2(state, BgL_sc_statezd2num_77zd2, sc_next_85))); + (conf_set_union(state, BgL_sc_nextzd2set_84zd2, sc_next_85, pred_set)); + } + (i = (BgL_sc_confzd2set_76zd2[(i+(5))])); + } + } + return (sc_loop1_75((l.cdr))); + } + else + return undefined; + }; + (sc_loop1_75(preds)); + } + } + else + return undefined; + } + } + } + }; + is_parsed = function(nt, i, j, sc_nts_86, sc_enders_87, sc_states_88) { + var conf_set; + var state; + var sc_conf_89; + var l; + var BgL_sc_ntza2_90za2; + { + (BgL_sc_ntza2_90za2 = (sc_ind_43(nt, sc_nts_86))); + if ((BgL_sc_ntza2_90za2!== false)) + { + (sc_nts_86.length); + (l = (sc_enders_87[BgL_sc_ntza2_90za2])); + while (true) { + if ((l instanceof sc_Pair)) + { + (sc_conf_89 = (l.car)); + if ((((state = (sc_states_88[j])), (conf_set = (state[(sc_conf_89+(1))])), ((conf_set!== false)?(conf_set[(i+(5))]):false))!== false)) + return true; + else + (l = (l.cdr)); + } + else + return false; + } + } + else + return false; + } + }; + deriv_trees = function(sc_conf_91, i, j, sc_enders_92, sc_steps_93, sc_names_94, sc_toks_95, sc_states_96, BgL_sc_nbzd2nts_97zd2) { + var sc_loop1_98; + var prev; + var name; + return ((name = (sc_names_94[sc_conf_91])), ((name!== false)?((sc_conf_91=(0))) + if (((k>=i)&&(((sc_state_99 = (sc_states_96[k])), (conf_set = (sc_state_99[(prev+(1))])), ((conf_set!== false)?(conf_set[(i+(5))]):false))!== false))) + { + (prev_trees = (deriv_trees(prev, i, k, sc_enders_92, sc_steps_93, sc_names_94, sc_toks_95, sc_states_96, BgL_sc_nbzd2nts_97zd2))); + (ender_trees = (deriv_trees(ender, k, j, sc_enders_92, sc_steps_93, sc_names_94, sc_toks_95, sc_states_96, BgL_sc_nbzd2nts_97zd2))); + loop3 = function(l3, l2) { + var l4; + var sc_l2_100; + var ender_tree; + if ((l3 instanceof sc_Pair)) + { + (ender_tree = (sc_list((l3.car)))); + (l4 = prev_trees); + (sc_l2_100 = l2); + while ((l4 instanceof sc_Pair)) { + { + (sc_l2_100 = (new sc_Pair((sc_append((l4.car), ender_tree)), sc_l2_100))); + (l4 = (l4.cdr)); + } + } + return (loop3((l3.cdr), sc_l2_100)); + } + else + return (loop2((ender_set[(k+(5))]), l2)); + }; + return (loop3(ender_trees, l2)); + } + else + (k = (ender_set[(k+(5))])); + else + return (sc_loop1_98((l1.cdr), l2)); + } + }; + return (loop2((ender_set[(2)]), l2)); + } + else + (l1 = (l1.cdr)); + } + else + return l2; + } + }), (sc_loop1_98((sc_enders_92[(sc_steps_93[prev])]), null))))); + }; + BgL_sc_derivzd2treesza2_47z70 = function(nt, i, j, sc_nts_101, sc_enders_102, sc_steps_103, sc_names_104, sc_toks_105, sc_states_106) { + var conf_set; + var state; + var sc_conf_107; + var l; + var trees; + var BgL_sc_nbzd2nts_108zd2; + var BgL_sc_ntza2_109za2; + { + (BgL_sc_ntza2_109za2 = (sc_ind_43(nt, sc_nts_101))); + if ((BgL_sc_ntza2_109za2!== false)) + { + (BgL_sc_nbzd2nts_108zd2 = (sc_nts_101.length)); + (l = (sc_enders_102[BgL_sc_ntza2_109za2])); + (trees = null); + while ((l instanceof sc_Pair)) { + { + (sc_conf_107 = (l.car)); + if ((((state = (sc_states_106[j])), (conf_set = (state[(sc_conf_107+(1))])), ((conf_set!== false)?(conf_set[(i+(5))]):false))!== false)) + { + (l = (l.cdr)); + (trees = (sc_append((deriv_trees(sc_conf_107, i, j, sc_enders_102, sc_steps_103, sc_names_104, sc_toks_105, sc_states_106, BgL_sc_nbzd2nts_108zd2)), trees))); + } + else + (l = (l.cdr)); + } + } + return trees; + } + else + return false; + } + }; + nb_deriv_trees = function(sc_conf_110, i, j, sc_enders_111, sc_steps_112, sc_toks_113, sc_states_114, BgL_sc_nbzd2nts_115zd2) { + var sc_loop1_116; + var tmp1124; + var prev; + return ((prev = (sc_conf_110-(1))), ((((tmp1124 = (sc_conf_110=(0))) { + if (((k>=i)&&(((state = (sc_states_114[k])), (conf_set = (state[(prev+(1))])), ((conf_set!== false)?(conf_set[(i+(5))]):false))!== false))) + { + (nb_prev_trees = (nb_deriv_trees(prev, i, k, sc_enders_111, sc_steps_112, sc_toks_113, sc_states_114, BgL_sc_nbzd2nts_115zd2))); + (nb_ender_trees = (nb_deriv_trees(ender, k, j, sc_enders_111, sc_steps_112, sc_toks_113, sc_states_114, BgL_sc_nbzd2nts_115zd2))); + (k = (ender_set[(k+(5))])); + (n +=(nb_prev_trees*nb_ender_trees)); + } + else + (k = (ender_set[(k+(5))])); + } + return (sc_loop1_116((l.cdr), n)); + } + else + (l = (l.cdr)); + } + else + return sc_n_118; + } + }), (sc_loop1_116((sc_enders_111[(sc_steps_112[prev])]), (0)))))); + }; + BgL_sc_nbzd2derivzd2treesza2_48za2 = function(nt, i, j, sc_nts_119, sc_enders_120, sc_steps_121, sc_toks_122, sc_states_123) { + var conf_set; + var state; + var sc_conf_124; + var l; + var nb_trees; + var BgL_sc_nbzd2nts_125zd2; + var BgL_sc_ntza2_126za2; + { + (BgL_sc_ntza2_126za2 = (sc_ind_43(nt, sc_nts_119))); + if ((BgL_sc_ntza2_126za2!== false)) + { + (BgL_sc_nbzd2nts_125zd2 = (sc_nts_119.length)); + (l = (sc_enders_120[BgL_sc_ntza2_126za2])); + (nb_trees = (0)); + while ((l instanceof sc_Pair)) { + { + (sc_conf_124 = (l.car)); + if ((((state = (sc_states_123[j])), (conf_set = (state[(sc_conf_124+(1))])), ((conf_set!== false)?(conf_set[(i+(5))]):false))!== false)) + { + (l = (l.cdr)); + (nb_trees = ((nb_deriv_trees(sc_conf_124, i, j, sc_enders_120, sc_steps_121, sc_toks_122, sc_states_123, BgL_sc_nbzd2nts_125zd2))+nb_trees)); + } + else + (l = (l.cdr)); + } + } + return nb_trees; + } + else + return false; + } + }; + (lexer = (parser_descr[(0)])); + (sc_nts_42 = (parser_descr[(1)])); + (sc_starters_41 = (parser_descr[(2)])); + (sc_enders_40 = (parser_descr[(3)])); + (sc_predictors_39 = (parser_descr[(4)])); + (sc_steps_38 = (parser_descr[(5)])); + (sc_names_37 = (parser_descr[(6)])); + (falseHead1128 = (new sc_Pair(null, null))); + (L1125 = (lexer(input))); + (tail1129 = falseHead1128); + while (!(L1125 === null)) { + { + (tok = (L1125.car)); + (l1 = (tok.cdr)); + (l2 = null); + while ((l1 instanceof sc_Pair)) { + { + (sc_i_29 = (sc_ind_43((l1.car), sc_nts_42))); + if ((sc_i_29!== false)) + { + (l1 = (l1.cdr)); + (l2 = (new sc_Pair(sc_i_29, l2))); + } + else + (l1 = (l1.cdr)); + } + } + (sc_optrOpnd_22 = (new sc_Pair((tok.car), (sc_reverse(l2))))); + (sc_optrOpnd_21 = (new sc_Pair(sc_optrOpnd_22, null))); + (tail1129.cdr = sc_optrOpnd_21); + (tail1129 = (tail1129.cdr)); + (L1125 = (L1125.cdr)); + } + } + (sc_optrOpnd_20 = (falseHead1128.cdr)); + (sc_toks_36 = (sc_list2vector(sc_optrOpnd_20))); + (BgL_sc_nbzd2toks_35zd2 = (sc_toks_36.length)); + (BgL_sc_nbzd2confs_34zd2 = (sc_steps_38.length)); + (sc_states_33 = (make_states(BgL_sc_nbzd2toks_35zd2, BgL_sc_nbzd2confs_34zd2))); + (goal_starters = (sc_starters_41[(0)])); + (BgL_sc_confzd2setzd2adjoinza2_45za2(sc_states_33, (0), goal_starters, (0))); + (forw(sc_states_33, (0), sc_starters_41, sc_enders_40, sc_predictors_39, sc_steps_38, sc_nts_42)); + (sc_i_28 = (0)); + while ((sc_i_28=(0))) { + { + (states = sc_states_33); + (BgL_sc_statesza2_27za2 = BgL_sc_statesza2_30za2); + (state_num = i); + (sc_enders_26 = sc_enders_40); + (sc_steps_25 = sc_steps_38); + (BgL_sc_nbzd2nts_24zd2 = BgL_sc_nbzd2nts_31zd2); + (toks = sc_toks_36); + (BgL_sc_stateza2_23za2 = (BgL_sc_statesza2_30za2[i])); + loop1 = function() { + var sc_loop1_127; + var prev; + var BgL_sc_statesza2_128za2; + var sc_states_129; + var j; + var i; + var sc_i_130; + var head; + var conf_set; + var sc_conf_131; + { + (sc_conf_131 = (BgL_sc_stateza2_23za2[(0)])); + if ((sc_conf_131>=(0))) + { + (conf_set = (BgL_sc_stateza2_23za2[(sc_conf_131+(1))])); + (head = (conf_set[(4)])); + (BgL_sc_stateza2_23za2[(0)] = (conf_set[(0)])); + (conf_set_merge_new_bang(conf_set)); + (sc_i_130 = head); + while ((sc_i_130>=(0))) { + { + (i = sc_i_130); + (j = state_num); + (sc_states_129 = states); + (BgL_sc_statesza2_128za2 = BgL_sc_statesza2_27za2); + (prev = (sc_conf_131-(1))); + if (((sc_conf_131>=BgL_sc_nbzd2nts_24zd2)&&((sc_steps_25[prev])>=(0)))) + { + sc_loop1_127 = function(l) { + var k; + var ender_set; + var state; + var ender; + var l; + while (true) { + if ((l instanceof sc_Pair)) + { + (ender = (l.car)); + (ender_set = ((state = (sc_states_129[j])), (state[(ender+(1))]))); + if ((ender_set!== false)) + { + (k = (ender_set[(2)])); + while ((k>=(0))) { + { + if ((k>=i)) + if (((BgL_sc_confzd2setzd2adjoinza2za2_46z00(sc_states_129, BgL_sc_statesza2_128za2, k, prev, i))!== false)) + (BgL_sc_confzd2setzd2adjoinza2za2_46z00(sc_states_129, BgL_sc_statesza2_128za2, j, ender, k)); + (k = (ender_set[(k+(5))])); + } + } + return (sc_loop1_127((l.cdr))); + } + else + (l = (l.cdr)); + } + else + return undefined; + } + }; + (sc_loop1_127((sc_enders_26[(sc_steps_25[prev])]))); + } + (sc_i_130 = (conf_set[(sc_i_130+(5))])); + } + } + return (loop1()); + } + else + return undefined; + } + }; + (loop1()); + (--i); + } + } + (optrOpnd = BgL_sc_statesza2_30za2); + return [sc_nts_42, sc_starters_41, sc_enders_40, sc_predictors_39, sc_steps_38, sc_names_37, sc_toks_36, optrOpnd, is_parsed, BgL_sc_derivzd2treesza2_47z70, BgL_sc_nbzd2derivzd2treesza2_48za2]; + } + }; + } + }; + BgL_parsezd2ze3parsedzf3zc2 = function(parse, nt, i, j) { + var is_parsed; + var states; + var enders; + var nts; + return ((nts = (parse[(0)])), (enders = (parse[(2)])), (states = (parse[(7)])), (is_parsed = (parse[(8)])), (is_parsed(nt, i, j, nts, enders, states))); + }; + BgL_parsezd2ze3treesz31 = function(parse, nt, i, j) { + var BgL_sc_derivzd2treesza2_132z70; + var states; + var toks; + var names; + var steps; + var enders; + var nts; + return ((nts = (parse[(0)])), (enders = (parse[(2)])), (steps = (parse[(4)])), (names = (parse[(5)])), (toks = (parse[(6)])), (states = (parse[(7)])), (BgL_sc_derivzd2treesza2_132z70 = (parse[(9)])), (BgL_sc_derivzd2treesza2_132z70(nt, i, j, nts, enders, steps, names, toks, states))); + }; + BgL_parsezd2ze3nbzd2treesze3 = function(parse, nt, i, j) { + var BgL_sc_nbzd2derivzd2treesza2_133za2; + var states; + var toks; + var steps; + var enders; + var nts; + return ((nts = (parse[(0)])), (enders = (parse[(2)])), (steps = (parse[(4)])), (toks = (parse[(6)])), (states = (parse[(7)])), (BgL_sc_nbzd2derivzd2treesza2_133za2 = (parse[(10)])), (BgL_sc_nbzd2derivzd2treesza2_133za2(nt, i, j, nts, enders, steps, toks, states))); + }; + test = function(k) { + var x; + var p; + return ((p = (BgL_makezd2parserzd2(const_earley, function(l) { + var sc_x_134; + var tail1134; + var L1130; + var falseHead1133; + { + (falseHead1133 = (new sc_Pair(null, null))); + (tail1134 = falseHead1133); + (L1130 = l); + while (!(L1130 === null)) { + { + (tail1134.cdr = (new sc_Pair(((sc_x_134 = (L1130.car)), (sc_list(sc_x_134, sc_x_134))), null))); + (tail1134 = (tail1134.cdr)); + (L1130 = (L1130.cdr)); + } + } + return (falseHead1133.cdr); + } + }))), (x = (p((sc_vector2list((sc_makeVector(k, "\u1E9Ca"))))))), (sc_length((BgL_parsezd2ze3treesz31(x, "\u1E9Cs", (0), k))))); + }; + BgL_earleyzd2benchmarkzd2 = function() { + var args = null; + for (var sc_tmp = arguments.length - 1; sc_tmp >= 0; sc_tmp--) { + args = sc_cons(arguments[sc_tmp], args); + } + var k; + return ((k = ((args === null)?(7):(args.car))), (BgL_runzd2benchmarkzd2("earley", (1), function() { + return (test(k)); + }, function(result) { + return ((sc_display(result)), (sc_newline()), result == 132); + }))); + }; +} + + +/************* END OF GENERATED CODE *************/ +// Invoke this function to run a benchmark. +// The first argument is a string identifying the benchmark. +// The second argument is the number of times to run the benchmark. +// The third argument is a function that runs the benchmark. +// The fourth argument is a unary function that warns if the result +// returned by the benchmark is incorrect. +// +// Example: +// RunBenchmark("new Array()", +// 1, +// function () { new Array(1000000); } +// function (v) { +// return (v instanceof Array) && (v.length == 1000000); +// }); + +SC_DEFAULT_OUT = new sc_GenericOutputPort(function(s) {}); +SC_ERROR_OUT = SC_DEFAULT_OUT; + +function RunBenchmark(name, count, run, warn) { + for (var n = 0; n < count; ++n) { + result = run(); + if (!warn(result)) { + throw new Error("Earley or Boyer did incorrect number of rewrites"); + } + } +} + +var BgL_runzd2benchmarkzd2 = RunBenchmark; diff --git a/tests/benchmarks/script/v8/tests/raytrace.js b/tests/benchmarks/script/v8/tests/raytrace.js new file mode 100644 index 0000000..971ef72 --- /dev/null +++ b/tests/benchmarks/script/v8/tests/raytrace.js @@ -0,0 +1,904 @@ +// The ray tracer code in this file is written by Adam Burmister. It +// is available in its original form from: +// +// http://labs.flog.nz.co/raytracer/ +// +// It has been modified slightly by Google to work as a standalone +// benchmark, but the all the computational code remains +// untouched. This file also contains a copy of parts of the Prototype +// JavaScript framework which is used by the ray tracer. + +var RayTrace = new BenchmarkSuite('RayTrace', 739989, [ + new Benchmark('RayTrace', renderScene) +]); + + +// Variable used to hold a number that can be used to verify that +// the scene was ray traced correctly. +var checkNumber; + + +// ------------------------------------------------------------------------ +// ------------------------------------------------------------------------ + +// The following is a copy of parts of the Prototype JavaScript library: + +// Prototype JavaScript framework, version 1.5.0 +// (c) 2005-2007 Sam Stephenson +// +// Prototype is freely distributable under the terms of an MIT-style license. +// For details, see the Prototype web site: http://prototype.conio.net/ + + +var Class = { + create: function() { + return function() { + this.initialize.apply(this, arguments); + } + } +}; + + +Object.extend = function(destination, source) { + for (var property in source) { + destination[property] = source[property]; + } + return destination; +}; + + +// ------------------------------------------------------------------------ +// ------------------------------------------------------------------------ + +// The rest of this file is the actual ray tracer written by Adam +// Burmister. It's a concatenation of the following files: +// +// flog/color.js +// flog/light.js +// flog/vector.js +// flog/ray.js +// flog/scene.js +// flog/material/basematerial.js +// flog/material/solid.js +// flog/material/chessboard.js +// flog/shape/baseshape.js +// flog/shape/sphere.js +// flog/shape/plane.js +// flog/intersectioninfo.js +// flog/camera.js +// flog/background.js +// flog/engine.js + + +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Color = Class.create(); + +Flog.RayTracer.Color.prototype = { + red : 0.0, + green : 0.0, + blue : 0.0, + + initialize : function(r, g, b) { + if(!r) r = 0.0; + if(!g) g = 0.0; + if(!b) b = 0.0; + + this.red = r; + this.green = g; + this.blue = b; + }, + + add : function(c1, c2){ + var result = new Flog.RayTracer.Color(0,0,0); + + result.red = c1.red + c2.red; + result.green = c1.green + c2.green; + result.blue = c1.blue + c2.blue; + + return result; + }, + + addScalar: function(c1, s){ + var result = new Flog.RayTracer.Color(0,0,0); + + result.red = c1.red + s; + result.green = c1.green + s; + result.blue = c1.blue + s; + + result.limit(); + + return result; + }, + + subtract: function(c1, c2){ + var result = new Flog.RayTracer.Color(0,0,0); + + result.red = c1.red - c2.red; + result.green = c1.green - c2.green; + result.blue = c1.blue - c2.blue; + + return result; + }, + + multiply : function(c1, c2) { + var result = new Flog.RayTracer.Color(0,0,0); + + result.red = c1.red * c2.red; + result.green = c1.green * c2.green; + result.blue = c1.blue * c2.blue; + + return result; + }, + + multiplyScalar : function(c1, f) { + var result = new Flog.RayTracer.Color(0,0,0); + + result.red = c1.red * f; + result.green = c1.green * f; + result.blue = c1.blue * f; + + return result; + }, + + divideFactor : function(c1, f) { + var result = new Flog.RayTracer.Color(0,0,0); + + result.red = c1.red / f; + result.green = c1.green / f; + result.blue = c1.blue / f; + + return result; + }, + + limit: function(){ + this.red = (this.red > 0.0) ? ( (this.red > 1.0) ? 1.0 : this.red ) : 0.0; + this.green = (this.green > 0.0) ? ( (this.green > 1.0) ? 1.0 : this.green ) : 0.0; + this.blue = (this.blue > 0.0) ? ( (this.blue > 1.0) ? 1.0 : this.blue ) : 0.0; + }, + + distance : function(color) { + var d = Math.abs(this.red - color.red) + Math.abs(this.green - color.green) + Math.abs(this.blue - color.blue); + return d; + }, + + blend: function(c1, c2, w){ + var result = new Flog.RayTracer.Color(0,0,0); + result = Flog.RayTracer.Color.prototype.add( + Flog.RayTracer.Color.prototype.multiplyScalar(c1, 1 - w), + Flog.RayTracer.Color.prototype.multiplyScalar(c2, w) + ); + return result; + }, + + brightness : function() { + var r = Math.floor(this.red*255); + var g = Math.floor(this.green*255); + var b = Math.floor(this.blue*255); + return (r * 77 + g * 150 + b * 29) >> 8; + }, + + toString : function () { + var r = Math.floor(this.red*255); + var g = Math.floor(this.green*255); + var b = Math.floor(this.blue*255); + + return "rgb("+ r +","+ g +","+ b +")"; + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Light = Class.create(); + +Flog.RayTracer.Light.prototype = { + position: null, + color: null, + intensity: 10.0, + + initialize : function(pos, color, intensity) { + this.position = pos; + this.color = color; + this.intensity = (intensity ? intensity : 10.0); + }, + + toString : function () { + return 'Light [' + this.position.x + ',' + this.position.y + ',' + this.position.z + ']'; + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Vector = Class.create(); + +Flog.RayTracer.Vector.prototype = { + x : 0.0, + y : 0.0, + z : 0.0, + + initialize : function(x, y, z) { + this.x = (x ? x : 0); + this.y = (y ? y : 0); + this.z = (z ? z : 0); + }, + + copy: function(vector){ + this.x = vector.x; + this.y = vector.y; + this.z = vector.z; + }, + + normalize : function() { + var m = this.magnitude(); + return new Flog.RayTracer.Vector(this.x / m, this.y / m, this.z / m); + }, + + magnitude : function() { + return Math.sqrt((this.x * this.x) + (this.y * this.y) + (this.z * this.z)); + }, + + cross : function(w) { + return new Flog.RayTracer.Vector( + -this.z * w.y + this.y * w.z, + this.z * w.x - this.x * w.z, + -this.y * w.x + this.x * w.y); + }, + + dot : function(w) { + return this.x * w.x + this.y * w.y + this.z * w.z; + }, + + add : function(v, w) { + return new Flog.RayTracer.Vector(w.x + v.x, w.y + v.y, w.z + v.z); + }, + + subtract : function(v, w) { + if(!w || !v) throw 'Vectors must be defined [' + v + ',' + w + ']'; + return new Flog.RayTracer.Vector(v.x - w.x, v.y - w.y, v.z - w.z); + }, + + multiplyVector : function(v, w) { + return new Flog.RayTracer.Vector(v.x * w.x, v.y * w.y, v.z * w.z); + }, + + multiplyScalar : function(v, w) { + return new Flog.RayTracer.Vector(v.x * w, v.y * w, v.z * w); + }, + + toString : function () { + return 'Vector [' + this.x + ',' + this.y + ',' + this.z + ']'; + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Ray = Class.create(); + +Flog.RayTracer.Ray.prototype = { + position : null, + direction : null, + initialize : function(pos, dir) { + this.position = pos; + this.direction = dir; + }, + + toString : function () { + return 'Ray [' + this.position + ',' + this.direction + ']'; + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Scene = Class.create(); + +Flog.RayTracer.Scene.prototype = { + camera : null, + shapes : [], + lights : [], + background : null, + + initialize : function() { + this.camera = new Flog.RayTracer.Camera( + new Flog.RayTracer.Vector(0,0,-5), + new Flog.RayTracer.Vector(0,0,1), + new Flog.RayTracer.Vector(0,1,0) + ); + this.shapes = new Array(); + this.lights = new Array(); + this.background = new Flog.RayTracer.Background(new Flog.RayTracer.Color(0,0,0.5), 0.2); + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; +if(typeof(Flog.RayTracer.Material) == 'undefined') Flog.RayTracer.Material = {}; + +Flog.RayTracer.Material.BaseMaterial = Class.create(); + +Flog.RayTracer.Material.BaseMaterial.prototype = { + + gloss: 2.0, // [0...infinity] 0 = matt + transparency: 0.0, // 0=opaque + reflection: 0.0, // [0...infinity] 0 = no reflection + refraction: 0.50, + hasTexture: false, + + initialize : function() { + + }, + + getColor: function(u, v){ + + }, + + wrapUp: function(t){ + t = t % 2.0; + if(t < -1) t += 2.0; + if(t >= 1) t -= 2.0; + return t; + }, + + toString : function () { + return 'Material [gloss=' + this.gloss + ', transparency=' + this.transparency + ', hasTexture=' + this.hasTexture +']'; + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Material.Solid = Class.create(); + +Flog.RayTracer.Material.Solid.prototype = Object.extend( + new Flog.RayTracer.Material.BaseMaterial(), { + initialize : function(color, reflection, refraction, transparency, gloss) { + this.color = color; + this.reflection = reflection; + this.transparency = transparency; + this.gloss = gloss; + this.hasTexture = false; + }, + + getColor: function(u, v){ + return this.color; + }, + + toString : function () { + return 'SolidMaterial [gloss=' + this.gloss + ', transparency=' + this.transparency + ', hasTexture=' + this.hasTexture +']'; + } + } +); +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Material.Chessboard = Class.create(); + +Flog.RayTracer.Material.Chessboard.prototype = Object.extend( + new Flog.RayTracer.Material.BaseMaterial(), { + colorEven: null, + colorOdd: null, + density: 0.5, + + initialize : function(colorEven, colorOdd, reflection, transparency, gloss, density) { + this.colorEven = colorEven; + this.colorOdd = colorOdd; + this.reflection = reflection; + this.transparency = transparency; + this.gloss = gloss; + this.density = density; + this.hasTexture = true; + }, + + getColor: function(u, v){ + var t = this.wrapUp(u * this.density) * this.wrapUp(v * this.density); + + if(t < 0.0) + return this.colorEven; + else + return this.colorOdd; + }, + + toString : function () { + return 'ChessMaterial [gloss=' + this.gloss + ', transparency=' + this.transparency + ', hasTexture=' + this.hasTexture +']'; + } + } +); +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; +if(typeof(Flog.RayTracer.Shape) == 'undefined') Flog.RayTracer.Shape = {}; + +Flog.RayTracer.Shape.Sphere = Class.create(); + +Flog.RayTracer.Shape.Sphere.prototype = { + initialize : function(pos, radius, material) { + this.radius = radius; + this.position = pos; + this.material = material; + }, + + intersect: function(ray){ + var info = new Flog.RayTracer.IntersectionInfo(); + info.shape = this; + + var dst = Flog.RayTracer.Vector.prototype.subtract(ray.position, this.position); + + var B = dst.dot(ray.direction); + var C = dst.dot(dst) - (this.radius * this.radius); + var D = (B * B) - C; + + if(D > 0){ // intersection! + info.isHit = true; + info.distance = (-B) - Math.sqrt(D); + info.position = Flog.RayTracer.Vector.prototype.add( + ray.position, + Flog.RayTracer.Vector.prototype.multiplyScalar( + ray.direction, + info.distance + ) + ); + info.normal = Flog.RayTracer.Vector.prototype.subtract( + info.position, + this.position + ).normalize(); + + info.color = this.material.getColor(0,0); + } else { + info.isHit = false; + } + return info; + }, + + toString : function () { + return 'Sphere [position=' + this.position + ', radius=' + this.radius + ']'; + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; +if(typeof(Flog.RayTracer.Shape) == 'undefined') Flog.RayTracer.Shape = {}; + +Flog.RayTracer.Shape.Plane = Class.create(); + +Flog.RayTracer.Shape.Plane.prototype = { + d: 0.0, + + initialize : function(pos, d, material) { + this.position = pos; + this.d = d; + this.material = material; + }, + + intersect: function(ray){ + var info = new Flog.RayTracer.IntersectionInfo(); + + var Vd = this.position.dot(ray.direction); + if(Vd == 0) return info; // no intersection + + var t = -(this.position.dot(ray.position) + this.d) / Vd; + if(t <= 0) return info; + + info.shape = this; + info.isHit = true; + info.position = Flog.RayTracer.Vector.prototype.add( + ray.position, + Flog.RayTracer.Vector.prototype.multiplyScalar( + ray.direction, + t + ) + ); + info.normal = this.position; + info.distance = t; + + if(this.material.hasTexture){ + var vU = new Flog.RayTracer.Vector(this.position.y, this.position.z, -this.position.x); + var vV = vU.cross(this.position); + var u = info.position.dot(vU); + var v = info.position.dot(vV); + info.color = this.material.getColor(u,v); + } else { + info.color = this.material.getColor(0,0); + } + + return info; + }, + + toString : function () { + return 'Plane [' + this.position + ', d=' + this.d + ']'; + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.IntersectionInfo = Class.create(); + +Flog.RayTracer.IntersectionInfo.prototype = { + isHit: false, + hitCount: 0, + shape: null, + position: null, + normal: null, + color: null, + distance: null, + + initialize : function() { + this.color = new Flog.RayTracer.Color(0,0,0); + }, + + toString : function () { + return 'Intersection [' + this.position + ']'; + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Camera = Class.create(); + +Flog.RayTracer.Camera.prototype = { + position: null, + lookAt: null, + equator: null, + up: null, + screen: null, + + initialize : function(pos, lookAt, up) { + this.position = pos; + this.lookAt = lookAt; + this.up = up; + this.equator = lookAt.normalize().cross(this.up); + this.screen = Flog.RayTracer.Vector.prototype.add(this.position, this.lookAt); + }, + + getRay: function(vx, vy){ + var pos = Flog.RayTracer.Vector.prototype.subtract( + this.screen, + Flog.RayTracer.Vector.prototype.subtract( + Flog.RayTracer.Vector.prototype.multiplyScalar(this.equator, vx), + Flog.RayTracer.Vector.prototype.multiplyScalar(this.up, vy) + ) + ); + pos.y = pos.y * -1; + var dir = Flog.RayTracer.Vector.prototype.subtract( + pos, + this.position + ); + + var ray = new Flog.RayTracer.Ray(pos, dir.normalize()); + + return ray; + }, + + toString : function () { + return 'Ray []'; + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Background = Class.create(); + +Flog.RayTracer.Background.prototype = { + color : null, + ambience : 0.0, + + initialize : function(color, ambience) { + this.color = color; + this.ambience = ambience; + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Engine = Class.create(); + +Flog.RayTracer.Engine.prototype = { + canvas: null, /* 2d context we can render to */ + + initialize: function(options){ + this.options = Object.extend({ + canvasHeight: 100, + canvasWidth: 100, + pixelWidth: 2, + pixelHeight: 2, + renderDiffuse: false, + renderShadows: false, + renderHighlights: false, + renderReflections: false, + rayDepth: 2 + }, options || {}); + + this.options.canvasHeight /= this.options.pixelHeight; + this.options.canvasWidth /= this.options.pixelWidth; + + /* TODO: dynamically include other scripts */ + }, + + setPixel: function(x, y, color){ + var pxW, pxH; + pxW = this.options.pixelWidth; + pxH = this.options.pixelHeight; + + if (this.canvas) { + this.canvas.fillStyle = color.toString(); + this.canvas.fillRect (x * pxW, y * pxH, pxW, pxH); + } else { + if (x === y) { + checkNumber += color.brightness(); + } + // print(x * pxW, y * pxH, pxW, pxH); + } + }, + + renderScene: function(scene, canvas){ + checkNumber = 0; + /* Get canvas */ + if (canvas) { + this.canvas = canvas.getContext("2d"); + } else { + this.canvas = null; + } + + var canvasHeight = this.options.canvasHeight; + var canvasWidth = this.options.canvasWidth; + + for(var y=0; y < canvasHeight; y++){ + for(var x=0; x < canvasWidth; x++){ + var yp = y * 1.0 / canvasHeight * 2 - 1; + var xp = x * 1.0 / canvasWidth * 2 - 1; + + var ray = scene.camera.getRay(xp, yp); + + var color = this.getPixelColor(ray, scene); + + this.setPixel(x, y, color); + } + } + if (checkNumber !== 2321) { + throw new Error("Scene rendered incorrectly"); + } + }, + + getPixelColor: function(ray, scene){ + var info = this.testIntersection(ray, scene, null); + if(info.isHit){ + var color = this.rayTrace(info, ray, scene, 0); + return color; + } + return scene.background.color; + }, + + testIntersection: function(ray, scene, exclude){ + var hits = 0; + var best = new Flog.RayTracer.IntersectionInfo(); + best.distance = 2000; + + for(var i=0; i= 0 && info.distance < best.distance){ + best = info; + hits++; + } + } + } + best.hitCount = hits; + return best; + }, + + getReflectionRay: function(P,N,V){ + var c1 = -N.dot(V); + var R1 = Flog.RayTracer.Vector.prototype.add( + Flog.RayTracer.Vector.prototype.multiplyScalar(N, 2*c1), + V + ); + return new Flog.RayTracer.Ray(P, R1); + }, + + rayTrace: function(info, ray, scene, depth){ + // Calc ambient + var color = Flog.RayTracer.Color.prototype.multiplyScalar(info.color, scene.background.ambience); + var oldColor = color; + var shininess = Math.pow(10, info.shape.material.gloss + 1); + + for(var i=0; i 0.0){ + color = Flog.RayTracer.Color.prototype.add( + color, + Flog.RayTracer.Color.prototype.multiply( + info.color, + Flog.RayTracer.Color.prototype.multiplyScalar( + light.color, + L + ) + ) + ); + } + } + + // The greater the depth the more accurate the colours, but + // this is exponentially (!) expensive + if(depth <= this.options.rayDepth){ + // calculate reflection ray + if(this.options.renderReflections && info.shape.material.reflection > 0) + { + var reflectionRay = this.getReflectionRay(info.position, info.normal, ray.direction); + var refl = this.testIntersection(reflectionRay, scene, info.shape); + + if (refl.isHit && refl.distance > 0){ + refl.color = this.rayTrace(refl, reflectionRay, scene, depth + 1); + } else { + refl.color = scene.background.color; + } + + color = Flog.RayTracer.Color.prototype.blend( + color, + refl.color, + info.shape.material.reflection + ); + } + + // Refraction + /* TODO */ + } + + /* Render shadows and highlights */ + + var shadowInfo = new Flog.RayTracer.IntersectionInfo(); + + if(this.options.renderShadows){ + var shadowRay = new Flog.RayTracer.Ray(info.position, v); + + shadowInfo = this.testIntersection(shadowRay, scene, info.shape); + if(shadowInfo.isHit && shadowInfo.shape != info.shape /*&& shadowInfo.shape.type != 'PLANE'*/){ + var vA = Flog.RayTracer.Color.prototype.multiplyScalar(color, 0.5); + var dB = (0.5 * Math.pow(shadowInfo.shape.material.transparency, 0.5)); + color = Flog.RayTracer.Color.prototype.addScalar(vA,dB); + } + } + + // Phong specular highlights + if(this.options.renderHighlights && !shadowInfo.isHit && info.shape.material.gloss > 0){ + var Lv = Flog.RayTracer.Vector.prototype.subtract( + info.shape.position, + light.position + ).normalize(); + + var E = Flog.RayTracer.Vector.prototype.subtract( + scene.camera.position, + info.shape.position + ).normalize(); + + var H = Flog.RayTracer.Vector.prototype.subtract( + E, + Lv + ).normalize(); + + var glossWeight = Math.pow(Math.max(info.normal.dot(H), 0), shininess); + color = Flog.RayTracer.Color.prototype.add( + Flog.RayTracer.Color.prototype.multiplyScalar(light.color, glossWeight), + color + ); + } + } + color.limit(); + return color; + } +}; + + +function renderScene(){ + var scene = new Flog.RayTracer.Scene(); + + scene.camera = new Flog.RayTracer.Camera( + new Flog.RayTracer.Vector(0, 0, -15), + new Flog.RayTracer.Vector(-0.2, 0, 5), + new Flog.RayTracer.Vector(0, 1, 0) + ); + + scene.background = new Flog.RayTracer.Background( + new Flog.RayTracer.Color(0.5, 0.5, 0.5), + 0.4 + ); + + var sphere = new Flog.RayTracer.Shape.Sphere( + new Flog.RayTracer.Vector(-1.5, 1.5, 2), + 1.5, + new Flog.RayTracer.Material.Solid( + new Flog.RayTracer.Color(0,0.5,0.5), + 0.3, + 0.0, + 0.0, + 2.0 + ) + ); + + var sphere1 = new Flog.RayTracer.Shape.Sphere( + new Flog.RayTracer.Vector(1, 0.25, 1), + 0.5, + new Flog.RayTracer.Material.Solid( + new Flog.RayTracer.Color(0.9,0.9,0.9), + 0.1, + 0.0, + 0.0, + 1.5 + ) + ); + + var plane = new Flog.RayTracer.Shape.Plane( + new Flog.RayTracer.Vector(0.1, 0.9, -0.5).normalize(), + 1.2, + new Flog.RayTracer.Material.Chessboard( + new Flog.RayTracer.Color(1,1,1), + new Flog.RayTracer.Color(0,0,0), + 0.2, + 0.0, + 1.0, + 0.7 + ) + ); + + scene.shapes.push(plane); + scene.shapes.push(sphere); + scene.shapes.push(sphere1); + + var light = new Flog.RayTracer.Light( + new Flog.RayTracer.Vector(5, 10, -1), + new Flog.RayTracer.Color(0.8, 0.8, 0.8) + ); + + var light1 = new Flog.RayTracer.Light( + new Flog.RayTracer.Vector(-3, 5, -15), + new Flog.RayTracer.Color(0.8, 0.8, 0.8), + 100 + ); + + scene.lights.push(light); + scene.lights.push(light1); + + var imageWidth = 100; // $F('imageWidth'); + var imageHeight = 100; // $F('imageHeight'); + var pixelSize = "5,5".split(','); // $F('pixelSize').split(','); + var renderDiffuse = true; // $F('renderDiffuse'); + var renderShadows = true; // $F('renderShadows'); + var renderHighlights = true; // $F('renderHighlights'); + var renderReflections = true; // $F('renderReflections'); + var rayDepth = 2;//$F('rayDepth'); + + var raytracer = new Flog.RayTracer.Engine( + { + canvasWidth: imageWidth, + canvasHeight: imageHeight, + pixelWidth: pixelSize[0], + pixelHeight: pixelSize[1], + "renderDiffuse": renderDiffuse, + "renderHighlights": renderHighlights, + "renderShadows": renderShadows, + "renderReflections": renderReflections, + "rayDepth": rayDepth + } + ); + + raytracer.renderScene(scene, null, 0); +} diff --git a/tests/benchmarks/script/v8/tests/regexp.js b/tests/benchmarks/script/v8/tests/regexp.js new file mode 100644 index 0000000..71b9e63 --- /dev/null +++ b/tests/benchmarks/script/v8/tests/regexp.js @@ -0,0 +1,1764 @@ +// Copyright 2010 the V8 project authors. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Automatically generated on 2009-01-30. Manually updated on 2010-09-17. + +// This benchmark is generated by loading 50 of the most popular pages +// on the web and logging all regexp operations performed. Each +// operation is given a weight that is calculated from an estimate of +// the popularity of the pages where it occurs and the number of times +// it is executed while loading each page. Furthermore the literal +// letters in the data are encoded using ROT13 in a way that does not +// affect how the regexps match their input. Finally the strings are +// scrambled to exercise the regexp engine on different input strings. + + +var RegExp = new BenchmarkSuite('RegExp', 910985, [ + new Benchmark("RegExp", RegExpRun, RegExpSetup, RegExpTearDown) +]); + +var regExpBenchmark = null; + +function RegExpSetup() { + regExpBenchmark = new RegExpBenchmark(); + RegExpRun(); // run once to get system initialized +} + +function RegExpRun() { + regExpBenchmark.run(); +} + +function RegExpTearDown() { + regExpBenchmark = null; +} + +// Returns an array of n different variants of the input string str. +// The variants are computed by randomly rotating one random +// character. +function computeInputVariants(str, n) { + var variants = [ str ]; + for (var i = 1; i < n; i++) { + var pos = Math.floor(Math.random() * str.length); + var chr = String.fromCharCode((str.charCodeAt(pos) + Math.floor(Math.random() * 128)) % 128); + variants[i] = str.substring(0, pos) + chr + str.substring(pos + 1, str.length); + } + return variants; +} + +function RegExpBenchmark() { + var re0 = /^ba/; + var re1 = /(((\w+):\/\/)([^\/:]*)(:(\d+))?)?([^#?]*)(\?([^#]*))?(#(.*))?/; + var re2 = /^\s*|\s*$/g; + var re3 = /\bQBZPbageby_cynprubyqre\b/; + var re4 = /,/; + var re5 = /\bQBZPbageby_cynprubyqre\b/g; + var re6 = /^[\s\xa0]+|[\s\xa0]+$/g; + var re7 = /(\d*)(\D*)/g; + var re8 = /=/; + var re9 = /(^|\s)lhv\-h(\s|$)/; + var str0 = 'Zbmvyyn/5.0 (Jvaqbjf; H; Jvaqbjf AG 5.1; ra-HF) NccyrJroXvg/528.9 (XUGZY, yvxr Trpxb) Puebzr/2.0.157.0 Fnsnev/528.9'; + var re10 = /\#/g; + var re11 = /\./g; + var re12 = /'/g; + var re13 = /\?[\w\W]*(sevraqvq|punaaryvq|tebhcvq)=([^\&\?#]*)/i; + var str1 = 'Fubpxjnir Synfu 9.0 e115'; + var re14 = /\s+/g; + var re15 = /^\s*(\S*(\s+\S+)*)\s*$/; + var re16 = /(-[a-z])/i; + + var s0 = computeInputVariants('pyvpx', 6511); + var s1 = computeInputVariants('uggc://jjj.snprobbx.pbz/ybtva.cuc', 1844); + var s2 = computeInputVariants('QBZPbageby_cynprubyqre', 739); + var s3 = computeInputVariants('uggc://jjj.snprobbx.pbz/', 598); + var s4 = computeInputVariants('uggc://jjj.snprobbx.pbz/fepu.cuc', 454); + var s5 = computeInputVariants('qqqq, ZZZ q, llll', 352); + var s6 = computeInputVariants('vachggrkg QBZPbageby_cynprubyqre', 312); + var s7 = computeInputVariants('/ZlFcnprUbzrcntr/Vaqrk-FvgrUbzr,10000000', 282); + var s8 = computeInputVariants('vachggrkg', 177); + var s9 = computeInputVariants('528.9', 170); + var s10 = computeInputVariants('528', 170); + var s11 = computeInputVariants('VCPhygher=ra-HF', 156); + var s12 = computeInputVariants('CersreerqPhygher=ra-HF', 156); + var s13 = computeInputVariants('xrlcerff', 144); + var s14 = computeInputVariants('521', 139); + var s15 = computeInputVariants(str0, 139); + var s16 = computeInputVariants('qvi .so_zrah', 137); + var s17 = computeInputVariants('qvi.so_zrah', 137); + var s18 = computeInputVariants('uvqqra_ryrz', 117); + var s19 = computeInputVariants('sevraqfgre_naba=nvq%3Qn6ss9p85n868ro9s059pn854735956o3%26ers%3Q%26df%3Q%26vpgl%3QHF', 95); + var s20 = computeInputVariants('uggc://ubzr.zlfcnpr.pbz/vaqrk.psz', 93); + var s21 = computeInputVariants(str1, 92); + var s22 = computeInputVariants('svefg', 85); + var s23 = computeInputVariants('uggc://cebsvyr.zlfcnpr.pbz/vaqrk.psz', 85); + var s24 = computeInputVariants('ynfg', 85); + var s25 = computeInputVariants('qvfcynl', 85); + + function runBlock0() { + for (var i = 0; i < 6511; i++) { + re0.exec(s0[i]); + } + for (var i = 0; i < 1844; i++) { + re1.exec(s1[i]); + } + for (var i = 0; i < 739; i++) { + s2[i].replace(re2, ''); + } + for (var i = 0; i < 598; i++) { + re1.exec(s3[i]); + } + for (var i = 0; i < 454; i++) { + re1.exec(s4[i]); + } + for (var i = 0; i < 352; i++) { + /qqqq|qqq|qq|q|ZZZZ|ZZZ|ZZ|Z|llll|ll|l|uu|u|UU|U|zz|z|ff|f|gg|g|sss|ss|s|mmm|mm|m/g.exec(s5[i]); + } + for (var i = 0; i < 312; i++) { + re3.exec(s6[i]); + } + for (var i = 0; i < 282; i++) { + re4.exec(s7[i]); + } + for (var i = 0; i < 177; i++) { + s8[i].replace(re5, ''); + } + for (var i = 0; i < 170; i++) { + s9[i].replace(re6, ''); + re7.exec(s10[i]); + } + for (var i = 0; i < 156; i++) { + re8.exec(s11[i]); + re8.exec(s12[i]); + } + for (var i = 0; i < 144; i++) { + re0.exec(s13[i]); + } + for (var i = 0; i < 139; i++) { + s14[i].replace(re6, ''); + re7.exec(s14[i]); + re9.exec(''); + /JroXvg\/(\S+)/.exec(s15[i]); + } + for (var i = 0; i < 137; i++) { + s16[i].replace(re10, ''); + s16[i].replace(/\[/g, ''); + s17[i].replace(re11, ''); + } + for (var i = 0; i < 117; i++) { + s18[i].replace(re2, ''); + } + for (var i = 0; i < 95; i++) { + /(?:^|;)\s*sevraqfgre_ynat=([^;]*)/.exec(s19[i]); + } + for (var i = 0; i < 93; i++) { + s20[i].replace(re12, ''); + re13.exec(s20[i]); + } + for (var i = 0; i < 92; i++) { + s21[i].replace(/([a-zA-Z]|\s)+/, ''); + } + for (var i = 0; i < 85; i++) { + s22[i].replace(re14, ''); + s22[i].replace(re15, ''); + s23[i].replace(re12, ''); + s24[i].replace(re14, ''); + s24[i].replace(re15, ''); + re16.exec(s25[i]); + re13.exec(s23[i]); + } + } + var re17 = /(^|[^\\])\"\\\/Qngr\((-?[0-9]+)\)\\\/\"/g; + var str2 = '{"anzr":"","ahzoreSbezng":{"PheeraplQrpvznyQvtvgf":2,"PheeraplQrpvznyFrcnengbe":".","VfErnqBayl":gehr,"PheeraplTebhcFvmrf":[3],"AhzoreTebhcFvmrf":[3],"CrepragTebhcFvmrf":[3],"PheeraplTebhcFrcnengbe":",","PheeraplFlzoby":"\xa4","AnAFlzoby":"AnA","PheeraplArtngvirCnggrea":0,"AhzoreArtngvirCnggrea":1,"CrepragCbfvgvirCnggrea":0,"CrepragArtngvirCnggrea":0,"ArtngvirVasvavglFlzoby":"-Vasvavgl","ArtngvirFvta":"-","AhzoreQrpvznyQvtvgf":2,"AhzoreQrpvznyFrcnengbe":".","AhzoreTebhcFrcnengbe":",","PheeraplCbfvgvirCnggrea":0,"CbfvgvirVasvavglFlzoby":"Vasvavgl","CbfvgvirFvta":"+","CrepragQrpvznyQvtvgf":2,"CrepragQrpvznyFrcnengbe":".","CrepragTebhcFrcnengbe":",","CrepragFlzoby":"%","CreZvyyrFlzoby":"\u2030","AngvirQvtvgf":["0","1","2","3","4","5","6","7","8","9"],"QvtvgFhofgvghgvba":1},"qngrGvzrSbezng":{"NZQrfvtangbe":"NZ","Pnyraqne":{"ZvaFhccbegrqQngrGvzr":"@-62135568000000@","ZnkFhccbegrqQngrGvzr":"@253402300799999@","NytbevguzGlcr":1,"PnyraqneGlcr":1,"Renf":[1],"GjbQvtvgLrneZnk":2029,"VfErnqBayl":gehr},"QngrFrcnengbe":"/","SvefgQnlBsJrrx":0,"PnyraqneJrrxEhyr":0,"ShyyQngrGvzrCnggrea":"qqqq, qq ZZZZ llll UU:zz:ff","YbatQngrCnggrea":"qqqq, qq ZZZZ llll","YbatGvzrCnggrea":"UU:zz:ff","ZbaguQnlCnggrea":"ZZZZ qq","CZQrfvtangbe":"CZ","ESP1123Cnggrea":"qqq, qq ZZZ llll UU\':\'zz\':\'ff \'TZG\'","FubegQngrCnggrea":"ZZ/qq/llll","FubegGvzrCnggrea":"UU:zz","FbegnoyrQngrGvzrCnggrea":"llll\'-\'ZZ\'-\'qq\'G\'UU\':\'zz\':\'ff","GvzrFrcnengbe":":","HavirefnyFbegnoyrQngrGvzrCnggrea":"llll\'-\'ZZ\'-\'qq UU\':\'zz\':\'ff\'M\'","LrneZbaguCnggrea":"llll ZZZZ","NooerivngrqQnlAnzrf":["Fha","Zba","Ghr","Jrq","Guh","Sev","Fng"],"FubegrfgQnlAnzrf":["Fh","Zb","Gh","Jr","Gu","Se","Fn"],"QnlAnzrf":["Fhaqnl","Zbaqnl","Ghrfqnl","Jrqarfqnl","Guhefqnl","Sevqnl","Fngheqnl"],"NooerivngrqZbaguAnzrf":["Wna","Sro","Zne","Nce","Znl","Wha","Why","Nht","Frc","Bpg","Abi","Qrp",""],"ZbaguAnzrf":["Wnahnel","Sroehnel","Znepu","Ncevy","Znl","Whar","Whyl","Nhthfg","Frcgrzore","Bpgbore","Abirzore","Qrprzore",""],"VfErnqBayl":gehr,"AngvirPnyraqneAnzr":"Tertbevna Pnyraqne","NooerivngrqZbaguTravgvirAnzrf":["Wna","Sro","Zne","Nce","Znl","Wha","Why","Nht","Frc","Bpg","Abi","Qrp",""],"ZbaguTravgvirAnzrf":["Wnahnel","Sroehnel","Znepu","Ncevy","Znl","Whar","Whyl","Nhthfg","Frcgrzore","Bpgbore","Abirzore","Qrprzore",""]}}'; + var str3 = '{"anzr":"ra-HF","ahzoreSbezng":{"PheeraplQrpvznyQvtvgf":2,"PheeraplQrpvznyFrcnengbe":".","VfErnqBayl":snyfr,"PheeraplTebhcFvmrf":[3],"AhzoreTebhcFvmrf":[3],"CrepragTebhcFvmrf":[3],"PheeraplTebhcFrcnengbe":",","PheeraplFlzoby":"$","AnAFlzoby":"AnA","PheeraplArtngvirCnggrea":0,"AhzoreArtngvirCnggrea":1,"CrepragCbfvgvirCnggrea":0,"CrepragArtngvirCnggrea":0,"ArtngvirVasvavglFlzoby":"-Vasvavgl","ArtngvirFvta":"-","AhzoreQrpvznyQvtvgf":2,"AhzoreQrpvznyFrcnengbe":".","AhzoreTebhcFrcnengbe":",","PheeraplCbfvgvirCnggrea":0,"CbfvgvirVasvavglFlzoby":"Vasvavgl","CbfvgvirFvta":"+","CrepragQrpvznyQvtvgf":2,"CrepragQrpvznyFrcnengbe":".","CrepragTebhcFrcnengbe":",","CrepragFlzoby":"%","CreZvyyrFlzoby":"\u2030","AngvirQvtvgf":["0","1","2","3","4","5","6","7","8","9"],"QvtvgFhofgvghgvba":1},"qngrGvzrSbezng":{"NZQrfvtangbe":"NZ","Pnyraqne":{"ZvaFhccbegrqQngrGvzr":"@-62135568000000@","ZnkFhccbegrqQngrGvzr":"@253402300799999@","NytbevguzGlcr":1,"PnyraqneGlcr":1,"Renf":[1],"GjbQvtvgLrneZnk":2029,"VfErnqBayl":snyfr},"QngrFrcnengbe":"/","SvefgQnlBsJrrx":0,"PnyraqneJrrxEhyr":0,"ShyyQngrGvzrCnggrea":"qqqq, ZZZZ qq, llll u:zz:ff gg","YbatQngrCnggrea":"qqqq, ZZZZ qq, llll","YbatGvzrCnggrea":"u:zz:ff gg","ZbaguQnlCnggrea":"ZZZZ qq","CZQrfvtangbe":"CZ","ESP1123Cnggrea":"qqq, qq ZZZ llll UU\':\'zz\':\'ff \'TZG\'","FubegQngrCnggrea":"Z/q/llll","FubegGvzrCnggrea":"u:zz gg","FbegnoyrQngrGvzrCnggrea":"llll\'-\'ZZ\'-\'qq\'G\'UU\':\'zz\':\'ff","GvzrFrcnengbe":":","HavirefnyFbegnoyrQngrGvzrCnggrea":"llll\'-\'ZZ\'-\'qq UU\':\'zz\':\'ff\'M\'","LrneZbaguCnggrea":"ZZZZ, llll","NooerivngrqQnlAnzrf":["Fha","Zba","Ghr","Jrq","Guh","Sev","Fng"],"FubegrfgQnlAnzrf":["Fh","Zb","Gh","Jr","Gu","Se","Fn"],"QnlAnzrf":["Fhaqnl","Zbaqnl","Ghrfqnl","Jrqarfqnl","Guhefqnl","Sevqnl","Fngheqnl"],"NooerivngrqZbaguAnzrf":["Wna","Sro","Zne","Nce","Znl","Wha","Why","Nht","Frc","Bpg","Abi","Qrp",""],"ZbaguAnzrf":["Wnahnel","Sroehnel","Znepu","Ncevy","Znl","Whar","Whyl","Nhthfg","Frcgrzore","Bpgbore","Abirzore","Qrprzore",""],"VfErnqBayl":snyfr,"AngvirPnyraqneAnzr":"Tertbevna Pnyraqne","NooerivngrqZbaguTravgvirAnzrf":["Wna","Sro","Zne","Nce","Znl","Wha","Why","Nht","Frc","Bpg","Abi","Qrp",""],"ZbaguTravgvirAnzrf":["Wnahnel","Sroehnel","Znepu","Ncevy","Znl","Whar","Whyl","Nhthfg","Frcgrzore","Bpgbore","Abirzore","Qrprzore",""]}}'; + var str4 = 'HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str5 = 'HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + var re18 = /^\s+|\s+$/g; + var str6 = 'uggc://jjj.snprobbx.pbz/vaqrk.cuc'; + var re19 = /(?:^|\s+)ba(?:\s+|$)/; + var re20 = /[+, ]/; + var re21 = /ybnqrq|pbzcyrgr/; + var str7 = ';;jvaqbj.IjPurpxZbhfrCbfvgvbaNQ_VQ=shapgvba(r){vs(!r)ine r=jvaqbj.rirag;ine c=-1;vs(d1)c=d1.EbyybssCnary;ine bo=IjTrgBow("IjCnayNQ_VQ_"+c);vs(bo&&bo.fglyr.ivfvovyvgl=="ivfvoyr"){ine fns=IjFns?8:0;ine pheK=r.pyvragK+IjBOFpe("U")+fns,pheL=r.pyvragL+IjBOFpe("I")+fns;ine y=IjBOEC(NQ_VQ,bo,"Y"),g=IjBOEC(NQ_VQ,bo,"G");ine e=y+d1.Cnaryf[c].Jvqgu,o=g+d1.Cnaryf[c].Urvtug;vs((pheKe)||(pheLo)){vs(jvaqbj.IjBaEbyybssNQ_VQ)IjBaEbyybssNQ_VQ(c);ryfr IjPybfrNq(NQ_VQ,c,gehr,"");}ryfr erghea;}IjPnapryZbhfrYvfgrareNQ_VQ();};;jvaqbj.IjFrgEbyybssCnaryNQ_VQ=shapgvba(c){ine z="zbhfrzbir",q=qbphzrag,s=IjPurpxZbhfrCbfvgvbaNQ_VQ;c=IjTc(NQ_VQ,c);vs(d1&&d1.EbyybssCnary>-1)IjPnapryZbhfrYvfgrareNQ_VQ();vs(d1)d1.EbyybssCnary=c;gel{vs(q.nqqRiragYvfgrare)q.nqqRiragYvfgrare(z,s,snyfr);ryfr vs(q.nggnpuRirag)q.nggnpuRirag("ba"+z,s);}pngpu(r){}};;jvaqbj.IjPnapryZbhfrYvfgrareNQ_VQ=shapgvba(){ine z="zbhfrzbir",q=qbphzrag,s=IjPurpxZbhfrCbfvgvbaNQ_VQ;vs(d1)d1.EbyybssCnary=-1;gel{vs(q.erzbirRiragYvfgrare)q.erzbirRiragYvfgrare(z,s,snyfr);ryfr vs(q.qrgnpuRirag)q.qrgnpuRirag("ba"+z,s);}pngpu(r){}};;d1.IjTc=d2(n,c){ine nq=d1;vs(vfAnA(c)){sbe(ine v=0;v0){vs(nq.FzV.yratgu>0)nq.FzV+="/";nq.FzV+=vh[v];nq.FtZ[nq.FtZ.yratgu]=snyfr;}}};;d1.IjYvzvg0=d2(n,f){ine nq=d1,vh=f.fcyvg("/");sbe(ine v=0;v0){vs(nq.OvC.yratgu>0)nq.OvC+="/";nq.OvC+=vh[v];}}};;d1.IjRVST=d2(n,c){jvaqbj["IjCnayNQ_VQ_"+c+"_Bow"]=IjTrgBow("IjCnayNQ_VQ_"+c+"_Bow");vs(jvaqbj["IjCnayNQ_VQ_"+c+"_Bow"]==ahyy)frgGvzrbhg("IjRVST(NQ_VQ,"+c+")",d1.rvsg);};;d1.IjNavzSHC=d2(n,c){ine nq=d1;vs(c>nq.Cnaryf.yratgu)erghea;ine cna=nq.Cnaryf[c],nn=gehr,on=gehr,yn=gehr,en=gehr,cn=nq.Cnaryf[0],sf=nq.ShF,j=cn.Jvqgu,u=cn.Urvtug;vs(j=="100%"){j=sf;en=snyfr;yn=snyfr;}vs(u=="100%"){u=sf;nn=snyfr;on=snyfr;}vs(cn.YnY=="Y")yn=snyfr;vs(cn.YnY=="E")en=snyfr;vs(cn.GnY=="G")nn=snyfr;vs(cn.GnY=="O")on=snyfr;ine k=0,l=0;fjvgpu(nq.NshP%8){pnfr 0:oernx;pnfr 1:vs(nn)l=-sf;oernx;pnfr 2:k=j-sf;oernx;pnfr 3:vs(en)k=j;oernx;pnfr 4:k=j-sf;l=u-sf;oernx;pnfr 5:k=j-sf;vs(on)l=u;oernx;pnfr 6:l=u-sf;oernx;pnfr 7:vs(yn)k=-sf;l=u-sf;oernx;}vs(nq.NshP++ 0)||(nethzragf.yratgu==3&&bG>0))){pyrneGvzrbhg(cay.UgU);cay.UgU=frgGvzrbhg(cay.UvqrNpgvba,(nethzragf.yratgu==3?bG:cay.UvqrGvzrbhgInyhr));}};;d1.IjErfrgGvzrbhg=d2(n,c,bG){c=IjTc(n,c);IjPnapryGvzrbhg(n,c);riny("IjFgnegGvzrbhg(NQ_VQ,c"+(nethzragf.yratgu==3?",bG":"")+")");};;d1.IjErfrgNyyGvzrbhgf=d2(n){sbe(ine c=0;c]/g; + var str15 = 'FrffvbaQQS2=s6r4579npn4rn2135s904r0s75pp1o5334p6s6pospo12696; ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669316860113296&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=; AFP_zp_dfctwzs-aowb_80=44132r503660'; + var str16 = 'FrffvbaQQS2=s6r4579npn4rn2135s904r0s75pp1o5334p6s6pospo12696; AFP_zp_dfctwzs-aowb_80=44132r503660; __hgzm=144631658.1231363638.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.965867047679498800.1231363638.1231363638.1231363638.1; __hgzo=144631658.0.10.1231363638; __hgzp=144631658; ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669316860113296&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str17 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_zlfcnpr-ubzrcntr_wf&qg=1231363621014&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231363621014&punaary=svz_zlfcnpr_ubzrcntr_abgybttrqva%2Psvz_zlfcnpr_aba_HTP%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Scebsvyr.zlfcnpr.pbz%2Svaqrk.psz&nq_glcr=grkg&rvq=6083027&rn=0&sez=0&tn_ivq=348699119.1231363624&tn_fvq=1231363624&tn_uvq=895511034&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22'; + var str18 = 'uggc://jjj.yrobapbva.se/yv'; + var str19 = 'ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669316860113296&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str20 = 'ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669316860113296&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + + var s67 = computeInputVariants('e115', 27); + var s68 = computeInputVariants('qvfcynl', 27); + var s69 = computeInputVariants('cbfvgvba', 27); + var s70 = computeInputVariants('uggc://jjj.zlfcnpr.pbz/', 27); + var s71 = computeInputVariants('cntrivrj', 27); + var s72 = computeInputVariants('VC=74.125.75.3', 27); + var s73 = computeInputVariants('ra', 27); + var s74 = computeInputVariants(str10, 27); + var s75 = computeInputVariants(str11, 27); + var s76 = computeInputVariants(str12, 27); + var s77 = computeInputVariants(str17, 27); + var s78 = computeInputVariants(str18, 27); + + function runBlock3() { + for (var i = 0; i < 27; i++) { + s67[i].replace(/[A-Za-z]/g, ''); + } + for (var i = 0; i < 23; i++) { + s68[i].replace(re27, ''); + s69[i].replace(re27, ''); + } + for (var i = 0; i < 22; i++) { + 'unaqyr'.replace(re14, ''); + 'unaqyr'.replace(re15, ''); + 'yvar'.replace(re14, ''); + 'yvar'.replace(re15, ''); + 'cnerag puebzr6 fvatyr1 gno'.replace(re14, ''); + 'cnerag puebzr6 fvatyr1 gno'.replace(re15, ''); + 'fyvqre'.replace(re14, ''); + 'fyvqre'.replace(re15, ''); + re28.exec(''); + } + for (var i = 0; i < 21; i++) { + s70[i].replace(re12, ''); + re13.exec(s70[i]); + } + for (var i = 0; i < 20; i++) { + s71[i].replace(re29, ''); + s71[i].replace(re30, ''); + re19.exec('ynfg'); + re19.exec('ba svefg'); + re8.exec(s72[i]); + } + for (var i = 0; i < 19; i++) { + re31.exec(s73[i]); + } + for (var i = 0; i < 18; i++) { + s74[i].split(re32); + s75[i].split(re32); + s76[i].replace(re33, ''); + re8.exec('144631658.0.10.1231363570'); + re8.exec('144631658.1231363570.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re8.exec('144631658.3426875219718084000.1231363570.1231363570.1231363570.1'); + re8.exec(str13); + re8.exec(str14); + re8.exec('__hgzn=144631658.3426875219718084000.1231363570.1231363570.1231363570.1'); + re8.exec('__hgzo=144631658.0.10.1231363570'); + re8.exec('__hgzm=144631658.1231363570.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re34.exec(s74[i]); + re34.exec(s75[i]); + } + for (var i = 0; i < 17; i++) { + s15[i].match(/zfvr/gi); + s15[i].match(/bcren/gi); + str15.split(re32); + str16.split(re32); + 'ohggba'.replace(re14, ''); + 'ohggba'.replace(re15, ''); + 'puvyq p1 svefg sylbhg pybfrq'.replace(re14, ''); + 'puvyq p1 svefg sylbhg pybfrq'.replace(re15, ''); + 'pvgvrf'.replace(re14, ''); + 'pvgvrf'.replace(re15, ''); + 'pybfrq'.replace(re14, ''); + 'pybfrq'.replace(re15, ''); + 'qry'.replace(re14, ''); + 'qry'.replace(re15, ''); + 'uqy_zba'.replace(re14, ''); + 'uqy_zba'.replace(re15, ''); + s77[i].replace(re33, ''); + s78[i].replace(/%3P/g, ''); + s78[i].replace(/%3R/g, ''); + s78[i].replace(/%3q/g, ''); + s78[i].replace(re35, ''); + 'yvaxyvfg16'.replace(re14, ''); + 'yvaxyvfg16'.replace(re15, ''); + 'zvahf'.replace(re14, ''); + 'zvahf'.replace(re15, ''); + 'bcra'.replace(re14, ''); + 'bcra'.replace(re15, ''); + 'cnerag puebzr5 fvatyr1 ps NU'.replace(re14, ''); + 'cnerag puebzr5 fvatyr1 ps NU'.replace(re15, ''); + 'cynlre'.replace(re14, ''); + 'cynlre'.replace(re15, ''); + 'cyhf'.replace(re14, ''); + 'cyhf'.replace(re15, ''); + 'cb_uqy'.replace(re14, ''); + 'cb_uqy'.replace(re15, ''); + 'hyJVzt'.replace(re14, ''); + 'hyJVzt'.replace(re15, ''); + re8.exec('144631658.0.10.1231363638'); + re8.exec('144631658.1231363638.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re8.exec('144631658.965867047679498800.1231363638.1231363638.1231363638.1'); + re8.exec('4413268q3660'); + re8.exec('4ss747o77904333q374or84qrr1s9r0nprp8r5q81534o94n'); + re8.exec('SbeprqRkcvengvba=633669321699093060'); + re8.exec('VC=74.125.75.20'); + re8.exec(str19); + re8.exec(str20); + re8.exec('AFP_zp_tfwsbrg-aowb_80=4413268q3660'); + re8.exec('FrffvbaQQS2=4ss747o77904333q374or84qrr1s9r0nprp8r5q81534o94n'); + re8.exec('__hgzn=144631658.965867047679498800.1231363638.1231363638.1231363638.1'); + re8.exec('__hgzo=144631658.0.10.1231363638'); + re8.exec('__hgzm=144631658.1231363638.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re34.exec(str15); + re34.exec(str16); + } + } + var re36 = /uers|fep|fryrpgrq/; + var re37 = /\s*([+>~\s])\s*([a-zA-Z#.*:\[])/g; + var re38 = /^(\w+|\*)$/; + var str21 = 'FrffvbaQQS2=s15q53p9n372sn76npr13o271n4s3p5r29p235746p908p58; ZFPhygher=VC=66.249.85.130&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669358527244818&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + var str22 = 'FrffvbaQQS2=s15q53p9n372sn76npr13o271n4s3p5r29p235746p908p58; __hgzm=144631658.1231367822.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.4127520630321984500.1231367822.1231367822.1231367822.1; __hgzo=144631658.0.10.1231367822; __hgzp=144631658; ZFPhygher=VC=66.249.85.130&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669358527244818&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str23 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_zlfcnpr-ubzrcntr_wf&qg=1231367803797&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231367803797&punaary=svz_zlfcnpr_ubzrcntr_abgybttrqva%2Psvz_zlfcnpr_aba_HTP%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Szrffntvat.zlfcnpr.pbz%2Svaqrk.psz&nq_glcr=grkg&rvq=6083027&rn=0&sez=0&tn_ivq=1192552091.1231367807&tn_fvq=1231367807&tn_uvq=1155446857&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22'; + var str24 = 'ZFPhygher=VC=66.249.85.130&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669358527244818&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str25 = 'ZFPhygher=VC=66.249.85.130&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669358527244818&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + var str26 = 'hy.ynat-fryrpgbe'; + var re39 = /\\/g; + var re40 = / /g; + var re41 = /\/\xc4\/t/; + var re42 = /\/\xd6\/t/; + var re43 = /\/\xdc\/t/; + var re44 = /\/\xdf\/t/; + var re45 = /\/\xe4\/t/; + var re46 = /\/\xf6\/t/; + var re47 = /\/\xfc\/t/; + var re48 = /\W/g; + var re49 = /uers|fep|fglyr/; + var s79 = computeInputVariants(str21, 16); + var s80 = computeInputVariants(str22, 16); + var s81 = computeInputVariants(str23, 16); + var s82 = computeInputVariants(str26, 16); + + function runBlock4() { + for (var i = 0; i < 16; i++) { + ''.replace(/\*/g, ''); + /\bnpgvir\b/.exec('npgvir'); + /sversbk/i.exec(s15[i]); + re36.exec('glcr'); + /zfvr/i.exec(s15[i]); + /bcren/i.exec(s15[i]); + } + for (var i = 0; i < 15; i++) { + s79[i].split(re32); + s80[i].split(re32); + 'uggc://ohyyrgvaf.zlfcnpr.pbz/vaqrk.psz'.replace(re12, ''); + s81[i].replace(re33, ''); + 'yv'.replace(re37, ''); + 'yv'.replace(re18, ''); + re8.exec('144631658.0.10.1231367822'); + re8.exec('144631658.1231367822.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re8.exec('144631658.4127520630321984500.1231367822.1231367822.1231367822.1'); + re8.exec(str24); + re8.exec(str25); + re8.exec('__hgzn=144631658.4127520630321984500.1231367822.1231367822.1231367822.1'); + re8.exec('__hgzo=144631658.0.10.1231367822'); + re8.exec('__hgzm=144631658.1231367822.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re34.exec(s79[i]); + re34.exec(s80[i]); + /\.([\w-]+)|\[(\w+)(?:([!*^$~|]?=)["']?(.*?)["']?)?\]|:([\w-]+)(?:\(["']?(.*?)?["']?\)|$)/g.exec(s82[i]); + re13.exec('uggc://ohyyrgvaf.zlfcnpr.pbz/vaqrk.psz'); + re38.exec('yv'); + } + for (var i = 0; i < 14; i++) { + ''.replace(re18, ''); + '9.0 e115'.replace(/(\s+e|\s+o[0-9]+)/, ''); + 'Funer guvf tnqtrg'.replace(//g, ''); + 'Funer guvf tnqtrg'.replace(re39, ''); + 'uggc://cebsvyrrqvg.zlfcnpr.pbz/vaqrk.psz'.replace(re12, ''); + 'grnfre'.replace(re40, ''); + 'grnfre'.replace(re41, ''); + 'grnfre'.replace(re42, ''); + 'grnfre'.replace(re43, ''); + 'grnfre'.replace(re44, ''); + 'grnfre'.replace(re45, ''); + 'grnfre'.replace(re46, ''); + 'grnfre'.replace(re47, ''); + 'grnfre'.replace(re48, ''); + re16.exec('znetva-gbc'); + re16.exec('cbfvgvba'); + re19.exec('gno1'); + re9.exec('qz'); + re9.exec('qg'); + re9.exec('zbqobk'); + re9.exec('zbqobkva'); + re9.exec('zbqgvgyr'); + re13.exec('uggc://cebsvyrrqvg.zlfcnpr.pbz/vaqrk.psz'); + re26.exec('/vt/znvytnqtrg'); + re49.exec('glcr'); + } + } + var re50 = /(?:^|\s+)fryrpgrq(?:\s+|$)/; + var re51 = /\&/g; + var re52 = /\+/g; + var re53 = /\?/g; + var re54 = /\t/g; + var re55 = /(\$\{nqiHey\})|(\$nqiHey\b)/g; + var re56 = /(\$\{cngu\})|(\$cngu\b)/g; + function runBlock5() { + for (var i = 0; i < 13; i++) { + 'purpx'.replace(re14, ''); + 'purpx'.replace(re15, ''); + 'pvgl'.replace(re14, ''); + 'pvgl'.replace(re15, ''); + 'qrpe fyvqrgrkg'.replace(re14, ''); + 'qrpe fyvqrgrkg'.replace(re15, ''); + 'svefg fryrpgrq'.replace(re14, ''); + 'svefg fryrpgrq'.replace(re15, ''); + 'uqy_rag'.replace(re14, ''); + 'uqy_rag'.replace(re15, ''); + 'vape fyvqrgrkg'.replace(re14, ''); + 'vape fyvqrgrkg'.replace(re15, ''); + 'vachggrkg QBZPbageby_cynprubyqre'.replace(re5, ''); + 'cnerag puebzr6 fvatyr1 gno fryrpgrq'.replace(re14, ''); + 'cnerag puebzr6 fvatyr1 gno fryrpgrq'.replace(re15, ''); + 'cb_guz'.replace(re14, ''); + 'cb_guz'.replace(re15, ''); + 'fhozvg'.replace(re14, ''); + 'fhozvg'.replace(re15, ''); + re50.exec(''); + /NccyrJroXvg\/([^\s]*)/.exec(s15[i]); + /XUGZY/.exec(s15[i]); + } + for (var i = 0; i < 12; i++) { + '${cebg}://${ubfg}${cngu}/${dz}'.replace(/(\$\{cebg\})|(\$cebg\b)/g, ''); + '1'.replace(re40, ''); + '1'.replace(re10, ''); + '1'.replace(re51, ''); + '1'.replace(re52, ''); + '1'.replace(re53, ''); + '1'.replace(re39, ''); + '1'.replace(re54, ''); + '9.0 e115'.replace(/^(.*)\..*$/, ''); + '9.0 e115'.replace(/^.*e(.*)$/, ''); + ''.replace(re55, ''); + ''.replace(re55, ''); + s21[i].replace(/^.*\s+(\S+\s+\S+$)/, ''); + 'tzk%2Subzrcntr%2Sfgneg%2Sqr%2S'.replace(re30, ''); + 'tzk'.replace(re30, ''); + 'uggc://${ubfg}${cngu}/${dz}'.replace(/(\$\{ubfg\})|(\$ubfg\b)/g, ''); + 'uggc://nqpyvrag.hvzfrei.arg${cngu}/${dz}'.replace(re56, ''); + 'uggc://nqpyvrag.hvzfrei.arg/wf.at/${dz}'.replace(/(\$\{dz\})|(\$dz\b)/g, ''); + 'frpgvba'.replace(re29, ''); + 'frpgvba'.replace(re30, ''); + 'fvgr'.replace(re29, ''); + 'fvgr'.replace(re30, ''); + 'fcrpvny'.replace(re29, ''); + 'fcrpvny'.replace(re30, ''); + re36.exec('anzr'); + /e/.exec('9.0 e115'); + } + } + var re57 = /##yv4##/gi; + var re58 = /##yv16##/gi; + var re59 = /##yv19##/gi; + var str27 = '##yv4##Cbjreshy Zvpebfbsg grpuabybtl urycf svtug fcnz naq vzcebir frphevgl.##yv19##Trg zber qbar gunaxf gb terngre rnfr naq fcrrq.##yv16##Ybgf bs fgbentr (5 TO) - zber pbby fghss ba gur jnl.##OE## ##OE## ##N##Yrnea zber##/N##'; + var str28 = 'Cbjreshy Zvpebfbsg grpuabybtl urycf svtug fcnz naq vzcebir frphevgl.##yv19##Trg zber qbar gunaxf gb terngre rnfr naq fcrrq.##yv16##Ybgf bs fgbentr (5 TO) - zber pbby fghss ba gur jnl.##OE## ##OE## ##N##Yrnea zber##/N##'; + var str29 = 'Cbjreshy Zvpebfbsg grpuabybtl urycf svtug fcnz naq vzcebir frphevgl.##yv19##Trg zber qbar gunaxf gb terngre rnfr naq fcrrq.Ybgf bs fgbentr (5 TO) - zber pbby fghss ba gur jnl.##OE## ##OE## ##N##Yrnea zber##/N##'; + var str30 = 'Cbjreshy Zvpebfbsg grpuabybtl urycf svtug fcnz naq vzcebir frphevgl.Trg zber qbar gunaxf gb terngre rnfr naq fcrrq.Ybgf bs fgbentr (5 TO) - zber pbby fghss ba gur jnl.##OE## ##OE## ##N##Yrnea zber##/N##'; + var str31 = 'Cbjreshy Zvpebfbsg grpuabybtl urycf svtug fcnz naq vzcebir frphevgl.Trg zber qbar gunaxf gb terngre rnfr naq fcrrq.Ybgf bs fgbentr (5 TO) - zber pbby fghss ba gur jnl. ##N##Yrnea zber##/N##'; + var str32 = 'Cbjreshy Zvpebfbsg grpuabybtl urycf svtug fcnz naq vzcebir frphevgl.Trg zber qbar gunaxf gb terngre rnfr naq fcrrq.Ybgf bs fgbentr (5 TO) - zber pbby fghss ba gur jnl. Yrnea zber##/N##'; + var str33 = 'Bar Jvaqbjf Yvir VQ trgf lbh vagb Ubgznvy, Zrffratre, Kobk YVIR \u2014 naq bgure cynprf lbh frr #~#argjbexybtb#~#'; + var re60 = /(?:^|\s+)bss(?:\s+|$)/; + var re61 = /^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/; + var re62 = /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/; + var str34 = '${1}://${2}${3}${4}${5}'; + var str35 = ' O=6gnyg0g4znrrn&o=3&f=gc; Q=_lyu=K3bQZGSxnT4lZzD3OS9GNmV3ZGLkAQxRpTyxNmRlZmRmAmNkAQLRqTImqNZjOUEgpTjQnJ5xMKtgoN--; SCF=qy'; + var s83 = computeInputVariants(str27, 11); + var s84 = computeInputVariants(str28, 11); + var s85 = computeInputVariants(str29, 11); + var s86 = computeInputVariants(str30, 11); + var s87 = computeInputVariants(str31, 11); + var s88 = computeInputVariants(str32, 11); + var s89 = computeInputVariants(str33, 11); + var s90 = computeInputVariants(str34, 11); + + function runBlock6() { + for (var i = 0; i < 11; i++) { + s83[i].replace(/##yv0##/gi, ''); + s83[i].replace(re57, ''); + s84[i].replace(re58, ''); + s85[i].replace(re59, ''); + s86[i].replace(/##\/o##/gi, ''); + s86[i].replace(/##\/v##/gi, ''); + s86[i].replace(/##\/h##/gi, ''); + s86[i].replace(/##o##/gi, ''); + s86[i].replace(/##oe##/gi, ''); + s86[i].replace(/##v##/gi, ''); + s86[i].replace(/##h##/gi, ''); + s87[i].replace(/##n##/gi, ''); + s88[i].replace(/##\/n##/gi, ''); + s89[i].replace(/#~#argjbexybtb#~#/g, ''); + / Zbovyr\//.exec(s15[i]); + /##yv1##/gi.exec(s83[i]); + /##yv10##/gi.exec(s84[i]); + /##yv11##/gi.exec(s84[i]); + /##yv12##/gi.exec(s84[i]); + /##yv13##/gi.exec(s84[i]); + /##yv14##/gi.exec(s84[i]); + /##yv15##/gi.exec(s84[i]); + re58.exec(s84[i]); + /##yv17##/gi.exec(s85[i]); + /##yv18##/gi.exec(s85[i]); + re59.exec(s85[i]); + /##yv2##/gi.exec(s83[i]); + /##yv20##/gi.exec(s86[i]); + /##yv21##/gi.exec(s86[i]); + /##yv22##/gi.exec(s86[i]); + /##yv23##/gi.exec(s86[i]); + /##yv3##/gi.exec(s83[i]); + re57.exec(s83[i]); + /##yv5##/gi.exec(s84[i]); + /##yv6##/gi.exec(s84[i]); + /##yv7##/gi.exec(s84[i]); + /##yv8##/gi.exec(s84[i]); + /##yv9##/gi.exec(s84[i]); + re8.exec('473qq1rs0n2r70q9qo1pq48n021s9468ron90nps048p4p29'); + re8.exec('SbeprqRkcvengvba=633669325184628362'); + re8.exec('FrffvbaQQS2=473qq1rs0n2r70q9qo1pq48n021s9468ron90nps048p4p29'); + /AbxvnA[^\/]*/.exec(s15[i]); + } + for (var i = 0; i < 10; i++) { + ' bss'.replace(/(?:^|\s+)bss(?:\s+|$)/g, ''); + s90[i].replace(/(\$\{0\})|(\$0\b)/g, ''); + s90[i].replace(/(\$\{1\})|(\$1\b)/g, ''); + s90[i].replace(/(\$\{pbzcyrgr\})|(\$pbzcyrgr\b)/g, ''); + s90[i].replace(/(\$\{sentzrag\})|(\$sentzrag\b)/g, ''); + s90[i].replace(/(\$\{ubfgcbeg\})|(\$ubfgcbeg\b)/g, ''); + s90[i].replace(re56, ''); + s90[i].replace(/(\$\{cebgbpby\})|(\$cebgbpby\b)/g, ''); + s90[i].replace(/(\$\{dhrel\})|(\$dhrel\b)/g, ''); + 'nqfvmr'.replace(re29, ''); + 'nqfvmr'.replace(re30, ''); + 'uggc://${2}${3}${4}${5}'.replace(/(\$\{2\})|(\$2\b)/g, ''); + 'uggc://wf.hv-cbegny.qr${3}${4}${5}'.replace(/(\$\{3\})|(\$3\b)/g, ''); + 'arjf'.replace(re40, ''); + 'arjf'.replace(re41, ''); + 'arjf'.replace(re42, ''); + 'arjf'.replace(re43, ''); + 'arjf'.replace(re44, ''); + 'arjf'.replace(re45, ''); + 'arjf'.replace(re46, ''); + 'arjf'.replace(re47, ''); + 'arjf'.replace(re48, ''); + / PC=i=(\d+)&oe=(.)/.exec(str35); + re60.exec(' '); + re60.exec(' bss'); + re60.exec(''); + re19.exec(' '); + re19.exec('svefg ba'); + re19.exec('ynfg vtaber'); + re19.exec('ba'); + re9.exec('scnq so '); + re9.exec('zrqvgobk'); + re9.exec('hsgy'); + re9.exec('lhv-h'); + /Fnsnev|Xbadhrebe|XUGZY/gi.exec(s15[i]); + re61.exec('uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/onfr.wf'); + re62.exec('#Ybtva_rznvy'); + } + } + var re63 = /\{0\}/g; + var str36 = 'FrffvbaQQS2=4ss747o77904333q374or84qrr1s9r0nprp8r5q81534o94n; ZFPhygher=VC=74.125.75.20&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669321699093060&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=; AFP_zp_tfwsbrg-aowb_80=4413268q3660'; + var str37 = 'FrffvbaQQS2=4ss747o77904333q374or84qrr1s9r0nprp8r5q81534o94n; AFP_zp_tfwsbrg-aowb_80=4413268q3660; __hgzm=144631658.1231364074.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.2294274870215848400.1231364074.1231364074.1231364074.1; __hgzo=144631658.0.10.1231364074; __hgzp=144631658; ZFPhygher=VC=74.125.75.20&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669321699093060&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str38 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_zlfcnpr-ubzrcntr_wf&qg=1231364057761&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231364057761&punaary=svz_zlfcnpr_ubzrcntr_abgybttrqva%2Psvz_zlfcnpr_aba_HTP%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Ssevraqf.zlfcnpr.pbz%2Svaqrk.psz&nq_glcr=grkg&rvq=6083027&rn=0&sez=0&tn_ivq=1667363813.1231364061&tn_fvq=1231364061&tn_uvq=1917563877&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22'; + var str39 = 'ZFPhygher=VC=74.125.75.20&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669321699093060&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str40 = 'ZFPhygher=VC=74.125.75.20&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669321699093060&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + var s91 = computeInputVariants(str36, 9); + var s92 = computeInputVariants(str37, 9); + var s93 = computeInputVariants(str38, 9); + function runBlock7() { + for (var i = 0; i < 9; i++) { + '0'.replace(re40, ''); + '0'.replace(re10, ''); + '0'.replace(re51, ''); + '0'.replace(re52, ''); + '0'.replace(re53, ''); + '0'.replace(re39, ''); + '0'.replace(re54, ''); + 'Lrf'.replace(re40, ''); + 'Lrf'.replace(re10, ''); + 'Lrf'.replace(re51, ''); + 'Lrf'.replace(re52, ''); + 'Lrf'.replace(re53, ''); + 'Lrf'.replace(re39, ''); + 'Lrf'.replace(re54, ''); + } + for (var i = 0; i < 8; i++) { + 'Pybfr {0}'.replace(re63, ''); + 'Bcra {0}'.replace(re63, ''); + s91[i].split(re32); + s92[i].split(re32); + 'puvyq p1 svefg gnournqref'.replace(re14, ''); + 'puvyq p1 svefg gnournqref'.replace(re15, ''); + 'uqy_fcb'.replace(re14, ''); + 'uqy_fcb'.replace(re15, ''); + 'uvag'.replace(re14, ''); + 'uvag'.replace(re15, ''); + s93[i].replace(re33, ''); + 'yvfg'.replace(re14, ''); + 'yvfg'.replace(re15, ''); + 'at_bhgre'.replace(re30, ''); + 'cnerag puebzr5 qbhoyr2 NU'.replace(re14, ''); + 'cnerag puebzr5 qbhoyr2 NU'.replace(re15, ''); + 'cnerag puebzr5 dhnq5 ps NU osyvax zbarl'.replace(re14, ''); + 'cnerag puebzr5 dhnq5 ps NU osyvax zbarl'.replace(re15, ''); + 'cnerag puebzr6 fvatyr1'.replace(re14, ''); + 'cnerag puebzr6 fvatyr1'.replace(re15, ''); + 'cb_qrs'.replace(re14, ''); + 'cb_qrs'.replace(re15, ''); + 'gnopbagrag'.replace(re14, ''); + 'gnopbagrag'.replace(re15, ''); + 'iv_svefg_gvzr'.replace(re30, ''); + /(^|.)(ronl|qri-ehf3.wbg)(|fgberf|zbgbef|yvirnhpgvbaf|jvxv|rkcerff|punggre).(pbz(|.nh|.pa|.ux|.zl|.ft|.oe|.zk)|pb(.hx|.xe|.am)|pn|qr|se|vg|ay|or|ng|pu|vr|va|rf|cy|cu|fr)$/i.exec('cntrf.ronl.pbz'); + re8.exec('144631658.0.10.1231364074'); + re8.exec('144631658.1231364074.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re8.exec('144631658.2294274870215848400.1231364074.1231364074.1231364074.1'); + re8.exec('4413241q3660'); + re8.exec('SbeprqRkcvengvba=633669357391353591'); + re8.exec(str39); + re8.exec(str40); + re8.exec('AFP_zp_kkk-gdzogv_80=4413241q3660'); + re8.exec('FrffvbaQQS2=p98s8o9q42nr21or1r61pqorn1n002nsss569635984s6qp7'); + re8.exec('__hgzn=144631658.2294274870215848400.1231364074.1231364074.1231364074.1'); + re8.exec('__hgzo=144631658.0.10.1231364074'); + re8.exec('__hgzm=144631658.1231364074.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re8.exec('p98s8o9q42nr21or1r61pqorn1n002nsss569635984s6qp7'); + re34.exec(s91[i]); + re34.exec(s92[i]); + } + } + var re64 = /\b[a-z]/g; + var re65 = /^uggc:\/\//; + var re66 = /(?:^|\s+)qvfnoyrq(?:\s+|$)/; + var str41 = 'uggc://cebsvyr.zlfcnpr.pbz/Zbqhyrf/Nccyvpngvbaf/Cntrf/Pnainf.nfck'; + function runBlock8() { + for (var i = 0; i < 7; i++) { + s21[i].match(/\d+/g); + 'nsgre'.replace(re64, ''); + 'orsber'.replace(re64, ''); + 'obggbz'.replace(re64, ''); + 'ohvygva_jrngure.kzy'.replace(re65, ''); + 'ohggba'.replace(re37, ''); + 'ohggba'.replace(re18, ''); + 'qngrgvzr.kzy'.replace(re65, ''); + 'uggc://eff.paa.pbz/eff/paa_gbcfgbevrf.eff'.replace(re65, ''); + 'vachg'.replace(re37, ''); + 'vachg'.replace(re18, ''); + 'vafvqr'.replace(re64, ''); + 'cbvagre'.replace(re27, ''); + 'cbfvgvba'.replace(/[A-Z]/g, ''); + 'gbc'.replace(re27, ''); + 'gbc'.replace(re64, ''); + 'hy'.replace(re37, ''); + 'hy'.replace(re18, ''); + str26.replace(re37, ''); + str26.replace(re18, ''); + 'lbhghor_vtbbtyr/i2/lbhghor.kzy'.replace(re65, ''); + 'm-vaqrk'.replace(re27, ''); + /#([\w-]+)/.exec(str26); + re16.exec('urvtug'); + re16.exec('znetvaGbc'); + re16.exec('jvqgu'); + re19.exec('gno0 svefg ba'); + re19.exec('gno0 ba'); + re19.exec('gno4 ynfg'); + re19.exec('gno4'); + re19.exec('gno5'); + re19.exec('gno6'); + re19.exec('gno7'); + re19.exec('gno8'); + /NqborNVE\/([^\s]*)/.exec(s15[i]); + /NccyrJroXvg\/([^ ]*)/.exec(s15[i]); + /XUGZY/gi.exec(s15[i]); + /^(?:obql|ugzy)$/i.exec('YV'); + re38.exec('ohggba'); + re38.exec('vachg'); + re38.exec('hy'); + re38.exec(str26); + /^(\w+|\*)/.exec(str26); + /znp|jva|yvahk/i.exec('Jva32'); + /eton?\([\d\s,]+\)/.exec('fgngvp'); + } + for (var i = 0; i < 6; i++) { + ''.replace(/\r/g, ''); + '/'.replace(re40, ''); + '/'.replace(re10, ''); + '/'.replace(re51, ''); + '/'.replace(re52, ''); + '/'.replace(re53, ''); + '/'.replace(re39, ''); + '/'.replace(re54, ''); + 'uggc://zfacbegny.112.2b7.arg/o/ff/zfacbegnyubzr/1/U.7-cqi-2/{0}?[NDO]&{1}&{2}&[NDR]'.replace(re63, ''); + str41.replace(re12, ''); + 'uggc://jjj.snprobbx.pbz/fepu.cuc'.replace(re23, ''); + 'freivpr'.replace(re40, ''); + 'freivpr'.replace(re41, ''); + 'freivpr'.replace(re42, ''); + 'freivpr'.replace(re43, ''); + 'freivpr'.replace(re44, ''); + 'freivpr'.replace(re45, ''); + 'freivpr'.replace(re46, ''); + 'freivpr'.replace(re47, ''); + 'freivpr'.replace(re48, ''); + /((ZFVR\s+([6-9]|\d\d)\.))/.exec(s15[i]); + re66.exec(''); + re50.exec('fryrpgrq'); + re8.exec('8sqq78r9n442851q565599o401385sp3s04r92rnn7o19ssn'); + re8.exec('SbeprqRkcvengvba=633669340386893867'); + re8.exec('VC=74.125.75.17'); + re8.exec('FrffvbaQQS2=8sqq78r9n442851q565599o401385sp3s04r92rnn7o19ssn'); + /Xbadhrebe|Fnsnev|XUGZY/.exec(s15[i]); + re13.exec(str41); + re49.exec('unfsbphf'); + } + } + var re67 = /zrah_byq/g; + var str42 = 'FrffvbaQQS2=473qq1rs0n2r70q9qo1pq48n021s9468ron90nps048p4p29; ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669325184628362&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + var str43 = 'FrffvbaQQS2=473qq1rs0n2r70q9qo1pq48n021s9468ron90nps048p4p29; __hgzm=144631658.1231364380.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.3931862196947939300.1231364380.1231364380.1231364380.1; __hgzo=144631658.0.10.1231364380; __hgzp=144631658; ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669325184628362&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str44 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_vzntrf_wf&qg=1231364373088&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231364373088&punaary=svz_zlfcnpr_hfre-ivrj-pbzzragf%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Spbzzrag.zlfcnpr.pbz%2Svaqrk.psz&nq_glcr=grkg&rvq=6083027&rn=0&sez=0&tn_ivq=1158737789.1231364375&tn_fvq=1231364375&tn_uvq=415520832&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22'; + var str45 = 'ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669325184628362&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str46 = 'ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669325184628362&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + var re68 = /^([#.]?)((?:[\w\u0128-\uffff*_-]|\\.)*)/; + var re69 = /\{1\}/g; + var re70 = /\s+/; + var re71 = /(\$\{4\})|(\$4\b)/g; + var re72 = /(\$\{5\})|(\$5\b)/g; + var re73 = /\{2\}/g; + var re74 = /[^+>] [^+>]/; + var re75 = /\bucpyv\s*=\s*([^;]*)/i; + var re76 = /\bucuvqr\s*=\s*([^;]*)/i; + var re77 = /\bucfie\s*=\s*([^;]*)/i; + var re78 = /\bhfucjrn\s*=\s*([^;]*)/i; + var re79 = /\bmvc\s*=\s*([^;]*)/i; + var re80 = /^((?:[\w\u0128-\uffff*_-]|\\.)+)(#)((?:[\w\u0128-\uffff*_-]|\\.)+)/; + var re81 = /^([>+~])\s*(\w*)/i; + var re82 = /^>\s*((?:[\w\u0128-\uffff*_-]|\\.)+)/; + var re83 = /^[\s[]?shapgvba/; + var re84 = /v\/g.tvs#(.*)/i; + var str47 = '#Zbq-Vasb-Vasb-WninFpevcgUvag'; + var str48 = ',n.svryqOgaPnapry'; + var str49 = 'FrffvbaQQS2=p98s8o9q42nr21or1r61pqorn1n002nsss569635984s6qp7; ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669357391353591&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=; AFP_zp_kkk-gdzogv_80=4413241q3660'; + var str50 = 'FrffvbaQQS2=p98s8o9q42nr21or1r61pqorn1n002nsss569635984s6qp7; AFP_zp_kkk-gdzogv_80=4413241q3660; AFP_zp_kkk-aowb_80=4413235p3660; __hgzm=144631658.1231367708.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.2770915348920628700.1231367708.1231367708.1231367708.1; __hgzo=144631658.0.10.1231367708; __hgzp=144631658; ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669357391353591&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str51 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_zlfcnpr-ubzrcntr_wf&qg=1231367691141&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231367691141&punaary=svz_zlfcnpr_ubzrcntr_abgybttrqva%2Psvz_zlfcnpr_aba_HTP%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Sjjj.zlfcnpr.pbz%2S&nq_glcr=grkg&rvq=6083027&rn=0&sez=0&tn_ivq=320757904.1231367694&tn_fvq=1231367694&tn_uvq=1758792003&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22'; + var str52 = 'uggc://zfacbegny.112.2b7.arg/o/ff/zfacbegnyubzr/1/U.7-cqi-2/f55332979829981?[NDO]&aqu=1&g=7%2S0%2S2009%2014%3N38%3N42%203%20480&af=zfacbegny&cntrAnzr=HF%20UCZFSGJ&t=uggc%3N%2S%2Sjjj.zfa.pbz%2S&f=1024k768&p=24&x=L&oj=994&ou=634&uc=A&{2}&[NDR]'; + var str53 = 'cnerag puebzr6 fvatyr1 gno fryrpgrq ovaq qbhoyr2 ps'; + var str54 = 'ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669357391353591&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str55 = 'ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669357391353591&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + var str56 = 'ne;ng;nh;or;oe;pn;pu;py;pa;qr;qx;rf;sv;se;to;ux;vq;vr;va;vg;wc;xe;zk;zl;ay;ab;am;cu;cy;cg;eh;fr;ft;gu;ge;gj;mn;'; + var str57 = 'ZP1=I=3&THVQ=6nnpr9q661804s33nnop45nosqp17q85; zu=ZFSG; PHYGHER=RA-HF; SyvtugTebhcVq=97; SyvtugVq=OnfrCntr; ucfie=Z:5|S:5|G:5|R:5|Q:oyh|J:S; ucpyv=J.U|Y.|F.|E.|H.Y|P.|U.; hfucjrn=jp:HFPN0746; ZHVQ=Q783SN9O14054831N4869R51P0SO8886&GHVQ=1'; + var str58 = 'ZP1=I=3&THVQ=6nnpr9q661804s33nnop45nosqp17q85; zu=ZFSG; PHYGHER=RA-HF; SyvtugTebhcVq=97; SyvtugVq=OnfrCntr; ucfie=Z:5|S:5|G:5|R:5|Q:oyh|J:S; ucpyv=J.U|Y.|F.|E.|H.Y|P.|U.; hfucjrn=jp:HFPN0746; ZHVQ=Q783SN9O14054831N4869R51P0SO8886'; + var str59 = 'ZP1=I=3&THVQ=6nnpr9q661804s33nnop45nosqp17q85; zu=ZFSG; PHYGHER=RA-HF; SyvtugTebhcVq=97; SyvtugVq=OnfrCntr; ucfie=Z:5|S:5|G:5|R:5|Q:oyh|J:S; ucpyv=J.U|Y.|F.|E.|H.Y|P.|U.; hfucjrn=jp:HFPN0746; ZHVQ=Q783SN9O14054831N4869R51P0SO8886; mvc=m:94043|yn:37.4154|yb:-122.0585|p:HF|ue:1'; + var str60 = 'ZP1=I=3&THVQ=6nnpr9q661804s33nnop45nosqp17q85; zu=ZFSG; PHYGHER=RA-HF; SyvtugTebhcVq=97; SyvtugVq=OnfrCntr; ucfie=Z:5|S:5|G:5|R:5|Q:oyh|J:S; ucpyv=J.U|Y.|F.|E.|H.Y|P.|U.; hfucjrn=jp:HFPN0746; ZHVQ=Q783SN9O14054831N4869R51P0SO8886; mvc=m:94043|yn:37.4154|yb:-122.0585|p:HF'; + var str61 = 'uggc://gx2.fgp.f-zfa.pbz/oe/uc/11/ra-hf/pff/v/g.tvs#uggc://gx2.fgo.f-zfa.pbz/v/29/4RQP4969777N048NPS4RRR3PO2S7S.wct'; + var str62 = 'uggc://gx2.fgp.f-zfa.pbz/oe/uc/11/ra-hf/pff/v/g.tvs#uggc://gx2.fgo.f-zfa.pbz/v/OQ/63NP9O94NS5OQP1249Q9S1ROP7NS3.wct'; + var str63 = 'zbmvyyn/5.0 (jvaqbjf; h; jvaqbjf ag 5.1; ra-hf) nccyrjroxvg/528.9 (xugzy, yvxr trpxb) puebzr/2.0.157.0 fnsnev/528.9'; + var s94 = computeInputVariants(str42, 5); + var s95 = computeInputVariants(str43, 5); + var s96 = computeInputVariants(str44, 5); + var s97 = computeInputVariants(str47, 5); + var s98 = computeInputVariants(str48, 5); + var s99 = computeInputVariants(str49, 5); + var s100 = computeInputVariants(str50, 5); + var s101 = computeInputVariants(str51, 5); + var s102 = computeInputVariants(str52, 5); + var s103 = computeInputVariants(str53, 5); + + function runBlock9() { + for (var i = 0; i < 5; i++) { + s94[i].split(re32); + s95[i].split(re32); + 'svz_zlfcnpr_hfre-ivrj-pbzzragf,svz_zlfcnpr_havgrq-fgngrf'.split(re20); + s96[i].replace(re33, ''); + 'zrah_arj zrah_arj_gbttyr zrah_gbttyr'.replace(re67, ''); + 'zrah_byq zrah_byq_gbttyr zrah_gbttyr'.replace(re67, ''); + re8.exec('102n9o0o9pq60132qn0337rr867p75953502q2s27s2s5r98'); + re8.exec('144631658.0.10.1231364380'); + re8.exec('144631658.1231364380.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re8.exec('144631658.3931862196947939300.1231364380.1231364380.1231364380.1'); + re8.exec('441326q33660'); + re8.exec('SbeprqRkcvengvba=633669341278771470'); + re8.exec(str45); + re8.exec(str46); + re8.exec('AFP_zp_dfctwzssrwh-aowb_80=441326q33660'); + re8.exec('FrffvbaQQS2=102n9o0o9pq60132qn0337rr867p75953502q2s27s2s5r98'); + re8.exec('__hgzn=144631658.3931862196947939300.1231364380.1231364380.1231364380.1'); + re8.exec('__hgzo=144631658.0.10.1231364380'); + re8.exec('__hgzm=144631658.1231364380.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + } + for (var i = 0; i < 4; i++) { + ' yvfg1'.replace(re14, ''); + ' yvfg1'.replace(re15, ''); + ' yvfg2'.replace(re14, ''); + ' yvfg2'.replace(re15, ''); + ' frneputebhc1'.replace(re14, ''); + ' frneputebhc1'.replace(re15, ''); + s97[i].replace(re68, ''); + s97[i].replace(re18, ''); + ''.replace(/&/g, ''); + ''.replace(re35, ''); + '(..-{0})(\|(\d+)|)'.replace(re63, ''); + s98[i].replace(re18, ''); + '//vzt.jro.qr/vij/FC/${cngu}/${anzr}/${inyhr}?gf=${abj}'.replace(re56, ''); + '//vzt.jro.qr/vij/FC/tzk_uc/${anzr}/${inyhr}?gf=${abj}'.replace(/(\$\{anzr\})|(\$anzr\b)/g, ''); + 'Jvaqbjf Yvir Ubgznvy{1}'.replace(re69, ''); + '{0}{1}'.replace(re63, ''); + '{1}'.replace(re69, ''); + '{1}'.replace(re63, ''); + 'Vzntrf'.replace(re15, ''); + 'ZFA'.replace(re15, ''); + 'Zncf'.replace(re15, ''); + 'Zbq-Vasb-Vasb-WninFpevcgUvag'.replace(re39, ''); + 'Arjf'.replace(re15, ''); + s99[i].split(re32); + s100[i].split(re32); + 'Ivqrb'.replace(re15, ''); + 'Jro'.replace(re15, ''); + 'n'.replace(re39, ''); + 'nwnkFgneg'.split(re70); + 'nwnkFgbc'.split(re70); + 'ovaq'.replace(re14, ''); + 'ovaq'.replace(re15, ''); + 'oevatf lbh zber. Zber fcnpr (5TO), zber frphevgl, fgvyy serr.'.replace(re63, ''); + 'puvyq p1 svefg qrpx'.replace(re14, ''); + 'puvyq p1 svefg qrpx'.replace(re15, ''); + 'puvyq p1 svefg qbhoyr2'.replace(re14, ''); + 'puvyq p1 svefg qbhoyr2'.replace(re15, ''); + 'puvyq p2 ynfg'.replace(re14, ''); + 'puvyq p2 ynfg'.replace(re15, ''); + 'puvyq p2'.replace(re14, ''); + 'puvyq p2'.replace(re15, ''); + 'puvyq p3'.replace(re14, ''); + 'puvyq p3'.replace(re15, ''); + 'puvyq p4 ynfg'.replace(re14, ''); + 'puvyq p4 ynfg'.replace(re15, ''); + 'pbclevtug'.replace(re14, ''); + 'pbclevtug'.replace(re15, ''); + 'qZFAZR_1'.replace(re14, ''); + 'qZFAZR_1'.replace(re15, ''); + 'qbhoyr2 ps'.replace(re14, ''); + 'qbhoyr2 ps'.replace(re15, ''); + 'qbhoyr2'.replace(re14, ''); + 'qbhoyr2'.replace(re15, ''); + 'uqy_arj'.replace(re14, ''); + 'uqy_arj'.replace(re15, ''); + 'uc_fubccvatobk'.replace(re30, ''); + 'ugzy%2Rvq'.replace(re29, ''); + 'ugzy%2Rvq'.replace(re30, ''); + s101[i].replace(re33, ''); + 'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/cebgbglcr.wf${4}${5}'.replace(re71, ''); + 'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/cebgbglcr.wf${5}'.replace(re72, ''); + s102[i].replace(re73, ''); + 'uggc://zfacbegny.112.2b7.arg/o/ff/zfacbegnyubzr/1/U.7-cqi-2/f55332979829981?[NDO]&{1}&{2}&[NDR]'.replace(re69, ''); + 'vztZFSG'.replace(re14, ''); + 'vztZFSG'.replace(re15, ''); + 'zfasbbg1 ps'.replace(re14, ''); + 'zfasbbg1 ps'.replace(re15, ''); + s103[i].replace(re14, ''); + s103[i].replace(re15, ''); + 'cnerag puebzr6 fvatyr1 gno fryrpgrq ovaq'.replace(re14, ''); + 'cnerag puebzr6 fvatyr1 gno fryrpgrq ovaq'.replace(re15, ''); + 'cevznel'.replace(re14, ''); + 'cevznel'.replace(re15, ''); + 'erpgnatyr'.replace(re30, ''); + 'frpbaqnel'.replace(re14, ''); + 'frpbaqnel'.replace(re15, ''); + 'haybnq'.split(re70); + '{0}{1}1'.replace(re63, ''); + '|{1}1'.replace(re69, ''); + /(..-HF)(\|(\d+)|)/i.exec('xb-xe,ra-va,gu-gu'); + re4.exec('/ZlFcnprNccf/NccPnainf,45000012'); + re8.exec('144631658.0.10.1231367708'); + re8.exec('144631658.1231367708.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re8.exec('144631658.2770915348920628700.1231367708.1231367708.1231367708.1'); + re8.exec('4413235p3660'); + re8.exec('441327q73660'); + re8.exec('9995p6rp12rrnr893334ro7nq70o7p64p69rqn844prs1473'); + re8.exec('SbeprqRkcvengvba=633669350559478880'); + re8.exec(str54); + re8.exec(str55); + re8.exec('AFP_zp_dfctwzs-aowb_80=441327q73660'); + re8.exec('AFP_zp_kkk-aowb_80=4413235p3660'); + re8.exec('FrffvbaQQS2=9995p6rp12rrnr893334ro7nq70o7p64p69rqn844prs1473'); + re8.exec('__hgzn=144631658.2770915348920628700.1231367708.1231367708.1231367708.1'); + re8.exec('__hgzo=144631658.0.10.1231367708'); + re8.exec('__hgzm=144631658.1231367708.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re34.exec(s99[i]); + re34.exec(s100[i]); + /ZFVR\s+5[.]01/.exec(s15[i]); + /HF(?=;)/i.exec(str56); + re74.exec(s97[i]); + re28.exec('svefg npgvir svefgNpgvir'); + re28.exec('ynfg'); + /\bp:(..)/i.exec('m:94043|yn:37.4154|yb:-122.0585|p:HF'); + re75.exec(str57); + re75.exec(str58); + re76.exec(str57); + re76.exec(str58); + re77.exec(str57); + re77.exec(str58); + /\bhfucce\s*=\s*([^;]*)/i.exec(str59); + re78.exec(str57); + re78.exec(str58); + /\bjci\s*=\s*([^;]*)/i.exec(str59); + re79.exec(str58); + re79.exec(str60); + re79.exec(str59); + /\|p:([a-z]{2})/i.exec('m:94043|yn:37.4154|yb:-122.0585|p:HF|ue:1'); + re80.exec(s97[i]); + re61.exec('cebgbglcr.wf'); + re68.exec(s97[i]); + re81.exec(s97[i]); + re82.exec(s97[i]); + /^Fubpxjnir Synfu (\d)/.exec(s21[i]); + /^Fubpxjnir Synfu (\d+)/.exec(s21[i]); + re83.exec('[bowrpg tybony]'); + re62.exec(s97[i]); + re84.exec(str61); + re84.exec(str62); + /jroxvg/.exec(str63); + } + } + var re85 = /eaq_zbqobkva/; + var str64 = '1231365729213'; + var str65 = '74.125.75.3-1057165600.29978900'; + var str66 = '74.125.75.3-1057165600.29978900.1231365730214'; + var str67 = 'Frnepu%20Zvpebfbsg.pbz'; + var str68 = 'FrffvbaQQS2=8sqq78r9n442851q565599o401385sp3s04r92rnn7o19ssn; ZFPhygher=VC=74.125.75.17&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669340386893867&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + var str69 = 'FrffvbaQQS2=8sqq78r9n442851q565599o401385sp3s04r92rnn7o19ssn; __hgzm=144631658.1231365779.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.1877536177953918500.1231365779.1231365779.1231365779.1; __hgzo=144631658.0.10.1231365779; __hgzp=144631658; ZFPhygher=VC=74.125.75.17&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669340386893867&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str70 = 'I=3%26THVQ=757q3ss871q44o7o805n8113n5p72q52'; + var str71 = 'I=3&THVQ=757q3ss871q44o7o805n8113n5p72q52'; + var str72 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_zlfcnpr-ubzrcntr_wf&qg=1231365765292&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231365765292&punaary=svz_zlfcnpr_ubzrcntr_abgybttrqva%2Psvz_zlfcnpr_aba_HTP%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Sohyyrgvaf.zlfcnpr.pbz%2Svaqrk.psz&nq_glcr=grkg&rvq=6083027&rn=0&sez=0&tn_ivq=1579793869.1231365768&tn_fvq=1231365768&tn_uvq=2056210897&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22'; + var str73 = 'frnepu.zvpebfbsg.pbz'; + var str74 = 'frnepu.zvpebfbsg.pbz/'; + var str75 = 'ZFPhygher=VC=74.125.75.17&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669340386893867&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str76 = 'ZFPhygher=VC=74.125.75.17&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669340386893867&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + function runBlock10() { + for (var i = 0; i < 3; i++) { + '%3Szxg=ra-HF'.replace(re39, ''); + '-8'.replace(re40, ''); + '-8'.replace(re10, ''); + '-8'.replace(re51, ''); + '-8'.replace(re52, ''); + '-8'.replace(re53, ''); + '-8'.replace(re39, ''); + '-8'.replace(re54, ''); + '1.5'.replace(re40, ''); + '1.5'.replace(re10, ''); + '1.5'.replace(re51, ''); + '1.5'.replace(re52, ''); + '1.5'.replace(re53, ''); + '1.5'.replace(re39, ''); + '1.5'.replace(re54, ''); + '1024k768'.replace(re40, ''); + '1024k768'.replace(re10, ''); + '1024k768'.replace(re51, ''); + '1024k768'.replace(re52, ''); + '1024k768'.replace(re53, ''); + '1024k768'.replace(re39, ''); + '1024k768'.replace(re54, ''); + str64.replace(re40, ''); + str64.replace(re10, ''); + str64.replace(re51, ''); + str64.replace(re52, ''); + str64.replace(re53, ''); + str64.replace(re39, ''); + str64.replace(re54, ''); + '14'.replace(re40, ''); + '14'.replace(re10, ''); + '14'.replace(re51, ''); + '14'.replace(re52, ''); + '14'.replace(re53, ''); + '14'.replace(re39, ''); + '14'.replace(re54, ''); + '24'.replace(re40, ''); + '24'.replace(re10, ''); + '24'.replace(re51, ''); + '24'.replace(re52, ''); + '24'.replace(re53, ''); + '24'.replace(re39, ''); + '24'.replace(re54, ''); + str65.replace(re40, ''); + str65.replace(re10, ''); + str65.replace(re51, ''); + str65.replace(re52, ''); + str65.replace(re53, ''); + str65.replace(re39, ''); + str65.replace(re54, ''); + str66.replace(re40, ''); + str66.replace(re10, ''); + str66.replace(re51, ''); + str66.replace(re52, ''); + str66.replace(re53, ''); + str66.replace(re39, ''); + str66.replace(re54, ''); + '9.0'.replace(re40, ''); + '9.0'.replace(re10, ''); + '9.0'.replace(re51, ''); + '9.0'.replace(re52, ''); + '9.0'.replace(re53, ''); + '9.0'.replace(re39, ''); + '9.0'.replace(re54, ''); + '994k634'.replace(re40, ''); + '994k634'.replace(re10, ''); + '994k634'.replace(re51, ''); + '994k634'.replace(re52, ''); + '994k634'.replace(re53, ''); + '994k634'.replace(re39, ''); + '994k634'.replace(re54, ''); + '?zxg=ra-HF'.replace(re40, ''); + '?zxg=ra-HF'.replace(re10, ''); + '?zxg=ra-HF'.replace(re51, ''); + '?zxg=ra-HF'.replace(re52, ''); + '?zxg=ra-HF'.replace(re53, ''); + '?zxg=ra-HF'.replace(re54, ''); + 'PAA.pbz'.replace(re25, ''); + 'PAA.pbz'.replace(re12, ''); + 'PAA.pbz'.replace(re39, ''); + 'Qngr & Gvzr'.replace(re25, ''); + 'Qngr & Gvzr'.replace(re12, ''); + 'Qngr & Gvzr'.replace(re39, ''); + 'Frnepu Zvpebfbsg.pbz'.replace(re40, ''); + 'Frnepu Zvpebfbsg.pbz'.replace(re54, ''); + str67.replace(re10, ''); + str67.replace(re51, ''); + str67.replace(re52, ''); + str67.replace(re53, ''); + str67.replace(re39, ''); + str68.split(re32); + str69.split(re32); + str70.replace(re52, ''); + str70.replace(re53, ''); + str70.replace(re39, ''); + str71.replace(re40, ''); + str71.replace(re10, ''); + str71.replace(re51, ''); + str71.replace(re54, ''); + 'Jrngure'.replace(re25, ''); + 'Jrngure'.replace(re12, ''); + 'Jrngure'.replace(re39, ''); + 'LbhGhor'.replace(re25, ''); + 'LbhGhor'.replace(re12, ''); + 'LbhGhor'.replace(re39, ''); + str72.replace(re33, ''); + 'erzbgr_vsenzr_1'.replace(/^erzbgr_vsenzr_/, ''); + str73.replace(re40, ''); + str73.replace(re10, ''); + str73.replace(re51, ''); + str73.replace(re52, ''); + str73.replace(re53, ''); + str73.replace(re39, ''); + str73.replace(re54, ''); + str74.replace(re40, ''); + str74.replace(re10, ''); + str74.replace(re51, ''); + str74.replace(re52, ''); + str74.replace(re53, ''); + str74.replace(re39, ''); + str74.replace(re54, ''); + 'lhv-h'.replace(/\-/g, ''); + re9.exec('p'); + re9.exec('qz p'); + re9.exec('zbqynory'); + re9.exec('lhv-h svefg'); + re8.exec('144631658.0.10.1231365779'); + re8.exec('144631658.1231365779.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re8.exec('144631658.1877536177953918500.1231365779.1231365779.1231365779.1'); + re8.exec(str75); + re8.exec(str76); + re8.exec('__hgzn=144631658.1877536177953918500.1231365779.1231365779.1231365779.1'); + re8.exec('__hgzo=144631658.0.10.1231365779'); + re8.exec('__hgzm=144631658.1231365779.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re34.exec(str68); + re34.exec(str69); + /^$/.exec(''); + re31.exec('qr'); + /^znk\d+$/.exec(''); + /^zva\d+$/.exec(''); + /^erfgber$/.exec(''); + re85.exec('zbqobkva zbqobk_abcnqqvat '); + re85.exec('zbqgvgyr'); + re85.exec('eaq_zbqobkva '); + re85.exec('eaq_zbqgvgyr '); + /frpgvba\d+_pbagragf/.exec('obggbz_ani'); + } + } + var re86 = /;\s*/; + var re87 = /(\$\{inyhr\})|(\$inyhr\b)/g; + var re88 = /(\$\{abj\})|(\$abj\b)/g; + var re89 = /\s+$/; + var re90 = /^\s+/; + var re91 = /(\\\"|\x00-|\x1f|\x7f-|\x9f|\u00ad|\u0600-|\u0604|\u070f|\u17b4|\u17b5|\u200c-|\u200f|\u2028-|\u202f|\u2060-|\u206f|\ufeff|\ufff0-|\uffff)/g; + var re92 = /^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/; + var re93 = /^([:.#]*)((?:[\w\u0128-\uffff*_-]|\\.)+)/; + var re94 = /^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/; + var str77 = '#fubhgobk .pybfr'; + var str78 = 'FrffvbaQQS2=102n9o0o9pq60132qn0337rr867p75953502q2s27s2s5r98; ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669341278771470&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=; AFP_zp_dfctwzssrwh-aowb_80=441326q33660'; + var str79 = 'FrffvbaQQS2=102n9o0o9pq60132qn0337rr867p75953502q2s27s2s5r98; AFP_zp_dfctwzssrwh-aowb_80=441326q33660; __hgzm=144631658.1231365869.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.1670816052019209000.1231365869.1231365869.1231365869.1; __hgzo=144631658.0.10.1231365869; __hgzp=144631658; ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669341278771470&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str80 = 'FrffvbaQQS2=9995p6rp12rrnr893334ro7nq70o7p64p69rqn844prs1473; ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669350559478880&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=; AFP_zp_dfctwzs-aowb_80=441327q73660'; + var str81 = 'FrffvbaQQS2=9995p6rp12rrnr893334ro7nq70o7p64p69rqn844prs1473; AFP_zp_dfctwzs-aowb_80=441327q73660; __hgzm=144631658.1231367054.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.1796080716621419500.1231367054.1231367054.1231367054.1; __hgzo=144631658.0.10.1231367054; __hgzp=144631658; ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669350559478880&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str82 = '[glcr=fhozvg]'; + var str83 = 'n.svryqOga,n.svryqOgaPnapry'; + var str84 = 'n.svryqOgaPnapry'; + var str85 = 'oyvpxchaxg'; + var str86 = 'qvi.bow-nppbeqvba qg'; + var str87 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_nccf_wf&qg=1231367052227&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231367052227&punaary=svz_zlfcnpr_nccf-pnainf%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Scebsvyr.zlfcnpr.pbz%2SZbqhyrf%2SNccyvpngvbaf%2SCntrf%2SPnainf.nfck&nq_glcr=grkg&rvq=6083027&rn=0&sez=1&tn_ivq=716357910.1231367056&tn_fvq=1231367056&tn_uvq=1387206491&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22'; + var str88 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_zlfcnpr-ubzrcntr_wf&qg=1231365851658&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231365851658&punaary=svz_zlfcnpr_ubzrcntr_abgybttrqva%2Psvz_zlfcnpr_aba_HTP%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Scebsvyrrqvg.zlfcnpr.pbz%2Svaqrk.psz&nq_glcr=grkg&rvq=6083027&rn=0&sez=0&tn_ivq=1979828129.1231365855&tn_fvq=1231365855&tn_uvq=2085229649&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22'; + var str89 = 'uggc://zfacbegny.112.2b7.arg/o/ff/zfacbegnyubzr/1/U.7-cqi-2/f55023338617756?[NDO]&aqu=1&g=7%2S0%2S2009%2014%3N12%3N47%203%20480&af=zfacbegny&cntrAnzr=HF%20UCZFSGJ&t=uggc%3N%2S%2Sjjj.zfa.pbz%2S&f=0k0&p=43835816&x=A&oj=994&ou=634&uc=A&{2}&[NDR]'; + var str90 = 'zrgn[anzr=nwnkHey]'; + var str91 = 'anpuevpugra'; + var str92 = 'b oS={\'oT\':1.1};x $8n(B){z(B!=o9)};x $S(B){O(!$8n(B))z A;O(B.4L)z\'T\';b S=7t B;O(S==\'2P\'&&B.p4){23(B.7f){12 1:z\'T\';12 3:z/\S/.2g(B.8M)?\'ox\':\'oh\'}}O(S==\'2P\'||S==\'x\'){23(B.nE){12 2V:z\'1O\';12 7I:z\'5a\';12 18:z\'4B\'}O(7t B.I==\'4F\'){O(B.3u)z\'pG\';O(B.8e)z\'1p\'}}z S};x $2p(){b 4E={};Z(b v=0;v<1p.I;v++){Z(b X 1o 1p[v]){b nc=1p[v][X];b 6E=4E[X];O(6E&&$S(nc)==\'2P\'&&$S(6E)==\'2P\')4E[X]=$2p(6E,nc);17 4E[X]=nc}}z 4E};b $E=7p.E=x(){b 1d=1p;O(!1d[1])1d=[p,1d[0]];Z(b X 1o 1d[1])1d[0][X]=1d[1][X];z 1d[0]};b $4D=7p.pJ=x(){Z(b v=0,y=1p.I;v-1:p.3F(2R)>-1},nX:x(){z p.3y(/([.*+?^${}()|[\]\/\\])/t,\'\\$1\')}});2V.E({5V:x(1O){O(p.I<3)z A;O(p.I==4&&p[3]==0&&!1O)z\'p5\';b 3P=[];Z(b v=0;v<3;v++){b 52=(p[v]-0).4h(16);3P.1x((52.I==1)?\'0\'+52:52)}z 1O?3P:\'#\'+3P.2u(\'\')},5U:x(1O){O(p.I!=3)z A;b 1i=[];Z(b v=0;v<3;v++){1i.1x(5K((p[v].I==1)?p[v]+p[v]:p[v],16))}z 1O?1i:\'1i(\'+1i.2u(\',\')+\')\'}});7F.E({3n:x(P){b J=p;P=$2p({\'L\':J,\'V\':A,\'1p\':1S,\'2x\':A,\'4s\':A,\'6W\':A},P);O($2O(P.1p)&&$S(P.1p)!=\'1O\')P.1p=[P.1p];z x(V){b 1d;O(P.V){V=V||H.V;1d=[(P.V===1r)?V:Y P.V(V)];O(P.1p)1d.E(P.1p)}17 1d=P.1p||1p;b 3C=x(){z J.3H($5S(P'; + var str93 = 'hagreunyghat'; + var str94 = 'ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669341278771470&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str95 = 'ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669350559478880&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str96 = 'ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669341278771470&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + var str97 = 'ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669350559478880&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + var str98 = 'shapgvba (){Cuk.Nccyvpngvba.Frghc.Pber();Cuk.Nccyvpngvba.Frghc.Nwnk();Cuk.Nccyvpngvba.Frghc.Synfu();Cuk.Nccyvpngvba.Frghc.Zbqhyrf()}'; + function runBlock11() { + for (var i = 0; i < 2; i++) { + ' .pybfr'.replace(re18, ''); + ' n.svryqOgaPnapry'.replace(re18, ''); + ' qg'.replace(re18, ''); + str77.replace(re68, ''); + str77.replace(re18, ''); + ''.replace(re39, ''); + ''.replace(/^/, ''); + ''.split(re86); + '*'.replace(re39, ''); + '*'.replace(re68, ''); + '*'.replace(re18, ''); + '.pybfr'.replace(re68, ''); + '.pybfr'.replace(re18, ''); + '//vzt.jro.qr/vij/FC/tzk_uc/fperra/${inyhr}?gf=${abj}'.replace(re87, ''); + '//vzt.jro.qr/vij/FC/tzk_uc/fperra/1024?gf=${abj}'.replace(re88, ''); + '//vzt.jro.qr/vij/FC/tzk_uc/jvafvmr/${inyhr}?gf=${abj}'.replace(re87, ''); + '//vzt.jro.qr/vij/FC/tzk_uc/jvafvmr/992/608?gf=${abj}'.replace(re88, ''); + '300k120'.replace(re30, ''); + '300k250'.replace(re30, ''); + '310k120'.replace(re30, ''); + '310k170'.replace(re30, ''); + '310k250'.replace(re30, ''); + '9.0 e115'.replace(/^.*\.(.*)\s.*$/, ''); + 'Nppbeqvba'.replace(re2, ''); + 'Nxghryy\x0a'.replace(re89, ''); + 'Nxghryy\x0a'.replace(re90, ''); + 'Nccyvpngvba'.replace(re2, ''); + 'Oyvpxchaxg\x0a'.replace(re89, ''); + 'Oyvpxchaxg\x0a'.replace(re90, ''); + 'Svanamra\x0a'.replace(re89, ''); + 'Svanamra\x0a'.replace(re90, ''); + 'Tnzrf\x0a'.replace(re89, ''); + 'Tnzrf\x0a'.replace(re90, ''); + 'Ubebfxbc\x0a'.replace(re89, ''); + 'Ubebfxbc\x0a'.replace(re90, ''); + 'Xvab\x0a'.replace(re89, ''); + 'Xvab\x0a'.replace(re90, ''); + 'Zbqhyrf'.replace(re2, ''); + 'Zhfvx\x0a'.replace(re89, ''); + 'Zhfvx\x0a'.replace(re90, ''); + 'Anpuevpugra\x0a'.replace(re89, ''); + 'Anpuevpugra\x0a'.replace(re90, ''); + 'Cuk'.replace(re2, ''); + 'ErdhrfgSvavfu'.split(re70); + 'ErdhrfgSvavfu.NWNK.Cuk'.split(re70); + 'Ebhgr\x0a'.replace(re89, ''); + 'Ebhgr\x0a'.replace(re90, ''); + str78.split(re32); + str79.split(re32); + str80.split(re32); + str81.split(re32); + 'Fcbeg\x0a'.replace(re89, ''); + 'Fcbeg\x0a'.replace(re90, ''); + 'GI-Fcbg\x0a'.replace(re89, ''); + 'GI-Fcbg\x0a'.replace(re90, ''); + 'Gbhe\x0a'.replace(re89, ''); + 'Gbhe\x0a'.replace(re90, ''); + 'Hagreunyghat\x0a'.replace(re89, ''); + 'Hagreunyghat\x0a'.replace(re90, ''); + 'Ivqrb\x0a'.replace(re89, ''); + 'Ivqrb\x0a'.replace(re90, ''); + 'Jrggre\x0a'.replace(re89, ''); + 'Jrggre\x0a'.replace(re90, ''); + str82.replace(re68, ''); + str82.replace(re18, ''); + str83.replace(re68, ''); + str83.replace(re18, ''); + str84.replace(re68, ''); + str84.replace(re18, ''); + 'nqiFreivprObk'.replace(re30, ''); + 'nqiFubccvatObk'.replace(re30, ''); + 'nwnk'.replace(re39, ''); + 'nxghryy'.replace(re40, ''); + 'nxghryy'.replace(re41, ''); + 'nxghryy'.replace(re42, ''); + 'nxghryy'.replace(re43, ''); + 'nxghryy'.replace(re44, ''); + 'nxghryy'.replace(re45, ''); + 'nxghryy'.replace(re46, ''); + 'nxghryy'.replace(re47, ''); + 'nxghryy'.replace(re48, ''); + str85.replace(re40, ''); + str85.replace(re41, ''); + str85.replace(re42, ''); + str85.replace(re43, ''); + str85.replace(re44, ''); + str85.replace(re45, ''); + str85.replace(re46, ''); + str85.replace(re47, ''); + str85.replace(re48, ''); + 'pngrtbel'.replace(re29, ''); + 'pngrtbel'.replace(re30, ''); + 'pybfr'.replace(re39, ''); + 'qvi'.replace(re39, ''); + str86.replace(re68, ''); + str86.replace(re18, ''); + 'qg'.replace(re39, ''); + 'qg'.replace(re68, ''); + 'qg'.replace(re18, ''); + 'rzorq'.replace(re39, ''); + 'rzorq'.replace(re68, ''); + 'rzorq'.replace(re18, ''); + 'svryqOga'.replace(re39, ''); + 'svryqOgaPnapry'.replace(re39, ''); + 'svz_zlfcnpr_nccf-pnainf,svz_zlfcnpr_havgrq-fgngrf'.split(re20); + 'svanamra'.replace(re40, ''); + 'svanamra'.replace(re41, ''); + 'svanamra'.replace(re42, ''); + 'svanamra'.replace(re43, ''); + 'svanamra'.replace(re44, ''); + 'svanamra'.replace(re45, ''); + 'svanamra'.replace(re46, ''); + 'svanamra'.replace(re47, ''); + 'svanamra'.replace(re48, ''); + 'sbphf'.split(re70); + 'sbphf.gno sbphfva.gno'.split(re70); + 'sbphfva'.split(re70); + 'sbez'.replace(re39, ''); + 'sbez.nwnk'.replace(re68, ''); + 'sbez.nwnk'.replace(re18, ''); + 'tnzrf'.replace(re40, ''); + 'tnzrf'.replace(re41, ''); + 'tnzrf'.replace(re42, ''); + 'tnzrf'.replace(re43, ''); + 'tnzrf'.replace(re44, ''); + 'tnzrf'.replace(re45, ''); + 'tnzrf'.replace(re46, ''); + 'tnzrf'.replace(re47, ''); + 'tnzrf'.replace(re48, ''); + 'ubzrcntr'.replace(re30, ''); + 'ubebfxbc'.replace(re40, ''); + 'ubebfxbc'.replace(re41, ''); + 'ubebfxbc'.replace(re42, ''); + 'ubebfxbc'.replace(re43, ''); + 'ubebfxbc'.replace(re44, ''); + 'ubebfxbc'.replace(re45, ''); + 'ubebfxbc'.replace(re46, ''); + 'ubebfxbc'.replace(re47, ''); + 'ubebfxbc'.replace(re48, ''); + 'uc_cebzbobk_ugzy%2Puc_cebzbobk_vzt'.replace(re30, ''); + 'uc_erpgnatyr'.replace(re30, ''); + str87.replace(re33, ''); + str88.replace(re33, ''); + 'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/onfr.wf${4}${5}'.replace(re71, ''); + 'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/onfr.wf${5}'.replace(re72, ''); + 'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/qlaYvo.wf${4}${5}'.replace(re71, ''); + 'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/qlaYvo.wf${5}'.replace(re72, ''); + 'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/rssrpgYvo.wf${4}${5}'.replace(re71, ''); + 'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/rssrpgYvo.wf${5}'.replace(re72, ''); + str89.replace(re73, ''); + 'uggc://zfacbegny.112.2b7.arg/o/ff/zfacbegnyubzr/1/U.7-cqi-2/f55023338617756?[NDO]&{1}&{2}&[NDR]'.replace(re69, ''); + str6.replace(re23, ''); + 'xvab'.replace(re40, ''); + 'xvab'.replace(re41, ''); + 'xvab'.replace(re42, ''); + 'xvab'.replace(re43, ''); + 'xvab'.replace(re44, ''); + 'xvab'.replace(re45, ''); + 'xvab'.replace(re46, ''); + 'xvab'.replace(re47, ''); + 'xvab'.replace(re48, ''); + 'ybnq'.split(re70); + 'zrqvnzbqgno lhv-anifrg lhv-anifrg-gbc'.replace(re18, ''); + 'zrgn'.replace(re39, ''); + str90.replace(re68, ''); + str90.replace(re18, ''); + 'zbhfrzbir'.split(re70); + 'zbhfrzbir.gno'.split(re70); + str63.replace(/^.*jroxvg\/(\d+(\.\d+)?).*$/, ''); + 'zhfvx'.replace(re40, ''); + 'zhfvx'.replace(re41, ''); + 'zhfvx'.replace(re42, ''); + 'zhfvx'.replace(re43, ''); + 'zhfvx'.replace(re44, ''); + 'zhfvx'.replace(re45, ''); + 'zhfvx'.replace(re46, ''); + 'zhfvx'.replace(re47, ''); + 'zhfvx'.replace(re48, ''); + 'zlfcnpr_nccf_pnainf'.replace(re52, ''); + str91.replace(re40, ''); + str91.replace(re41, ''); + str91.replace(re42, ''); + str91.replace(re43, ''); + str91.replace(re44, ''); + str91.replace(re45, ''); + str91.replace(re46, ''); + str91.replace(re47, ''); + str91.replace(re48, ''); + 'anzr'.replace(re39, ''); + str92.replace(/\b\w+\b/g, ''); + 'bow-nppbeqvba'.replace(re39, ''); + 'bowrpg'.replace(re39, ''); + 'bowrpg'.replace(re68, ''); + 'bowrpg'.replace(re18, ''); + 'cnenzf%2Rfglyrf'.replace(re29, ''); + 'cnenzf%2Rfglyrf'.replace(re30, ''); + 'cbchc'.replace(re30, ''); + 'ebhgr'.replace(re40, ''); + 'ebhgr'.replace(re41, ''); + 'ebhgr'.replace(re42, ''); + 'ebhgr'.replace(re43, ''); + 'ebhgr'.replace(re44, ''); + 'ebhgr'.replace(re45, ''); + 'ebhgr'.replace(re46, ''); + 'ebhgr'.replace(re47, ''); + 'ebhgr'.replace(re48, ''); + 'freivprobk_uc'.replace(re30, ''); + 'fubccvatobk_uc'.replace(re30, ''); + 'fubhgobk'.replace(re39, ''); + 'fcbeg'.replace(re40, ''); + 'fcbeg'.replace(re41, ''); + 'fcbeg'.replace(re42, ''); + 'fcbeg'.replace(re43, ''); + 'fcbeg'.replace(re44, ''); + 'fcbeg'.replace(re45, ''); + 'fcbeg'.replace(re46, ''); + 'fcbeg'.replace(re47, ''); + 'fcbeg'.replace(re48, ''); + 'gbhe'.replace(re40, ''); + 'gbhe'.replace(re41, ''); + 'gbhe'.replace(re42, ''); + 'gbhe'.replace(re43, ''); + 'gbhe'.replace(re44, ''); + 'gbhe'.replace(re45, ''); + 'gbhe'.replace(re46, ''); + 'gbhe'.replace(re47, ''); + 'gbhe'.replace(re48, ''); + 'gi-fcbg'.replace(re40, ''); + 'gi-fcbg'.replace(re41, ''); + 'gi-fcbg'.replace(re42, ''); + 'gi-fcbg'.replace(re43, ''); + 'gi-fcbg'.replace(re44, ''); + 'gi-fcbg'.replace(re45, ''); + 'gi-fcbg'.replace(re46, ''); + 'gi-fcbg'.replace(re47, ''); + 'gi-fcbg'.replace(re48, ''); + 'glcr'.replace(re39, ''); + 'haqrsvarq'.replace(/\//g, ''); + str93.replace(re40, ''); + str93.replace(re41, ''); + str93.replace(re42, ''); + str93.replace(re43, ''); + str93.replace(re44, ''); + str93.replace(re45, ''); + str93.replace(re46, ''); + str93.replace(re47, ''); + str93.replace(re48, ''); + 'ivqrb'.replace(re40, ''); + 'ivqrb'.replace(re41, ''); + 'ivqrb'.replace(re42, ''); + 'ivqrb'.replace(re43, ''); + 'ivqrb'.replace(re44, ''); + 'ivqrb'.replace(re45, ''); + 'ivqrb'.replace(re46, ''); + 'ivqrb'.replace(re47, ''); + 'ivqrb'.replace(re48, ''); + 'ivfvgf=1'.split(re86); + 'jrggre'.replace(re40, ''); + 'jrggre'.replace(re41, ''); + 'jrggre'.replace(re42, ''); + 'jrggre'.replace(re43, ''); + 'jrggre'.replace(re44, ''); + 'jrggre'.replace(re45, ''); + 'jrggre'.replace(re46, ''); + 'jrggre'.replace(re47, ''); + 'jrggre'.replace(re48, ''); + /#[a-z0-9]+$/i.exec('uggc://jjj.fpuhryreim.arg/Qrsnhyg'); + re66.exec('fryrpgrq'); + /(?:^|\s+)lhv-ani(?:\s+|$)/.exec('sff lhv-ani'); + /(?:^|\s+)lhv-anifrg(?:\s+|$)/.exec('zrqvnzbqgno lhv-anifrg'); + /(?:^|\s+)lhv-anifrg-gbc(?:\s+|$)/.exec('zrqvnzbqgno lhv-anifrg'); + re91.exec('GnoThvq'); + re91.exec('thvq'); + /(pbzcngvoyr|jroxvg)/.exec(str63); + /.+(?:ei|vg|en|vr)[\/: ]([\d.]+)/.exec(str63); + re8.exec('144631658.0.10.1231365869'); + re8.exec('144631658.0.10.1231367054'); + re8.exec('144631658.1231365869.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re8.exec('144631658.1231367054.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re8.exec('144631658.1670816052019209000.1231365869.1231365869.1231365869.1'); + re8.exec('144631658.1796080716621419500.1231367054.1231367054.1231367054.1'); + re8.exec(str94); + re8.exec(str95); + re8.exec(str96); + re8.exec(str97); + re8.exec('__hgzn=144631658.1670816052019209000.1231365869.1231365869.1231365869.1'); + re8.exec('__hgzn=144631658.1796080716621419500.1231367054.1231367054.1231367054.1'); + re8.exec('__hgzo=144631658.0.10.1231365869'); + re8.exec('__hgzo=144631658.0.10.1231367054'); + re8.exec('__hgzm=144631658.1231365869.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re8.exec('__hgzm=144631658.1231367054.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re34.exec(str78); + re34.exec(str79); + re34.exec(str81); + re74.exec(str77); + re74.exec('*'); + re74.exec(str82); + re74.exec(str83); + re74.exec(str86); + re74.exec('rzorq'); + re74.exec('sbez.nwnk'); + re74.exec(str90); + re74.exec('bowrpg'); + /\/onfr.wf(\?.+)?$/.exec('/uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/onfr.wf'); + re28.exec('uvag ynfgUvag ynfg'); + re75.exec(''); + re76.exec(''); + re77.exec(''); + re78.exec(''); + re80.exec(str77); + re80.exec('*'); + re80.exec('.pybfr'); + re80.exec(str82); + re80.exec(str83); + re80.exec(str84); + re80.exec(str86); + re80.exec('qg'); + re80.exec('rzorq'); + re80.exec('sbez.nwnk'); + re80.exec(str90); + re80.exec('bowrpg'); + re61.exec('qlaYvo.wf'); + re61.exec('rssrpgYvo.wf'); + re61.exec('uggc://jjj.tzk.arg/qr/?fgnghf=uvajrvf'); + re92.exec(' .pybfr'); + re92.exec(' n.svryqOgaPnapry'); + re92.exec(' qg'); + re92.exec(str48); + re92.exec('.nwnk'); + re92.exec('.svryqOga,n.svryqOgaPnapry'); + re92.exec('.svryqOgaPnapry'); + re92.exec('.bow-nppbeqvba qg'); + re68.exec(str77); + re68.exec('*'); + re68.exec('.pybfr'); + re68.exec(str82); + re68.exec(str83); + re68.exec(str84); + re68.exec(str86); + re68.exec('qg'); + re68.exec('rzorq'); + re68.exec('sbez.nwnk'); + re68.exec(str90); + re68.exec('bowrpg'); + re93.exec(' .pybfr'); + re93.exec(' n.svryqOgaPnapry'); + re93.exec(' qg'); + re93.exec(str48); + re93.exec('.nwnk'); + re93.exec('.svryqOga,n.svryqOgaPnapry'); + re93.exec('.svryqOgaPnapry'); + re93.exec('.bow-nppbeqvba qg'); + re81.exec(str77); + re81.exec('*'); + re81.exec(str48); + re81.exec('.pybfr'); + re81.exec(str82); + re81.exec(str83); + re81.exec(str84); + re81.exec(str86); + re81.exec('qg'); + re81.exec('rzorq'); + re81.exec('sbez.nwnk'); + re81.exec(str90); + re81.exec('bowrpg'); + re94.exec(' .pybfr'); + re94.exec(' n.svryqOgaPnapry'); + re94.exec(' qg'); + re94.exec(str48); + re94.exec('.nwnk'); + re94.exec('.svryqOga,n.svryqOgaPnapry'); + re94.exec('.svryqOgaPnapry'); + re94.exec('.bow-nppbeqvba qg'); + re94.exec('[anzr=nwnkHey]'); + re94.exec(str82); + re31.exec('rf'); + re31.exec('wn'); + re82.exec(str77); + re82.exec('*'); + re82.exec(str48); + re82.exec('.pybfr'); + re82.exec(str82); + re82.exec(str83); + re82.exec(str84); + re82.exec(str86); + re82.exec('qg'); + re82.exec('rzorq'); + re82.exec('sbez.nwnk'); + re82.exec(str90); + re82.exec('bowrpg'); + re83.exec(str98); + re83.exec('shapgvba sbphf() { [angvir pbqr] }'); + re62.exec('#Ybtva'); + re62.exec('#Ybtva_cnffjbeq'); + re62.exec(str77); + re62.exec('#fubhgobkWf'); + re62.exec('#fubhgobkWfReebe'); + re62.exec('#fubhgobkWfFhpprff'); + re62.exec('*'); + re62.exec(str82); + re62.exec(str83); + re62.exec(str86); + re62.exec('rzorq'); + re62.exec('sbez.nwnk'); + re62.exec(str90); + re62.exec('bowrpg'); + re49.exec('pbagrag'); + re24.exec(str6); + /xbadhrebe/.exec(str63); + /znp/.exec('jva32'); + /zbmvyyn/.exec(str63); + /zfvr/.exec(str63); + /ag\s5\.1/.exec(str63); + /bcren/.exec(str63); + /fnsnev/.exec(str63); + /jva/.exec('jva32'); + /jvaqbjf/.exec(str63); + } + } + + function run() { + for (var i = 0; i < 5; i++) { + runBlock0(); + runBlock1(); + runBlock2(); + runBlock3(); + runBlock4(); + runBlock5(); + runBlock6(); + runBlock7(); + runBlock8(); + runBlock9(); + runBlock10(); + runBlock11(); + } + } + + this.run = run; +} diff --git a/tests/benchmarks/script/v8/tests/richards.js b/tests/benchmarks/script/v8/tests/richards.js new file mode 100644 index 0000000..054928d --- /dev/null +++ b/tests/benchmarks/script/v8/tests/richards.js @@ -0,0 +1,539 @@ +// Copyright 2006-2008 the V8 project authors. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +// This is a JavaScript implementation of the Richards +// benchmark from: +// +// http://www.cl.cam.ac.uk/~mr10/Bench.html +// +// The benchmark was originally implemented in BCPL by +// Martin Richards. + + +var Richards = new BenchmarkSuite('Richards', 35302, [ + new Benchmark("Richards", runRichards) +]); + + +/** + * The Richards benchmark simulates the task dispatcher of an + * operating system. + **/ +function runRichards() { + var scheduler = new Scheduler(); + scheduler.addIdleTask(ID_IDLE, 0, null, COUNT); + + var queue = new Packet(null, ID_WORKER, KIND_WORK); + queue = new Packet(queue, ID_WORKER, KIND_WORK); + scheduler.addWorkerTask(ID_WORKER, 1000, queue); + + queue = new Packet(null, ID_DEVICE_A, KIND_DEVICE); + queue = new Packet(queue, ID_DEVICE_A, KIND_DEVICE); + queue = new Packet(queue, ID_DEVICE_A, KIND_DEVICE); + scheduler.addHandlerTask(ID_HANDLER_A, 2000, queue); + + queue = new Packet(null, ID_DEVICE_B, KIND_DEVICE); + queue = new Packet(queue, ID_DEVICE_B, KIND_DEVICE); + queue = new Packet(queue, ID_DEVICE_B, KIND_DEVICE); + scheduler.addHandlerTask(ID_HANDLER_B, 3000, queue); + + scheduler.addDeviceTask(ID_DEVICE_A, 4000, null); + + scheduler.addDeviceTask(ID_DEVICE_B, 5000, null); + + scheduler.schedule(); + + if (scheduler.queueCount != EXPECTED_QUEUE_COUNT || + scheduler.holdCount != EXPECTED_HOLD_COUNT) { + var msg = + "Error during execution: queueCount = " + scheduler.queueCount + + ", holdCount = " + scheduler.holdCount + "."; + throw new Error(msg); + } +} + +var COUNT = 1000; + +/** + * These two constants specify how many times a packet is queued and + * how many times a task is put on hold in a correct run of richards. + * They don't have any meaning a such but are characteristic of a + * correct run so if the actual queue or hold count is different from + * the expected there must be a bug in the implementation. + **/ +var EXPECTED_QUEUE_COUNT = 2322; +var EXPECTED_HOLD_COUNT = 928; + + +/** + * A scheduler can be used to schedule a set of tasks based on their relative + * priorities. Scheduling is done by maintaining a list of task control blocks + * which holds tasks and the data queue they are processing. + * @constructor + */ +function Scheduler() { + this.queueCount = 0; + this.holdCount = 0; + this.blocks = new Array(NUMBER_OF_IDS); + this.list = null; + this.currentTcb = null; + this.currentId = null; +} + +var ID_IDLE = 0; +var ID_WORKER = 1; +var ID_HANDLER_A = 2; +var ID_HANDLER_B = 3; +var ID_DEVICE_A = 4; +var ID_DEVICE_B = 5; +var NUMBER_OF_IDS = 6; + +var KIND_DEVICE = 0; +var KIND_WORK = 1; + +/** + * Add an idle task to this scheduler. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + * @param {int} count the number of times to schedule the task + */ +Scheduler.prototype.addIdleTask = function (id, priority, queue, count) { + this.addRunningTask(id, priority, queue, new IdleTask(this, 1, count)); +}; + +/** + * Add a work task to this scheduler. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + */ +Scheduler.prototype.addWorkerTask = function (id, priority, queue) { + this.addTask(id, priority, queue, new WorkerTask(this, ID_HANDLER_A, 0)); +}; + +/** + * Add a handler task to this scheduler. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + */ +Scheduler.prototype.addHandlerTask = function (id, priority, queue) { + this.addTask(id, priority, queue, new HandlerTask(this)); +}; + +/** + * Add a handler task to this scheduler. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + */ +Scheduler.prototype.addDeviceTask = function (id, priority, queue) { + this.addTask(id, priority, queue, new DeviceTask(this)) +}; + +/** + * Add the specified task and mark it as running. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + * @param {Task} task the task to add + */ +Scheduler.prototype.addRunningTask = function (id, priority, queue, task) { + this.addTask(id, priority, queue, task); + this.currentTcb.setRunning(); +}; + +/** + * Add the specified task to this scheduler. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + * @param {Task} task the task to add + */ +Scheduler.prototype.addTask = function (id, priority, queue, task) { + this.currentTcb = new TaskControlBlock(this.list, id, priority, queue, task); + this.list = this.currentTcb; + this.blocks[id] = this.currentTcb; +}; + +/** + * Execute the tasks managed by this scheduler. + */ +Scheduler.prototype.schedule = function () { + this.currentTcb = this.list; + while (this.currentTcb != null) { + if (this.currentTcb.isHeldOrSuspended()) { + this.currentTcb = this.currentTcb.link; + } else { + this.currentId = this.currentTcb.id; + this.currentTcb = this.currentTcb.run(); + } + } +}; + +/** + * Release a task that is currently blocked and return the next block to run. + * @param {int} id the id of the task to suspend + */ +Scheduler.prototype.release = function (id) { + var tcb = this.blocks[id]; + if (tcb == null) return tcb; + tcb.markAsNotHeld(); + if (tcb.priority > this.currentTcb.priority) { + return tcb; + } else { + return this.currentTcb; + } +}; + +/** + * Block the currently executing task and return the next task control block + * to run. The blocked task will not be made runnable until it is explicitly + * released, even if new work is added to it. + */ +Scheduler.prototype.holdCurrent = function () { + this.holdCount++; + this.currentTcb.markAsHeld(); + return this.currentTcb.link; +}; + +/** + * Suspend the currently executing task and return the next task control block + * to run. If new work is added to the suspended task it will be made runnable. + */ +Scheduler.prototype.suspendCurrent = function () { + this.currentTcb.markAsSuspended(); + return this.currentTcb; +}; + +/** + * Add the specified packet to the end of the worklist used by the task + * associated with the packet and make the task runnable if it is currently + * suspended. + * @param {Packet} packet the packet to add + */ +Scheduler.prototype.queue = function (packet) { + var t = this.blocks[packet.id]; + if (t == null) return t; + this.queueCount++; + packet.link = null; + packet.id = this.currentId; + return t.checkPriorityAdd(this.currentTcb, packet); +}; + +/** + * A task control block manages a task and the queue of work packages associated + * with it. + * @param {TaskControlBlock} link the preceding block in the linked block list + * @param {int} id the id of this block + * @param {int} priority the priority of this block + * @param {Packet} queue the queue of packages to be processed by the task + * @param {Task} task the task + * @constructor + */ +function TaskControlBlock(link, id, priority, queue, task) { + this.link = link; + this.id = id; + this.priority = priority; + this.queue = queue; + this.task = task; + if (queue == null) { + this.state = STATE_SUSPENDED; + } else { + this.state = STATE_SUSPENDED_RUNNABLE; + } +} + +/** + * The task is running and is currently scheduled. + */ +var STATE_RUNNING = 0; + +/** + * The task has packets left to process. + */ +var STATE_RUNNABLE = 1; + +/** + * The task is not currently running. The task is not blocked as such and may +* be started by the scheduler. + */ +var STATE_SUSPENDED = 2; + +/** + * The task is blocked and cannot be run until it is explicitly released. + */ +var STATE_HELD = 4; + +var STATE_SUSPENDED_RUNNABLE = STATE_SUSPENDED | STATE_RUNNABLE; +var STATE_NOT_HELD = ~STATE_HELD; + +TaskControlBlock.prototype.setRunning = function () { + this.state = STATE_RUNNING; +}; + +TaskControlBlock.prototype.markAsNotHeld = function () { + this.state = this.state & STATE_NOT_HELD; +}; + +TaskControlBlock.prototype.markAsHeld = function () { + this.state = this.state | STATE_HELD; +}; + +TaskControlBlock.prototype.isHeldOrSuspended = function () { + return (this.state & STATE_HELD) != 0 || (this.state == STATE_SUSPENDED); +}; + +TaskControlBlock.prototype.markAsSuspended = function () { + this.state = this.state | STATE_SUSPENDED; +}; + +TaskControlBlock.prototype.markAsRunnable = function () { + this.state = this.state | STATE_RUNNABLE; +}; + +/** + * Runs this task, if it is ready to be run, and returns the next task to run. + */ +TaskControlBlock.prototype.run = function () { + var packet; + if (this.state == STATE_SUSPENDED_RUNNABLE) { + packet = this.queue; + this.queue = packet.link; + if (this.queue == null) { + this.state = STATE_RUNNING; + } else { + this.state = STATE_RUNNABLE; + } + } else { + packet = null; + } + return this.task.run(packet); +}; + +/** + * Adds a packet to the worklist of this block's task, marks this as runnable if + * necessary, and returns the next runnable object to run (the one + * with the highest priority). + */ +TaskControlBlock.prototype.checkPriorityAdd = function (task, packet) { + if (this.queue == null) { + this.queue = packet; + this.markAsRunnable(); + if (this.priority > task.priority) return this; + } else { + this.queue = packet.addTo(this.queue); + } + return task; +}; + +TaskControlBlock.prototype.toString = function () { + return "tcb { " + this.task + "@" + this.state + " }"; +}; + +/** + * An idle task doesn't do any work itself but cycles control between the two + * device tasks. + * @param {Scheduler} scheduler the scheduler that manages this task + * @param {int} v1 a seed value that controls how the device tasks are scheduled + * @param {int} count the number of times this task should be scheduled + * @constructor + */ +function IdleTask(scheduler, v1, count) { + this.scheduler = scheduler; + this.v1 = v1; + this.count = count; +} + +IdleTask.prototype.run = function (packet) { + this.count--; + if (this.count == 0) return this.scheduler.holdCurrent(); + if ((this.v1 & 1) == 0) { + this.v1 = this.v1 >> 1; + return this.scheduler.release(ID_DEVICE_A); + } else { + this.v1 = (this.v1 >> 1) ^ 0xD008; + return this.scheduler.release(ID_DEVICE_B); + } +}; + +IdleTask.prototype.toString = function () { + return "IdleTask" +}; + +/** + * A task that suspends itself after each time it has been run to simulate + * waiting for data from an external device. + * @param {Scheduler} scheduler the scheduler that manages this task + * @constructor + */ +function DeviceTask(scheduler) { + this.scheduler = scheduler; + this.v1 = null; +} + +DeviceTask.prototype.run = function (packet) { + if (packet == null) { + if (this.v1 == null) return this.scheduler.suspendCurrent(); + var v = this.v1; + this.v1 = null; + return this.scheduler.queue(v); + } else { + this.v1 = packet; + return this.scheduler.holdCurrent(); + } +}; + +DeviceTask.prototype.toString = function () { + return "DeviceTask"; +}; + +/** + * A task that manipulates work packets. + * @param {Scheduler} scheduler the scheduler that manages this task + * @param {int} v1 a seed used to specify how work packets are manipulated + * @param {int} v2 another seed used to specify how work packets are manipulated + * @constructor + */ +function WorkerTask(scheduler, v1, v2) { + this.scheduler = scheduler; + this.v1 = v1; + this.v2 = v2; +} + +WorkerTask.prototype.run = function (packet) { + if (packet == null) { + return this.scheduler.suspendCurrent(); + } else { + if (this.v1 == ID_HANDLER_A) { + this.v1 = ID_HANDLER_B; + } else { + this.v1 = ID_HANDLER_A; + } + packet.id = this.v1; + packet.a1 = 0; + for (var i = 0; i < DATA_SIZE; i++) { + this.v2++; + if (this.v2 > 26) this.v2 = 1; + packet.a2[i] = this.v2; + } + return this.scheduler.queue(packet); + } +}; + +WorkerTask.prototype.toString = function () { + return "WorkerTask"; +}; + +/** + * A task that manipulates work packets and then suspends itself. + * @param {Scheduler} scheduler the scheduler that manages this task + * @constructor + */ +function HandlerTask(scheduler) { + this.scheduler = scheduler; + this.v1 = null; + this.v2 = null; +} + +HandlerTask.prototype.run = function (packet) { + if (packet != null) { + if (packet.kind == KIND_WORK) { + this.v1 = packet.addTo(this.v1); + } else { + this.v2 = packet.addTo(this.v2); + } + } + if (this.v1 != null) { + var count = this.v1.a1; + var v; + if (count < DATA_SIZE) { + if (this.v2 != null) { + v = this.v2; + this.v2 = this.v2.link; + v.a1 = this.v1.a2[count]; + this.v1.a1 = count + 1; + return this.scheduler.queue(v); + } + } else { + v = this.v1; + this.v1 = this.v1.link; + return this.scheduler.queue(v); + } + } + return this.scheduler.suspendCurrent(); +}; + +HandlerTask.prototype.toString = function () { + return "HandlerTask"; +}; + +/* --- * + * P a c k e t + * --- */ + +var DATA_SIZE = 4; + +/** + * A simple package of data that is manipulated by the tasks. The exact layout + * of the payload data carried by a packet is not importaint, and neither is the + * nature of the work performed on packets by the tasks. + * + * Besides carrying data, packets form linked lists and are hence used both as + * data and worklists. + * @param {Packet} link the tail of the linked list of packets + * @param {int} id an ID for this packet + * @param {int} kind the type of this packet + * @constructor + */ +function Packet(link, id, kind) { + this.link = link; + this.id = id; + this.kind = kind; + this.a1 = 0; + this.a2 = new Array(DATA_SIZE); +} + +/** + * Add this packet to the end of a worklist, and return the worklist. + * @param {Packet} queue the worklist to add this packet to + */ +Packet.prototype.addTo = function (queue) { + this.link = null; + if (queue == null) return this; + var peek, next = queue; + while ((peek = next.link) != null) + next = peek; + next.link = this; + return queue; +}; + +Packet.prototype.toString = function () { + return "Packet"; +}; diff --git a/tests/benchmarks/script/v8/tests/splay.js b/tests/benchmarks/script/v8/tests/splay.js new file mode 100644 index 0000000..6b4f56d --- /dev/null +++ b/tests/benchmarks/script/v8/tests/splay.js @@ -0,0 +1,394 @@ +// Copyright 2009 the V8 project authors. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This benchmark is based on a JavaScript log processing module used +// by the V8 profiler to generate execution time profiles for runs of +// JavaScript applications, and it effectively measures how fast the +// JavaScript engine is at allocating nodes and reclaiming the memory +// used for old nodes. Because of the way splay trees work, the engine +// also has to deal with a lot of changes to the large tree object +// graph. + +var Splay = new BenchmarkSuite('Splay', 81491, [ + new Benchmark("Splay", SplayRun, SplaySetup, SplayTearDown) +]); + + +// Configuration. +var kSplayTreeSize = 8000; +var kSplayTreeModifications = 80; +var kSplayTreePayloadDepth = 5; + +var splayTree = null; + + +function GeneratePayloadTree(depth, tag) { + if (depth == 0) { + return { + array : [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ], + string : 'String for key ' + tag + ' in leaf node' + }; + } else { + return { + left: GeneratePayloadTree(depth - 1, tag), + right: GeneratePayloadTree(depth - 1, tag) + }; + } +} + + +function GenerateKey() { + // The benchmark framework guarantees that Math.random is + // deterministic; see base.js. + return Math.random(); +} + + +function InsertNewNode() { + // Insert new node with a unique key. + var key; + do { + key = GenerateKey(); + } while (splayTree.find(key) != null); + var payload = GeneratePayloadTree(kSplayTreePayloadDepth, String(key)); + splayTree.insert(key, payload); + return key; +} + + + +function SplaySetup() { + splayTree = new SplayTree(); + for (var i = 0; i < kSplayTreeSize; i++) InsertNewNode(); +} + + +function SplayTearDown() { + // Allow the garbage collector to reclaim the memory + // used by the splay tree no matter how we exit the + // tear down function. + var keys = splayTree.exportKeys(); + splayTree = null; + + // Verify that the splay tree has the right size. + var length = keys.length; + if (length != kSplayTreeSize) { + throw new Error("Splay tree has wrong size"); + } + + // Verify that the splay tree has sorted, unique keys. + for (var i = 0; i < length - 1; i++) { + if (keys[i] >= keys[i + 1]) { + throw new Error("Splay tree not sorted"); + } + } +} + + +function SplayRun() { + // Replace a few nodes in the splay tree. + for (var i = 0; i < kSplayTreeModifications; i++) { + var key = InsertNewNode(); + var greatest = splayTree.findGreatestLessThan(key); + if (greatest == null) splayTree.remove(key); + else splayTree.remove(greatest.key); + } +} + + +/** + * Constructs a Splay tree. A splay tree is a self-balancing binary + * search tree with the additional property that recently accessed + * elements are quick to access again. It performs basic operations + * such as insertion, look-up and removal in O(log(n)) amortized time. + * + * @constructor + */ +function SplayTree() { +}; + + +/** + * Pointer to the root node of the tree. + * + * @type {SplayTree.Node} + * @private + */ +SplayTree.prototype.root_ = null; + + +/** + * @return {boolean} Whether the tree is empty. + */ +SplayTree.prototype.isEmpty = function() { + return !this.root_; +}; + + +/** + * Inserts a node into the tree with the specified key and value if + * the tree does not already contain a node with the specified key. If + * the value is inserted, it becomes the root of the tree. + * + * @param {number} key Key to insert into the tree. + * @param {*} value Value to insert into the tree. + */ +SplayTree.prototype.insert = function(key, value) { + if (this.isEmpty()) { + this.root_ = new SplayTree.Node(key, value); + return; + } + // Splay on the key to move the last node on the search path for + // the key to the root of the tree. + this.splay_(key); + if (this.root_.key == key) { + return; + } + var node = new SplayTree.Node(key, value); + if (key > this.root_.key) { + node.left = this.root_; + node.right = this.root_.right; + this.root_.right = null; + } else { + node.right = this.root_; + node.left = this.root_.left; + this.root_.left = null; + } + this.root_ = node; +}; + + +/** + * Removes a node with the specified key from the tree if the tree + * contains a node with this key. The removed node is returned. If the + * key is not found, an exception is thrown. + * + * @param {number} key Key to find and remove from the tree. + * @return {SplayTree.Node} The removed node. + */ +SplayTree.prototype.remove = function(key) { + if (this.isEmpty()) { + throw Error('Key not found: ' + key); + } + this.splay_(key); + if (this.root_.key != key) { + throw Error('Key not found: ' + key); + } + var removed = this.root_; + if (!this.root_.left) { + this.root_ = this.root_.right; + } else { + var right = this.root_.right; + this.root_ = this.root_.left; + // Splay to make sure that the new root has an empty right child. + this.splay_(key); + // Insert the original right child as the right child of the new + // root. + this.root_.right = right; + } + return removed; +}; + + +/** + * Returns the node having the specified key or null if the tree doesn't contain + * a node with the specified key. + * + * @param {number} key Key to find in the tree. + * @return {SplayTree.Node} Node having the specified key. + */ +SplayTree.prototype.find = function(key) { + if (this.isEmpty()) { + return null; + } + this.splay_(key); + return this.root_.key == key ? this.root_ : null; +}; + + +/** + * @return {SplayTree.Node} Node having the maximum key value. + */ +SplayTree.prototype.findMax = function(opt_startNode) { + if (this.isEmpty()) { + return null; + } + var current = opt_startNode || this.root_; + while (current.right) { + current = current.right; + } + return current; +}; + + +/** + * @return {SplayTree.Node} Node having the maximum key value that + * is less than the specified key value. + */ +SplayTree.prototype.findGreatestLessThan = function(key) { + if (this.isEmpty()) { + return null; + } + // Splay on the key to move the node with the given key or the last + // node on the search path to the top of the tree. + this.splay_(key); + // Now the result is either the root node or the greatest node in + // the left subtree. + if (this.root_.key < key) { + return this.root_; + } else if (this.root_.left) { + return this.findMax(this.root_.left); + } else { + return null; + } +}; + + +/** + * @return {Array<*>} An array containing all the keys of tree's nodes. + */ +SplayTree.prototype.exportKeys = function() { + var result = []; + if (!this.isEmpty()) { + this.root_.traverse_(function(node) { result.push(node.key); }); + } + return result; +}; + + +/** + * Perform the splay operation for the given key. Moves the node with + * the given key to the top of the tree. If no node has the given + * key, the last node on the search path is moved to the top of the + * tree. This is the simplified top-down splaying algorithm from: + * "Self-adjusting Binary Search Trees" by Sleator and Tarjan + * + * @param {number} key Key to splay the tree on. + * @private + */ +SplayTree.prototype.splay_ = function(key) { + if (this.isEmpty()) { + return; + } + // Create a dummy node. The use of the dummy node is a bit + // counter-intuitive: The right child of the dummy node will hold + // the L tree of the algorithm. The left child of the dummy node + // will hold the R tree of the algorithm. Using a dummy node, left + // and right will always be nodes and we avoid special cases. + var dummy, left, right; + dummy = left = right = new SplayTree.Node(null, null); + var current = this.root_; + while (true) { + if (key < current.key) { + if (!current.left) { + break; + } + if (key < current.left.key) { + // Rotate right. + var tmp = current.left; + current.left = tmp.right; + tmp.right = current; + current = tmp; + if (!current.left) { + break; + } + } + // Link right. + right.left = current; + right = current; + current = current.left; + } else if (key > current.key) { + if (!current.right) { + break; + } + if (key > current.right.key) { + // Rotate left. + var tmp = current.right; + current.right = tmp.left; + tmp.left = current; + current = tmp; + if (!current.right) { + break; + } + } + // Link left. + left.right = current; + left = current; + current = current.right; + } else { + break; + } + } + // Assemble. + left.right = current.left; + right.left = current.right; + current.left = dummy.right; + current.right = dummy.left; + this.root_ = current; +}; + + +/** + * Constructs a Splay tree node. + * + * @param {number} key Key. + * @param {*} value Value. + */ +SplayTree.Node = function(key, value) { + this.key = key; + this.value = value; +}; + + +/** + * @type {SplayTree.Node} + */ +SplayTree.Node.prototype.left = null; + + +/** + * @type {SplayTree.Node} + */ +SplayTree.Node.prototype.right = null; + + +/** + * Performs an ordered traversal of the subtree starting at + * this SplayTree.Node. + * + * @param {function(SplayTree.Node)} f Visitor function. + * @private + */ +SplayTree.Node.prototype.traverse_ = function(f) { + var current = this; + while (current) { + var left = current.left; + if (left) left.traverse_(f); + f(current); + current = current.right; + } +}; diff --git a/tests/benchmarks/script/v8/tst_v8.cpp b/tests/benchmarks/script/v8/tst_v8.cpp new file mode 100644 index 0000000..f8297e2 --- /dev/null +++ b/tests/benchmarks/script/v8/tst_v8.cpp @@ -0,0 +1,142 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include +#include +#include +#include +#include + +#if defined(Q_OS_SYMBIAN) +# define SRCDIR "" +#endif + +//TESTED_FILES= + +static QString readFile(const QString &filename) +{ + QFile file(filename); + if (!file.open(QFile::ReadOnly)) + return QString(); + QTextStream stream(&file); + stream.setCodec("UTF-8"); + return stream.readAll(); +} + +class tst_V8 : public QObject +{ + Q_OBJECT + +public: + tst_V8(); + virtual ~tst_V8(); + +public slots: + void init(); + void cleanup(); + +private slots: + void benchmark_data(); + void benchmark(); + +private: + QDir testsDir; +}; + +tst_V8::tst_V8() +{ + testsDir = QDir(SRCDIR); + bool testsFound = testsDir.cd("tests"); + if (!testsFound) + qWarning("*** no tests/ dir!"); +} + +tst_V8::~tst_V8() +{ +} + +void tst_V8::init() +{ +} + +void tst_V8::cleanup() +{ +} + +void tst_V8::benchmark_data() +{ + QTest::addColumn("testName"); + QFileInfoList testFileInfos = testsDir.entryInfoList(QStringList() << "*.js", QDir::Files); + foreach (QFileInfo tfi, testFileInfos) { + QString name = tfi.baseName(); + if (name == QString::fromLatin1("base")) { + // base.js contains the benchmark library, it's not a test. + continue; + } + QTest::newRow(name.toLatin1().constData()) << name; + } +} + +void tst_V8::benchmark() +{ + QFETCH(QString, testName); + + QString baseDotJsContents = readFile(testsDir.absoluteFilePath("base.js")); + QVERIFY(!baseDotJsContents.isEmpty()); + + QString testContents = readFile(testsDir.absoluteFilePath(testName + ".js")); + QVERIFY(!testContents.isEmpty()); + + QScriptEngine engine; + engine.evaluate(baseDotJsContents); + QVERIFY(!engine.hasUncaughtException()); + engine.evaluate(testContents); + QVERIFY(!engine.hasUncaughtException()); + + QBENCHMARK { + engine.evaluate("BenchmarkSuite.RunSuites({})"); + } + QVERIFY(!engine.hasUncaughtException()); +} + +QTEST_MAIN(tst_V8) +#include "tst_v8.moc" diff --git a/tests/benchmarks/script/v8/v8.pro b/tests/benchmarks/script/v8/v8.pro new file mode 100644 index 0000000..e55fd7f --- /dev/null +++ b/tests/benchmarks/script/v8/v8.pro @@ -0,0 +1,20 @@ +load(qttest_p4) +TEMPLATE = app +TARGET = tst_bench_v8 + +SOURCES += tst_v8.cpp + +QT = core script + +!symbian:DEFINES += SRCDIR=\\\"$$PWD\\\" + +wince*|symbian: { +testFiles.sources = tests +testFiles.path = . +DEPLOYMENT += testFiles +} + +symbian* { + TARGET.EPOCHEAPSIZE = 0x20000 0x2000000 // Min 128kB, Max 32MB + TARGET.EPOCSTACKSIZE = 0x14000 +} -- cgit v0.12 From f2a68528ba235d5170806dad7007652842774798 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Mon, 1 Nov 2010 15:22:15 +0100 Subject: Import SunSpider benchmarks for QtScript Gives us an easy way to check pure JS performance whenever we update QtScript's back-end. QTestLib integration also means that the performance can be readily tracked over time by Qt's QA systems. Reviewed-by: Jedrzej Nowacki --- tests/benchmarks/script/sunspider/sunspider.pro | 20 + tests/benchmarks/script/sunspider/tests/3d-cube.js | 337 ++++ .../benchmarks/script/sunspider/tests/3d-morph.js | 54 + .../script/sunspider/tests/3d-raytrace.js | 441 +++++ .../script/sunspider/tests/access-binary-trees.js | 50 + .../script/sunspider/tests/access-fannkuch.js | 66 + .../script/sunspider/tests/access-nbody.js | 169 ++ .../script/sunspider/tests/access-nsieve.js | 38 + .../sunspider/tests/bitops-3bit-bits-in-byte.js | 32 + .../script/sunspider/tests/bitops-bits-in-byte.js | 21 + .../script/sunspider/tests/bitops-bitwise-and.js | 28 + .../script/sunspider/tests/bitops-nsieve-bits.js | 32 + .../sunspider/tests/controlflow-recursive.js | 25 + .../script/sunspider/tests/crypto-aes.js | 422 +++++ .../script/sunspider/tests/crypto-md5.js | 286 ++++ .../script/sunspider/tests/crypto-sha1.js | 224 +++ .../script/sunspider/tests/date-format-tofte.js | 299 ++++ .../script/sunspider/tests/date-format-xparb.js | 417 +++++ .../script/sunspider/tests/math-cordic.js | 95 ++ .../script/sunspider/tests/math-partial-sums.js | 33 + .../script/sunspider/tests/math-spectral-norm.js | 51 + .../script/sunspider/tests/regexp-dna.js | 1712 ++++++++++++++++++++ .../script/sunspider/tests/string-base64.js | 135 ++ .../script/sunspider/tests/string-fasta.js | 85 + .../script/sunspider/tests/string-tagcloud.js | 265 +++ .../script/sunspider/tests/string-unpack-code.js | 68 + .../sunspider/tests/string-validate-input.js | 89 + .../benchmarks/script/sunspider/tst_sunspider.cpp | 129 ++ 28 files changed, 5623 insertions(+) create mode 100644 tests/benchmarks/script/sunspider/sunspider.pro create mode 100644 tests/benchmarks/script/sunspider/tests/3d-cube.js create mode 100644 tests/benchmarks/script/sunspider/tests/3d-morph.js create mode 100644 tests/benchmarks/script/sunspider/tests/3d-raytrace.js create mode 100644 tests/benchmarks/script/sunspider/tests/access-binary-trees.js create mode 100644 tests/benchmarks/script/sunspider/tests/access-fannkuch.js create mode 100644 tests/benchmarks/script/sunspider/tests/access-nbody.js create mode 100644 tests/benchmarks/script/sunspider/tests/access-nsieve.js create mode 100644 tests/benchmarks/script/sunspider/tests/bitops-3bit-bits-in-byte.js create mode 100644 tests/benchmarks/script/sunspider/tests/bitops-bits-in-byte.js create mode 100644 tests/benchmarks/script/sunspider/tests/bitops-bitwise-and.js create mode 100644 tests/benchmarks/script/sunspider/tests/bitops-nsieve-bits.js create mode 100644 tests/benchmarks/script/sunspider/tests/controlflow-recursive.js create mode 100644 tests/benchmarks/script/sunspider/tests/crypto-aes.js create mode 100644 tests/benchmarks/script/sunspider/tests/crypto-md5.js create mode 100644 tests/benchmarks/script/sunspider/tests/crypto-sha1.js create mode 100644 tests/benchmarks/script/sunspider/tests/date-format-tofte.js create mode 100644 tests/benchmarks/script/sunspider/tests/date-format-xparb.js create mode 100644 tests/benchmarks/script/sunspider/tests/math-cordic.js create mode 100644 tests/benchmarks/script/sunspider/tests/math-partial-sums.js create mode 100644 tests/benchmarks/script/sunspider/tests/math-spectral-norm.js create mode 100644 tests/benchmarks/script/sunspider/tests/regexp-dna.js create mode 100644 tests/benchmarks/script/sunspider/tests/string-base64.js create mode 100644 tests/benchmarks/script/sunspider/tests/string-fasta.js create mode 100644 tests/benchmarks/script/sunspider/tests/string-tagcloud.js create mode 100644 tests/benchmarks/script/sunspider/tests/string-unpack-code.js create mode 100644 tests/benchmarks/script/sunspider/tests/string-validate-input.js create mode 100644 tests/benchmarks/script/sunspider/tst_sunspider.cpp diff --git a/tests/benchmarks/script/sunspider/sunspider.pro b/tests/benchmarks/script/sunspider/sunspider.pro new file mode 100644 index 0000000..431505b --- /dev/null +++ b/tests/benchmarks/script/sunspider/sunspider.pro @@ -0,0 +1,20 @@ +load(qttest_p4) +TEMPLATE = app +TARGET = tst_bench_sunspider + +SOURCES += tst_sunspider.cpp + +QT = core script + +!symbian:DEFINES += SRCDIR=\\\"$$PWD\\\" + +wince*|symbian: { +testFiles.sources = tests +testFiles.path = . +DEPLOYMENT += testFiles +} + +symbian* { + TARGET.EPOCHEAPSIZE = 0x20000 0x2000000 // Min 128kB, Max 32MB + TARGET.EPOCSTACKSIZE = 0x14000 +} diff --git a/tests/benchmarks/script/sunspider/tests/3d-cube.js b/tests/benchmarks/script/sunspider/tests/3d-cube.js new file mode 100644 index 0000000..e2cd6f9 --- /dev/null +++ b/tests/benchmarks/script/sunspider/tests/3d-cube.js @@ -0,0 +1,337 @@ +// 3D Cube Rotation +// http://www.speich.net/computer/moztesting/3d.htm +// Created by Simon Speich + +var Q = new Array(); +var MTrans = new Array(); // transformation matrix +var MQube = new Array(); // position information of qube +var I = new Array(); // entity matrix +var Origin = new Object(); +var Testing = new Object(); +var LoopTimer; + +var DisplArea = new Object(); +DisplArea.Width = 300; +DisplArea.Height = 300; + +function DrawLine(From, To) { + var x1 = From.V[0]; + var x2 = To.V[0]; + var y1 = From.V[1]; + var y2 = To.V[1]; + var dx = Math.abs(x2 - x1); + var dy = Math.abs(y2 - y1); + var x = x1; + var y = y1; + var IncX1, IncY1; + var IncX2, IncY2; + var Den; + var Num; + var NumAdd; + var NumPix; + + if (x2 >= x1) { IncX1 = 1; IncX2 = 1; } + else { IncX1 = -1; IncX2 = -1; } + if (y2 >= y1) { IncY1 = 1; IncY2 = 1; } + else { IncY1 = -1; IncY2 = -1; } + if (dx >= dy) { + IncX1 = 0; + IncY2 = 0; + Den = dx; + Num = dx / 2; + NumAdd = dy; + NumPix = dx; + } + else { + IncX2 = 0; + IncY1 = 0; + Den = dy; + Num = dy / 2; + NumAdd = dx; + NumPix = dy; + } + + NumPix = Math.round(Q.LastPx + NumPix); + + var i = Q.LastPx; + for (; i < NumPix; i++) { + Num += NumAdd; + if (Num >= Den) { + Num -= Den; + x += IncX1; + y += IncY1; + } + x += IncX2; + y += IncY2; + } + Q.LastPx = NumPix; +} + +function CalcCross(V0, V1) { + var Cross = new Array(); + Cross[0] = V0[1]*V1[2] - V0[2]*V1[1]; + Cross[1] = V0[2]*V1[0] - V0[0]*V1[2]; + Cross[2] = V0[0]*V1[1] - V0[1]*V1[0]; + return Cross; +} + +function CalcNormal(V0, V1, V2) { + var A = new Array(); var B = new Array(); + for (var i = 0; i < 3; i++) { + A[i] = V0[i] - V1[i]; + B[i] = V2[i] - V1[i]; + } + A = CalcCross(A, B); + var Length = Math.sqrt(A[0]*A[0] + A[1]*A[1] + A[2]*A[2]); + for (var i = 0; i < 3; i++) A[i] = A[i] / Length; + A[3] = 1; + return A; +} + +function CreateP(X,Y,Z) { + this.V = [X,Y,Z,1]; +} + +// multiplies two matrices +function MMulti(M1, M2) { + var M = [[],[],[],[]]; + var i = 0; + var j = 0; + for (; i < 4; i++) { + j = 0; + for (; j < 4; j++) M[i][j] = M1[i][0] * M2[0][j] + M1[i][1] * M2[1][j] + M1[i][2] * M2[2][j] + M1[i][3] * M2[3][j]; + } + return M; +} + +//multiplies matrix with vector +function VMulti(M, V) { + var Vect = new Array(); + var i = 0; + for (;i < 4; i++) Vect[i] = M[i][0] * V[0] + M[i][1] * V[1] + M[i][2] * V[2] + M[i][3] * V[3]; + return Vect; +} + +function VMulti2(M, V) { + var Vect = new Array(); + var i = 0; + for (;i < 3; i++) Vect[i] = M[i][0] * V[0] + M[i][1] * V[1] + M[i][2] * V[2]; + return Vect; +} + +// add to matrices +function MAdd(M1, M2) { + var M = [[],[],[],[]]; + var i = 0; + var j = 0; + for (; i < 4; i++) { + j = 0; + for (; j < 4; j++) M[i][j] = M1[i][j] + M2[i][j]; + } + return M; +} + +function Translate(M, Dx, Dy, Dz) { + var T = [ + [1,0,0,Dx], + [0,1,0,Dy], + [0,0,1,Dz], + [0,0,0,1] + ]; + return MMulti(T, M); +} + +function RotateX(M, Phi) { + var a = Phi; + a *= Math.PI / 180; + var Cos = Math.cos(a); + var Sin = Math.sin(a); + var R = [ + [1,0,0,0], + [0,Cos,-Sin,0], + [0,Sin,Cos,0], + [0,0,0,1] + ]; + return MMulti(R, M); +} + +function RotateY(M, Phi) { + var a = Phi; + a *= Math.PI / 180; + var Cos = Math.cos(a); + var Sin = Math.sin(a); + var R = [ + [Cos,0,Sin,0], + [0,1,0,0], + [-Sin,0,Cos,0], + [0,0,0,1] + ]; + return MMulti(R, M); +} + +function RotateZ(M, Phi) { + var a = Phi; + a *= Math.PI / 180; + var Cos = Math.cos(a); + var Sin = Math.sin(a); + var R = [ + [Cos,-Sin,0,0], + [Sin,Cos,0,0], + [0,0,1,0], + [0,0,0,1] + ]; + return MMulti(R, M); +} + +function DrawQube() { + // calc current normals + var CurN = new Array(); + var i = 5; + Q.LastPx = 0; + for (; i > -1; i--) CurN[i] = VMulti2(MQube, Q.Normal[i]); + if (CurN[0][2] < 0) { + if (!Q.Line[0]) { DrawLine(Q[0], Q[1]); Q.Line[0] = true; }; + if (!Q.Line[1]) { DrawLine(Q[1], Q[2]); Q.Line[1] = true; }; + if (!Q.Line[2]) { DrawLine(Q[2], Q[3]); Q.Line[2] = true; }; + if (!Q.Line[3]) { DrawLine(Q[3], Q[0]); Q.Line[3] = true; }; + } + if (CurN[1][2] < 0) { + if (!Q.Line[2]) { DrawLine(Q[3], Q[2]); Q.Line[2] = true; }; + if (!Q.Line[9]) { DrawLine(Q[2], Q[6]); Q.Line[9] = true; }; + if (!Q.Line[6]) { DrawLine(Q[6], Q[7]); Q.Line[6] = true; }; + if (!Q.Line[10]) { DrawLine(Q[7], Q[3]); Q.Line[10] = true; }; + } + if (CurN[2][2] < 0) { + if (!Q.Line[4]) { DrawLine(Q[4], Q[5]); Q.Line[4] = true; }; + if (!Q.Line[5]) { DrawLine(Q[5], Q[6]); Q.Line[5] = true; }; + if (!Q.Line[6]) { DrawLine(Q[6], Q[7]); Q.Line[6] = true; }; + if (!Q.Line[7]) { DrawLine(Q[7], Q[4]); Q.Line[7] = true; }; + } + if (CurN[3][2] < 0) { + if (!Q.Line[4]) { DrawLine(Q[4], Q[5]); Q.Line[4] = true; }; + if (!Q.Line[8]) { DrawLine(Q[5], Q[1]); Q.Line[8] = true; }; + if (!Q.Line[0]) { DrawLine(Q[1], Q[0]); Q.Line[0] = true; }; + if (!Q.Line[11]) { DrawLine(Q[0], Q[4]); Q.Line[11] = true; }; + } + if (CurN[4][2] < 0) { + if (!Q.Line[11]) { DrawLine(Q[4], Q[0]); Q.Line[11] = true; }; + if (!Q.Line[3]) { DrawLine(Q[0], Q[3]); Q.Line[3] = true; }; + if (!Q.Line[10]) { DrawLine(Q[3], Q[7]); Q.Line[10] = true; }; + if (!Q.Line[7]) { DrawLine(Q[7], Q[4]); Q.Line[7] = true; }; + } + if (CurN[5][2] < 0) { + if (!Q.Line[8]) { DrawLine(Q[1], Q[5]); Q.Line[8] = true; }; + if (!Q.Line[5]) { DrawLine(Q[5], Q[6]); Q.Line[5] = true; }; + if (!Q.Line[9]) { DrawLine(Q[6], Q[2]); Q.Line[9] = true; }; + if (!Q.Line[1]) { DrawLine(Q[2], Q[1]); Q.Line[1] = true; }; + } + Q.Line = [false,false,false,false,false,false,false,false,false,false,false,false]; + Q.LastPx = 0; +} + +function Loop() { + if (Testing.LoopCount > Testing.LoopMax) return; + var TestingStr = String(Testing.LoopCount); + while (TestingStr.length < 3) TestingStr = "0" + TestingStr; + MTrans = Translate(I, -Q[8].V[0], -Q[8].V[1], -Q[8].V[2]); + MTrans = RotateX(MTrans, 1); + MTrans = RotateY(MTrans, 3); + MTrans = RotateZ(MTrans, 5); + MTrans = Translate(MTrans, Q[8].V[0], Q[8].V[1], Q[8].V[2]); + MQube = MMulti(MTrans, MQube); + var i = 8; + for (; i > -1; i--) { + Q[i].V = VMulti(MTrans, Q[i].V); + } + DrawQube(); + Testing.LoopCount++; + Loop(); +} + +function Init(CubeSize) { + // init/reset vars + Origin.V = [150,150,20,1]; + Testing.LoopCount = 0; + Testing.LoopMax = 50; + Testing.TimeMax = 0; + Testing.TimeAvg = 0; + Testing.TimeMin = 0; + Testing.TimeTemp = 0; + Testing.TimeTotal = 0; + Testing.Init = false; + + // transformation matrix + MTrans = [ + [1,0,0,0], + [0,1,0,0], + [0,0,1,0], + [0,0,0,1] + ]; + + // position information of qube + MQube = [ + [1,0,0,0], + [0,1,0,0], + [0,0,1,0], + [0,0,0,1] + ]; + + // entity matrix + I = [ + [1,0,0,0], + [0,1,0,0], + [0,0,1,0], + [0,0,0,1] + ]; + + // create qube + Q[0] = new CreateP(-CubeSize,-CubeSize, CubeSize); + Q[1] = new CreateP(-CubeSize, CubeSize, CubeSize); + Q[2] = new CreateP( CubeSize, CubeSize, CubeSize); + Q[3] = new CreateP( CubeSize,-CubeSize, CubeSize); + Q[4] = new CreateP(-CubeSize,-CubeSize,-CubeSize); + Q[5] = new CreateP(-CubeSize, CubeSize,-CubeSize); + Q[6] = new CreateP( CubeSize, CubeSize,-CubeSize); + Q[7] = new CreateP( CubeSize,-CubeSize,-CubeSize); + + // center of gravity + Q[8] = new CreateP(0, 0, 0); + + // anti-clockwise edge check + Q.Edge = [[0,1,2],[3,2,6],[7,6,5],[4,5,1],[4,0,3],[1,5,6]]; + + // calculate squad normals + Q.Normal = new Array(); + for (var i = 0; i < Q.Edge.length; i++) Q.Normal[i] = CalcNormal(Q[Q.Edge[i][0]].V, Q[Q.Edge[i][1]].V, Q[Q.Edge[i][2]].V); + + // line drawn ? + Q.Line = [false,false,false,false,false,false,false,false,false,false,false,false]; + + // create line pixels + Q.NumPx = 9 * 2 * CubeSize; + for (var i = 0; i < Q.NumPx; i++) CreateP(0,0,0); + + MTrans = Translate(MTrans, Origin.V[0], Origin.V[1], Origin.V[2]); + MQube = MMulti(MTrans, MQube); + + var i = 0; + for (; i < 9; i++) { + Q[i].V = VMulti(MTrans, Q[i].V); + } + DrawQube(); + Testing.Init = true; + Loop(); +} + +for ( var i = 20; i <= 160; i *= 2 ) { + Init(i); +} + +Q = null; +MTrans = null; +MQube = null; +I = null; +Origin = null; +Testing = null; +LoopTime = null; +DisplArea = null; diff --git a/tests/benchmarks/script/sunspider/tests/3d-morph.js b/tests/benchmarks/script/sunspider/tests/3d-morph.js new file mode 100644 index 0000000..d4238c0 --- /dev/null +++ b/tests/benchmarks/script/sunspider/tests/3d-morph.js @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2007 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +var loops = 15 +var nx = 120 +var nz = 120 + +function morph(a, f) { + var PI2nx = Math.PI * 8/nx + var sin = Math.sin + var f30 = -(50 * sin(f*Math.PI*2)) + + for (var i = 0; i < nz; ++i) { + for (var j = 0; j < nx; ++j) { + a[3*(i*nx+j)+1] = sin((j-1) * PI2nx ) * -f30 + } + } +} + + +var a = Array() +for (var i=0; i < nx*nz*3; ++i) + a[i] = 0 + +for (var i = 0; i < loops; ++i) { + morph(a, i/loops) +} + +testOutput = 0; +for (var i = 0; i < nx; i++) + testOutput += a[3*(i*nx+i)+1]; +a = null; diff --git a/tests/benchmarks/script/sunspider/tests/3d-raytrace.js b/tests/benchmarks/script/sunspider/tests/3d-raytrace.js new file mode 100644 index 0000000..e7b959e --- /dev/null +++ b/tests/benchmarks/script/sunspider/tests/3d-raytrace.js @@ -0,0 +1,441 @@ +/* + * Copyright (C) 2007 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +function createVector(x,y,z) { + return new Array(x,y,z); +} + +function sqrLengthVector(self) { + return self[0] * self[0] + self[1] * self[1] + self[2] * self[2]; +} + +function lengthVector(self) { + return Math.sqrt(self[0] * self[0] + self[1] * self[1] + self[2] * self[2]); +} + +function addVector(self, v) { + self[0] += v[0]; + self[1] += v[1]; + self[2] += v[2]; + return self; +} + +function subVector(self, v) { + self[0] -= v[0]; + self[1] -= v[1]; + self[2] -= v[2]; + return self; +} + +function scaleVector(self, scale) { + self[0] *= scale; + self[1] *= scale; + self[2] *= scale; + return self; +} + +function normaliseVector(self) { + var len = Math.sqrt(self[0] * self[0] + self[1] * self[1] + self[2] * self[2]); + self[0] /= len; + self[1] /= len; + self[2] /= len; + return self; +} + +function add(v1, v2) { + return new Array(v1[0] + v2[0], v1[1] + v2[1], v1[2] + v2[2]); +} + +function sub(v1, v2) { + return new Array(v1[0] - v2[0], v1[1] - v2[1], v1[2] - v2[2]); +} + +function scalev(v1, v2) { + return new Array(v1[0] * v2[0], v1[1] * v2[1], v1[2] * v2[2]); +} + +function dot(v1, v2) { + return v1[0] * v2[0] + v1[1] * v2[1] + v1[2] * v2[2]; +} + +function scale(v, scale) { + return [v[0] * scale, v[1] * scale, v[2] * scale]; +} + +function cross(v1, v2) { + return [v1[1] * v2[2] - v1[2] * v2[1], + v1[2] * v2[0] - v1[0] * v2[2], + v1[0] * v2[1] - v1[1] * v2[0]]; + +} + +function normalise(v) { + var len = lengthVector(v); + return [v[0] / len, v[1] / len, v[2] / len]; +} + +function transformMatrix(self, v) { + var vals = self; + var x = vals[0] * v[0] + vals[1] * v[1] + vals[2] * v[2] + vals[3]; + var y = vals[4] * v[0] + vals[5] * v[1] + vals[6] * v[2] + vals[7]; + var z = vals[8] * v[0] + vals[9] * v[1] + vals[10] * v[2] + vals[11]; + return [x, y, z]; +} + +function invertMatrix(self) { + var temp = new Array(16); + var tx = -self[3]; + var ty = -self[7]; + var tz = -self[11]; + for (h = 0; h < 3; h++) + for (v = 0; v < 3; v++) + temp[h + v * 4] = self[v + h * 4]; + for (i = 0; i < 11; i++) + self[i] = temp[i]; + self[3] = tx * self[0] + ty * self[1] + tz * self[2]; + self[7] = tx * self[4] + ty * self[5] + tz * self[6]; + self[11] = tx * self[8] + ty * self[9] + tz * self[10]; + return self; +} + + +// Triangle intersection using barycentric coord method +function Triangle(p1, p2, p3) { + var edge1 = sub(p3, p1); + var edge2 = sub(p2, p1); + var normal = cross(edge1, edge2); + if (Math.abs(normal[0]) > Math.abs(normal[1])) + if (Math.abs(normal[0]) > Math.abs(normal[2])) + this.axis = 0; + else + this.axis = 2; + else + if (Math.abs(normal[1]) > Math.abs(normal[2])) + this.axis = 1; + else + this.axis = 2; + var u = (this.axis + 1) % 3; + var v = (this.axis + 2) % 3; + var u1 = edge1[u]; + var v1 = edge1[v]; + + var u2 = edge2[u]; + var v2 = edge2[v]; + this.normal = normalise(normal); + this.nu = normal[u] / normal[this.axis]; + this.nv = normal[v] / normal[this.axis]; + this.nd = dot(normal, p1) / normal[this.axis]; + var det = u1 * v2 - v1 * u2; + this.eu = p1[u]; + this.ev = p1[v]; + this.nu1 = u1 / det; + this.nv1 = -v1 / det; + this.nu2 = v2 / det; + this.nv2 = -u2 / det; + this.material = [0.7, 0.7, 0.7]; +} + +Triangle.prototype.intersect = function(orig, dir, near, far) { + var u = (this.axis + 1) % 3; + var v = (this.axis + 2) % 3; + var d = dir[this.axis] + this.nu * dir[u] + this.nv * dir[v]; + var t = (this.nd - orig[this.axis] - this.nu * orig[u] - this.nv * orig[v]) / d; + if (t < near || t > far) + return null; + var Pu = orig[u] + t * dir[u] - this.eu; + var Pv = orig[v] + t * dir[v] - this.ev; + var a2 = Pv * this.nu1 + Pu * this.nv1; + if (a2 < 0) + return null; + var a3 = Pu * this.nu2 + Pv * this.nv2; + if (a3 < 0) + return null; + + if ((a2 + a3) > 1) + return null; + return t; +} + +function Scene(a_triangles) { + this.triangles = a_triangles; + this.lights = []; + this.ambient = [0,0,0]; + this.background = [0.8,0.8,1]; +} +var zero = new Array(0,0,0); + +Scene.prototype.intersect = function(origin, dir, near, far) { + var closest = null; + for (i = 0; i < this.triangles.length; i++) { + var triangle = this.triangles[i]; + var d = triangle.intersect(origin, dir, near, far); + if (d == null || d > far || d < near) + continue; + far = d; + closest = triangle; + } + + if (!closest) + return [this.background[0],this.background[1],this.background[2]]; + + var normal = closest.normal; + var hit = add(origin, scale(dir, far)); + if (dot(dir, normal) > 0) + normal = [-normal[0], -normal[1], -normal[2]]; + + var colour = null; + if (closest.shader) { + colour = closest.shader(closest, hit, dir); + } else { + colour = closest.material; + } + + // do reflection + var reflected = null; + if (colour.reflection > 0.001) { + var reflection = addVector(scale(normal, -2*dot(dir, normal)), dir); + reflected = this.intersect(hit, reflection, 0.0001, 1000000); + if (colour.reflection >= 0.999999) + return reflected; + } + + var l = [this.ambient[0], this.ambient[1], this.ambient[2]]; + for (var i = 0; i < this.lights.length; i++) { + var light = this.lights[i]; + var toLight = sub(light, hit); + var distance = lengthVector(toLight); + scaleVector(toLight, 1.0/distance); + distance -= 0.0001; + if (this.blocked(hit, toLight, distance)) + continue; + var nl = dot(normal, toLight); + if (nl > 0) + addVector(l, scale(light.colour, nl)); + } + l = scalev(l, colour); + if (reflected) { + l = addVector(scaleVector(l, 1 - colour.reflection), scaleVector(reflected, colour.reflection)); + } + return l; +} + +Scene.prototype.blocked = function(O, D, far) { + var near = 0.0001; + var closest = null; + for (i = 0; i < this.triangles.length; i++) { + var triangle = this.triangles[i]; + var d = triangle.intersect(O, D, near, far); + if (d == null || d > far || d < near) + continue; + return true; + } + + return false; +} + + +// this camera code is from notes i made ages ago, it is from *somewhere* -- i cannot remember where +// that somewhere is +function Camera(origin, lookat, up) { + var zaxis = normaliseVector(subVector(lookat, origin)); + var xaxis = normaliseVector(cross(up, zaxis)); + var yaxis = normaliseVector(cross(xaxis, subVector([0,0,0], zaxis))); + var m = new Array(16); + m[0] = xaxis[0]; m[1] = xaxis[1]; m[2] = xaxis[2]; + m[4] = yaxis[0]; m[5] = yaxis[1]; m[6] = yaxis[2]; + m[8] = zaxis[0]; m[9] = zaxis[1]; m[10] = zaxis[2]; + invertMatrix(m); + m[3] = 0; m[7] = 0; m[11] = 0; + this.origin = origin; + this.directions = new Array(4); + this.directions[0] = normalise([-0.7, 0.7, 1]); + this.directions[1] = normalise([ 0.7, 0.7, 1]); + this.directions[2] = normalise([ 0.7, -0.7, 1]); + this.directions[3] = normalise([-0.7, -0.7, 1]); + this.directions[0] = transformMatrix(m, this.directions[0]); + this.directions[1] = transformMatrix(m, this.directions[1]); + this.directions[2] = transformMatrix(m, this.directions[2]); + this.directions[3] = transformMatrix(m, this.directions[3]); +} + +Camera.prototype.generateRayPair = function(y) { + rays = new Array(new Object(), new Object()); + rays[0].origin = this.origin; + rays[1].origin = this.origin; + rays[0].dir = addVector(scale(this.directions[0], y), scale(this.directions[3], 1 - y)); + rays[1].dir = addVector(scale(this.directions[1], y), scale(this.directions[2], 1 - y)); + return rays; +} + +function renderRows(camera, scene, pixels, width, height, starty, stopy) { + for (var y = starty; y < stopy; y++) { + var rays = camera.generateRayPair(y / height); + for (var x = 0; x < width; x++) { + var xp = x / width; + var origin = addVector(scale(rays[0].origin, xp), scale(rays[1].origin, 1 - xp)); + var dir = normaliseVector(addVector(scale(rays[0].dir, xp), scale(rays[1].dir, 1 - xp))); + var l = scene.intersect(origin, dir); + pixels[y][x] = l; + } + } +} + +Camera.prototype.render = function(scene, pixels, width, height) { + var cam = this; + var row = 0; + renderRows(cam, scene, pixels, width, height, 0, height); +} + + + +function raytraceScene() +{ + var startDate = new Date().getTime(); + var numTriangles = 2 * 6; + var triangles = new Array();//numTriangles); + var tfl = createVector(-10, 10, -10); + var tfr = createVector( 10, 10, -10); + var tbl = createVector(-10, 10, 10); + var tbr = createVector( 10, 10, 10); + var bfl = createVector(-10, -10, -10); + var bfr = createVector( 10, -10, -10); + var bbl = createVector(-10, -10, 10); + var bbr = createVector( 10, -10, 10); + + // cube!!! + // front + var i = 0; + + triangles[i++] = new Triangle(tfl, tfr, bfr); + triangles[i++] = new Triangle(tfl, bfr, bfl); + // back + triangles[i++] = new Triangle(tbl, tbr, bbr); + triangles[i++] = new Triangle(tbl, bbr, bbl); + // triangles[i-1].material = [0.7,0.2,0.2]; + // triangles[i-1].material.reflection = 0.8; + // left + triangles[i++] = new Triangle(tbl, tfl, bbl); + // triangles[i-1].reflection = 0.6; + triangles[i++] = new Triangle(tfl, bfl, bbl); + // triangles[i-1].reflection = 0.6; + // right + triangles[i++] = new Triangle(tbr, tfr, bbr); + triangles[i++] = new Triangle(tfr, bfr, bbr); + // top + triangles[i++] = new Triangle(tbl, tbr, tfr); + triangles[i++] = new Triangle(tbl, tfr, tfl); + // bottom + triangles[i++] = new Triangle(bbl, bbr, bfr); + triangles[i++] = new Triangle(bbl, bfr, bfl); + + //Floor!!!! + var green = createVector(0.0, 0.4, 0.0); + var grey = createVector(0.4, 0.4, 0.4); + grey.reflection = 1.0; + var floorShader = function(tri, pos, view) { + var x = ((pos[0]/32) % 2 + 2) % 2; + var z = ((pos[2]/32 + 0.3) % 2 + 2) % 2; + if (x < 1 != z < 1) { + //in the real world we use the fresnel term... + // var angle = 1-dot(view, tri.normal); + // angle *= angle; + // angle *= angle; + // angle *= angle; + //grey.reflection = angle; + return grey; + } else + return green; + } + var ffl = createVector(-1000, -30, -1000); + var ffr = createVector( 1000, -30, -1000); + var fbl = createVector(-1000, -30, 1000); + var fbr = createVector( 1000, -30, 1000); + triangles[i++] = new Triangle(fbl, fbr, ffr); + triangles[i-1].shader = floorShader; + triangles[i++] = new Triangle(fbl, ffr, ffl); + triangles[i-1].shader = floorShader; + + var _scene = new Scene(triangles); + _scene.lights[0] = createVector(20, 38, -22); + _scene.lights[0].colour = createVector(0.7, 0.3, 0.3); + _scene.lights[1] = createVector(-23, 40, 17); + _scene.lights[1].colour = createVector(0.7, 0.3, 0.3); + _scene.lights[2] = createVector(23, 20, 17); + _scene.lights[2].colour = createVector(0.7, 0.7, 0.7); + _scene.ambient = createVector(0.1, 0.1, 0.1); + // _scene.background = createVector(0.7, 0.7, 1.0); + + var size = 30; + var pixels = new Array(); + for (var y = 0; y < size; y++) { + pixels[y] = new Array(); + for (var x = 0; x < size; x++) { + pixels[y][x] = 0; + } + } + + var _camera = new Camera(createVector(-40, 40, 40), createVector(0, 0, 0), createVector(0, 1, 0)); + _camera.render(_scene, pixels, size, size); + + return pixels; +} + +function arrayToCanvasCommands(pixels) +{ + var s = '\nvar pixels = ['; + var size = 30; + for (var y = 0; y < size; y++) { + s += "["; + for (var x = 0; x < size; x++) { + s += "[" + pixels[y][x] + "],"; + } + s+= "],"; + } + s += '];\n var canvas = document.getElementById("renderCanvas").getContext("2d");\n\ +\n\ +\n\ + var size = 30;\n\ + canvas.fillStyle = "red";\n\ + canvas.fillRect(0, 0, size, size);\n\ + canvas.scale(1, -1);\n\ + canvas.translate(0, -size);\n\ +\n\ + if (!canvas.setFillColor)\n\ + canvas.setFillColor = function(r, g, b, a) {\n\ + this.fillStyle = "rgb("+[Math.floor(r * 255), Math.floor(g * 255), Math.floor(b * 255)]+")";\n\ + }\n\ +\n\ +for (var y = 0; y < size; y++) {\n\ + for (var x = 0; x < size; x++) {\n\ + var l = pixels[y][x];\n\ + canvas.setFillColor(l[0], l[1], l[2], 1);\n\ + canvas.fillRect(x, y, 1, 1);\n\ + }\n\ +}'; + + return s; +} + +testOutput = arrayToCanvasCommands(raytraceScene()); diff --git a/tests/benchmarks/script/sunspider/tests/access-binary-trees.js b/tests/benchmarks/script/sunspider/tests/access-binary-trees.js new file mode 100644 index 0000000..2f24e7d --- /dev/null +++ b/tests/benchmarks/script/sunspider/tests/access-binary-trees.js @@ -0,0 +1,50 @@ +/* The Great Computer Language Shootout + http://shootout.alioth.debian.org/ + contributed by Isaac Gouy */ + +function TreeNode(left,right,item){ + this.left = left; + this.right = right; + this.item = item; +} + +TreeNode.prototype.itemCheck = function(){ + if (this.left==null) return this.item; + else return this.item + this.left.itemCheck() - this.right.itemCheck(); +} + +function bottomUpTree(item,depth){ + if (depth>0){ + return new TreeNode( + bottomUpTree(2*item-1, depth-1) + ,bottomUpTree(2*item, depth-1) + ,item + ); + } + else { + return new TreeNode(null,null,item); + } +} + +var ret; + +for ( var n = 4; n <= 7; n += 1 ) { + var minDepth = 4; + var maxDepth = Math.max(minDepth + 2, n); + var stretchDepth = maxDepth + 1; + + var check = bottomUpTree(0,stretchDepth).itemCheck(); + + var longLivedTree = bottomUpTree(0,maxDepth); + for (var depth=minDepth; depth<=maxDepth; depth+=2){ + var iterations = 1 << (maxDepth - depth + minDepth); + + check = 0; + for (var i=1; i<=iterations; i++){ + check += bottomUpTree(i,depth).itemCheck(); + check += bottomUpTree(-i,depth).itemCheck(); + } + } + + ret = longLivedTree.itemCheck(); +} diff --git a/tests/benchmarks/script/sunspider/tests/access-fannkuch.js b/tests/benchmarks/script/sunspider/tests/access-fannkuch.js new file mode 100644 index 0000000..1ea87b4 --- /dev/null +++ b/tests/benchmarks/script/sunspider/tests/access-fannkuch.js @@ -0,0 +1,66 @@ +/* The Great Computer Language Shootout + http://shootout.alioth.debian.org/ + contributed by Isaac Gouy */ + +function fannkuch(n) { + var check = 0; + var perm = Array(n); + var perm1 = Array(n); + var count = Array(n); + var maxPerm = Array(n); + var maxFlipsCount = 0; + var m = n - 1; + + for (var i = 0; i < n; i++) perm1[i] = i; + var r = n; + + while (true) { + // write-out the first 30 permutations + if (check < 30){ + var s = ""; + for(var i=0; i> 1; + for (var i = 0; i < k2; i++) { + var temp = perm[i]; perm[i] = perm[k - i]; perm[k - i] = temp; + } + flipsCount++; + } + + if (flipsCount > maxFlipsCount) { + maxFlipsCount = flipsCount; + for (var i = 0; i < n; i++) maxPerm[i] = perm1[i]; + } + } + + while (true) { + if (r == n) return maxFlipsCount; + var perm0 = perm1[0]; + var i = 0; + while (i < r) { + var j = i + 1; + perm1[i] = perm1[j]; + i = j; + } + perm1[r] = perm0; + + count[r] = count[r] - 1; + if (count[r] > 0) break; + r++; + } + } +} + +var n = 8; +var ret = fannkuch(n); + diff --git a/tests/benchmarks/script/sunspider/tests/access-nbody.js b/tests/benchmarks/script/sunspider/tests/access-nbody.js new file mode 100644 index 0000000..f0d080d --- /dev/null +++ b/tests/benchmarks/script/sunspider/tests/access-nbody.js @@ -0,0 +1,169 @@ +/* The Great Computer Language Shootout + http://shootout.alioth.debian.org/ + contributed by Isaac Gouy */ + +var PI = 3.141592653589793; +var SOLAR_MASS = 4 * PI * PI; +var DAYS_PER_YEAR = 365.24; + +function Body(x,y,z,vx,vy,vz,mass){ + this.x = x; + this.y = y; + this.z = z; + this.vx = vx; + this.vy = vy; + this.vz = vz; + this.mass = mass; +} + +Body.prototype.offsetMomentum = function(px,py,pz) { + this.vx = -px / SOLAR_MASS; + this.vy = -py / SOLAR_MASS; + this.vz = -pz / SOLAR_MASS; + return this; +} + +function Jupiter(){ + return new Body( + 4.84143144246472090e+00, + -1.16032004402742839e+00, + -1.03622044471123109e-01, + 1.66007664274403694e-03 * DAYS_PER_YEAR, + 7.69901118419740425e-03 * DAYS_PER_YEAR, + -6.90460016972063023e-05 * DAYS_PER_YEAR, + 9.54791938424326609e-04 * SOLAR_MASS + ); +} + +function Saturn(){ + return new Body( + 8.34336671824457987e+00, + 4.12479856412430479e+00, + -4.03523417114321381e-01, + -2.76742510726862411e-03 * DAYS_PER_YEAR, + 4.99852801234917238e-03 * DAYS_PER_YEAR, + 2.30417297573763929e-05 * DAYS_PER_YEAR, + 2.85885980666130812e-04 * SOLAR_MASS + ); +} + +function Uranus(){ + return new Body( + 1.28943695621391310e+01, + -1.51111514016986312e+01, + -2.23307578892655734e-01, + 2.96460137564761618e-03 * DAYS_PER_YEAR, + 2.37847173959480950e-03 * DAYS_PER_YEAR, + -2.96589568540237556e-05 * DAYS_PER_YEAR, + 4.36624404335156298e-05 * SOLAR_MASS + ); +} + +function Neptune(){ + return new Body( + 1.53796971148509165e+01, + -2.59193146099879641e+01, + 1.79258772950371181e-01, + 2.68067772490389322e-03 * DAYS_PER_YEAR, + 1.62824170038242295e-03 * DAYS_PER_YEAR, + -9.51592254519715870e-05 * DAYS_PER_YEAR, + 5.15138902046611451e-05 * SOLAR_MASS + ); +} + +function Sun(){ + return new Body(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, SOLAR_MASS); +} + + +function NBodySystem(bodies){ + this.bodies = bodies; + var px = 0.0; + var py = 0.0; + var pz = 0.0; + var size = this.bodies.length; + for (var i=0; i0){ + for (var i=1; i<=prefixWidth; i++) s = " " + s; + } + return s; +} + +function nsieve(m, isPrime){ + var i, k, count; + + for (i=2; i<=m; i++) { isPrime[i] = true; } + count = 0; + + for (i=2; i<=m; i++){ + if (isPrime[i]) { + for (k=i+i; k<=m; k+=i) isPrime[k] = false; + count++; + } + } + return count; +} + +function sieve() { + for (var i = 1; i <= 3; i++ ) { + var m = (1<> ((b << 1) & 14)); +c += 3 & (bi3b >> ((b >> 2) & 14)); +c += 3 & (bi3b >> ((b >> 5) & 6)); +return c; + +/* +lir4,0xE994; 9 instructions, no memory access, minimal register dependence, 6 shifts, 2 adds, 1 inline assign +rlwinmr5,r3,1,28,30 +rlwinmr6,r3,30,28,30 +rlwinmr7,r3,27,29,30 +rlwnmr8,r4,r5,30,31 +rlwnmr9,r4,r6,30,31 +rlwnmr10,r4,r7,30,31 +addr3,r8,r9 +addr3,r3,r10 +*/ +} + + +function TimeFunc(func) { +var x, y, t; +for(var x=0; x<500; x++) +for(var y=0; y<256; y++) func(y); +} + +TimeFunc(fast3bitlookup); diff --git a/tests/benchmarks/script/sunspider/tests/bitops-bits-in-byte.js b/tests/benchmarks/script/sunspider/tests/bitops-bits-in-byte.js new file mode 100644 index 0000000..9a3acd4 --- /dev/null +++ b/tests/benchmarks/script/sunspider/tests/bitops-bits-in-byte.js @@ -0,0 +1,21 @@ +// Copyright (c) 2004 by Arthur Langereis (arthur_ext at domain xfinitegames, tld com) + + +// 1 op = 2 assigns, 16 compare/branches, 8 ANDs, (0-8) ADDs, 8 SHLs +// O(n) +function bitsinbyte(b) { +var m = 1, c = 0; +while(m<0x100) { +if(b & m) c++; +m <<= 1; +} +return c; +} + +function TimeFunc(func) { +var x, y, t; +for(var x=0; x<350; x++) +for(var y=0; y<256; y++) func(y); +} + +TimeFunc(bitsinbyte); diff --git a/tests/benchmarks/script/sunspider/tests/bitops-bitwise-and.js b/tests/benchmarks/script/sunspider/tests/bitops-bitwise-and.js new file mode 100644 index 0000000..7c80e69 --- /dev/null +++ b/tests/benchmarks/script/sunspider/tests/bitops-bitwise-and.js @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2007 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +bitwiseAndValue = 4294967296; +for (var i = 0; i < 600000; i++) + bitwiseAndValue = bitwiseAndValue & i; diff --git a/tests/benchmarks/script/sunspider/tests/bitops-nsieve-bits.js b/tests/benchmarks/script/sunspider/tests/bitops-nsieve-bits.js new file mode 100644 index 0000000..6ef0ddb --- /dev/null +++ b/tests/benchmarks/script/sunspider/tests/bitops-nsieve-bits.js @@ -0,0 +1,32 @@ +// The Great Computer Language Shootout +// http://shootout.alioth.debian.org +// +// Contributed by Ian Osgood + +function pad(n,width) { + var s = n.toString(); + while (s.length < width) s = ' ' + s; + return s; +} + +function primes(isPrime, n) { + var i, count = 0, m = 10000<>5; + + for (i=0; i>5] & 1<<(i&31)) { + for (var j=i+i; j>5] &= ~(1<<(j&31)); + count++; + } +} + +function sieve() { + for (var i = 4; i <= 4; i++) { + var isPrime = new Array((10000<>5); + primes(isPrime, i); + } +} + +sieve(); diff --git a/tests/benchmarks/script/sunspider/tests/controlflow-recursive.js b/tests/benchmarks/script/sunspider/tests/controlflow-recursive.js new file mode 100644 index 0000000..fcfe1c4 --- /dev/null +++ b/tests/benchmarks/script/sunspider/tests/controlflow-recursive.js @@ -0,0 +1,25 @@ +// The Computer Language Shootout +// http://shootout.alioth.debian.org/ +// contributed by Isaac Gouy + +function ack(m,n){ + if (m==0) { return n+1; } + if (n==0) { return ack(m-1,1); } + return ack(m-1, ack(m,n-1) ); +} + +function fib(n) { + if (n < 2){ return 1; } + return fib(n-2) + fib(n-1); +} + +function tak(x,y,z) { + if (y >= x) return z; + return tak(tak(x-1,y,z), tak(y-1,z,x), tak(z-1,x,y)); +} + +for ( var i = 3; i <= 5; i++ ) { + ack(3,i); + fib(17.0+i); + tak(3*i+3,2*i+2,i+1); +} diff --git a/tests/benchmarks/script/sunspider/tests/crypto-aes.js b/tests/benchmarks/script/sunspider/tests/crypto-aes.js new file mode 100644 index 0000000..93a5969 --- /dev/null +++ b/tests/benchmarks/script/sunspider/tests/crypto-aes.js @@ -0,0 +1,422 @@ +/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + +/* + * AES Cipher function: encrypt 'input' with Rijndael algorithm + * + * takes byte-array 'input' (16 bytes) + * 2D byte-array key schedule 'w' (Nr+1 x Nb bytes) + * + * applies Nr rounds (10/12/14) using key schedule w for 'add round key' stage + * + * returns byte-array encrypted value (16 bytes) + */ +function Cipher(input, w) { // main Cipher function [§5.1] + var Nb = 4; // block size (in words): no of columns in state (fixed at 4 for AES) + var Nr = w.length/Nb - 1; // no of rounds: 10/12/14 for 128/192/256-bit keys + + var state = [[],[],[],[]]; // initialise 4xNb byte-array 'state' with input [§3.4] + for (var i=0; i<4*Nb; i++) state[i%4][Math.floor(i/4)] = input[i]; + + state = AddRoundKey(state, w, 0, Nb); + + for (var round=1; round 6 && i%Nk == 4) { + temp = SubWord(temp); + } + for (var t=0; t<4; t++) w[i][t] = w[i-Nk][t] ^ temp[t]; + } + + return w; +} + +function SubWord(w) { // apply SBox to 4-byte word w + for (var i=0; i<4; i++) w[i] = Sbox[w[i]]; + return w; +} + +function RotWord(w) { // rotate 4-byte word w left by one byte + w[4] = w[0]; + for (var i=0; i<4; i++) w[i] = w[i+1]; + return w; +} + + +// Sbox is pre-computed multiplicative inverse in GF(2^8) used in SubBytes and KeyExpansion [§5.1.1] +var Sbox = [0x63,0x7c,0x77,0x7b,0xf2,0x6b,0x6f,0xc5,0x30,0x01,0x67,0x2b,0xfe,0xd7,0xab,0x76, + 0xca,0x82,0xc9,0x7d,0xfa,0x59,0x47,0xf0,0xad,0xd4,0xa2,0xaf,0x9c,0xa4,0x72,0xc0, + 0xb7,0xfd,0x93,0x26,0x36,0x3f,0xf7,0xcc,0x34,0xa5,0xe5,0xf1,0x71,0xd8,0x31,0x15, + 0x04,0xc7,0x23,0xc3,0x18,0x96,0x05,0x9a,0x07,0x12,0x80,0xe2,0xeb,0x27,0xb2,0x75, + 0x09,0x83,0x2c,0x1a,0x1b,0x6e,0x5a,0xa0,0x52,0x3b,0xd6,0xb3,0x29,0xe3,0x2f,0x84, + 0x53,0xd1,0x00,0xed,0x20,0xfc,0xb1,0x5b,0x6a,0xcb,0xbe,0x39,0x4a,0x4c,0x58,0xcf, + 0xd0,0xef,0xaa,0xfb,0x43,0x4d,0x33,0x85,0x45,0xf9,0x02,0x7f,0x50,0x3c,0x9f,0xa8, + 0x51,0xa3,0x40,0x8f,0x92,0x9d,0x38,0xf5,0xbc,0xb6,0xda,0x21,0x10,0xff,0xf3,0xd2, + 0xcd,0x0c,0x13,0xec,0x5f,0x97,0x44,0x17,0xc4,0xa7,0x7e,0x3d,0x64,0x5d,0x19,0x73, + 0x60,0x81,0x4f,0xdc,0x22,0x2a,0x90,0x88,0x46,0xee,0xb8,0x14,0xde,0x5e,0x0b,0xdb, + 0xe0,0x32,0x3a,0x0a,0x49,0x06,0x24,0x5c,0xc2,0xd3,0xac,0x62,0x91,0x95,0xe4,0x79, + 0xe7,0xc8,0x37,0x6d,0x8d,0xd5,0x4e,0xa9,0x6c,0x56,0xf4,0xea,0x65,0x7a,0xae,0x08, + 0xba,0x78,0x25,0x2e,0x1c,0xa6,0xb4,0xc6,0xe8,0xdd,0x74,0x1f,0x4b,0xbd,0x8b,0x8a, + 0x70,0x3e,0xb5,0x66,0x48,0x03,0xf6,0x0e,0x61,0x35,0x57,0xb9,0x86,0xc1,0x1d,0x9e, + 0xe1,0xf8,0x98,0x11,0x69,0xd9,0x8e,0x94,0x9b,0x1e,0x87,0xe9,0xce,0x55,0x28,0xdf, + 0x8c,0xa1,0x89,0x0d,0xbf,0xe6,0x42,0x68,0x41,0x99,0x2d,0x0f,0xb0,0x54,0xbb,0x16]; + +// Rcon is Round Constant used for the Key Expansion [1st col is 2^(r-1) in GF(2^8)] [§5.2] +var Rcon = [ [0x00, 0x00, 0x00, 0x00], + [0x01, 0x00, 0x00, 0x00], + [0x02, 0x00, 0x00, 0x00], + [0x04, 0x00, 0x00, 0x00], + [0x08, 0x00, 0x00, 0x00], + [0x10, 0x00, 0x00, 0x00], + [0x20, 0x00, 0x00, 0x00], + [0x40, 0x00, 0x00, 0x00], + [0x80, 0x00, 0x00, 0x00], + [0x1b, 0x00, 0x00, 0x00], + [0x36, 0x00, 0x00, 0x00] ]; + + +/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + +/* + * Use AES to encrypt 'plaintext' with 'password' using 'nBits' key, in 'Counter' mode of operation + * - see http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf + * for each block + * - outputblock = cipher(counter, key) + * - cipherblock = plaintext xor outputblock + */ +function AESEncryptCtr(plaintext, password, nBits) { + if (!(nBits==128 || nBits==192 || nBits==256)) return ''; // standard allows 128/192/256 bit keys + + // for this example script, generate the key by applying Cipher to 1st 16/24/32 chars of password; + // for real-world applications, a more secure approach would be to hash the password e.g. with SHA-1 + var nBytes = nBits/8; // no bytes in key + var pwBytes = new Array(nBytes); + for (var i=0; i>> i*8) & 0xff; + for (var i=0; i<4; i++) counterBlock[i+4] = (nonce/0x100000000 >>> i*8) & 0xff; + + // generate key schedule - an expansion of the key into distinct Key Rounds for each round + var keySchedule = KeyExpansion(key); + + var blockCount = Math.ceil(plaintext.length/blockSize); + var ciphertext = new Array(blockCount); // ciphertext as array of strings + + for (var b=0; b>> c*8) & 0xff; + for (var c=0; c<4; c++) counterBlock[15-c-4] = (b/0x100000000 >>> c*8) + + var cipherCntr = Cipher(counterBlock, keySchedule); // -- encrypt counter block -- + + // calculate length of final block: + var blockLength = b>> c*8) & 0xff; + for (var c=0; c<4; c++) counterBlock[15-c-4] = ((b/0x100000000-1) >>> c*8) & 0xff; + + var cipherCntr = Cipher(counterBlock, keySchedule); // encrypt counter block + + ciphertext[b] = unescCtrlChars(ciphertext[b]); + + var pt = ''; + for (var i=0; i>18 & 0x3f; + h2 = bits>>12 & 0x3f; + h3 = bits>>6 & 0x3f; + h4 = bits & 0x3f; + + // end of string? index to '=' in b64 + if (isNaN(o3)) h4 = 64; + if (isNaN(o2)) h3 = 64; + + // use hexets to index into b64, and append result to encoded string + enc += b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4); + } while (i < str.length); + + return enc; +} + +function decodeBase64(str) { + var o1, o2, o3, h1, h2, h3, h4, bits, i=0, enc=''; + + do { // unpack four hexets into three octets using index points in b64 + h1 = b64.indexOf(str.charAt(i++)); + h2 = b64.indexOf(str.charAt(i++)); + h3 = b64.indexOf(str.charAt(i++)); + h4 = b64.indexOf(str.charAt(i++)); + + bits = h1<<18 | h2<<12 | h3<<6 | h4; + + o1 = bits>>16 & 0xff; + o2 = bits>>8 & 0xff; + o3 = bits & 0xff; + + if (h3 == 64) enc += String.fromCharCode(o1); + else if (h4 == 64) enc += String.fromCharCode(o1, o2); + else enc += String.fromCharCode(o1, o2, o3); + } while (i < str.length); + + return decodeUTF8(enc); // decode UTF-8 byte-array back to Unicode +} + +function encodeUTF8(str) { // encode multi-byte string into utf-8 multiple single-byte characters + str = str.replace( + /[\u0080-\u07ff]/g, // U+0080 - U+07FF = 2-byte chars + function(c) { + var cc = c.charCodeAt(0); + return String.fromCharCode(0xc0 | cc>>6, 0x80 | cc&0x3f); } + ); + str = str.replace( + /[\u0800-\uffff]/g, // U+0800 - U+FFFF = 3-byte chars + function(c) { + var cc = c.charCodeAt(0); + return String.fromCharCode(0xe0 | cc>>12, 0x80 | cc>>6&0x3F, 0x80 | cc&0x3f); } + ); + return str; +} + +function decodeUTF8(str) { // decode utf-8 encoded string back into multi-byte characters + str = str.replace( + /[\u00c0-\u00df][\u0080-\u00bf]/g, // 2-byte chars + function(c) { + var cc = (c.charCodeAt(0)&0x1f)<<6 | c.charCodeAt(1)&0x3f; + return String.fromCharCode(cc); } + ); + str = str.replace( + /[\u00e0-\u00ef][\u0080-\u00bf][\u0080-\u00bf]/g, // 3-byte chars + function(c) { + var cc = (c.charCodeAt(0)&0x0f)<<12 | (c.charCodeAt(1)&0x3f<<6) | c.charCodeAt(2)&0x3f; + return String.fromCharCode(cc); } + ); + return str; +} + + +function byteArrayToHexStr(b) { // convert byte array to hex string for displaying test vectors + var s = ''; + for (var i=0; i> 5] |= 0x80 << ((len) % 32); + x[(((len + 64) >>> 9) << 4) + 14] = len; + + var a = 1732584193; + var b = -271733879; + var c = -1732584194; + var d = 271733878; + + for(var i = 0; i < x.length; i += 16) + { + var olda = a; + var oldb = b; + var oldc = c; + var oldd = d; + + a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936); + d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586); + c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819); + b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330); + a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897); + d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426); + c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341); + b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983); + a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416); + d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417); + c = md5_ff(c, d, a, b, x[i+10], 17, -42063); + b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162); + a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682); + d = md5_ff(d, a, b, c, x[i+13], 12, -40341101); + c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290); + b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329); + + a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510); + d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632); + c = md5_gg(c, d, a, b, x[i+11], 14, 643717713); + b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302); + a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691); + d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083); + c = md5_gg(c, d, a, b, x[i+15], 14, -660478335); + b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848); + a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438); + d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690); + c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961); + b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501); + a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467); + d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784); + c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473); + b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734); + + a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558); + d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463); + c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562); + b = md5_hh(b, c, d, a, x[i+14], 23, -35309556); + a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060); + d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353); + c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632); + b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640); + a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174); + d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222); + c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979); + b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189); + a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487); + d = md5_hh(d, a, b, c, x[i+12], 11, -421815835); + c = md5_hh(c, d, a, b, x[i+15], 16, 530742520); + b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651); + + a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844); + d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415); + c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905); + b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055); + a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571); + d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606); + c = md5_ii(c, d, a, b, x[i+10], 15, -1051523); + b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799); + a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359); + d = md5_ii(d, a, b, c, x[i+15], 10, -30611744); + c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380); + b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649); + a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070); + d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379); + c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259); + b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551); + + a = safe_add(a, olda); + b = safe_add(b, oldb); + c = safe_add(c, oldc); + d = safe_add(d, oldd); + } + return Array(a, b, c, d); + +} + +/* + * These functions implement the four basic operations the algorithm uses. + */ +function md5_cmn(q, a, b, x, s, t) +{ + return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b); +} +function md5_ff(a, b, c, d, x, s, t) +{ + return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t); +} +function md5_gg(a, b, c, d, x, s, t) +{ + return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t); +} +function md5_hh(a, b, c, d, x, s, t) +{ + return md5_cmn(b ^ c ^ d, a, b, x, s, t); +} +function md5_ii(a, b, c, d, x, s, t) +{ + return md5_cmn(c ^ (b | (~d)), a, b, x, s, t); +} + +/* + * Calculate the HMAC-MD5, of a key and some data + */ +function core_hmac_md5(key, data) +{ + var bkey = str2binl(key); + if(bkey.length > 16) bkey = core_md5(bkey, key.length * chrsz); + + var ipad = Array(16), opad = Array(16); + for(var i = 0; i < 16; i++) + { + ipad[i] = bkey[i] ^ 0x36363636; + opad[i] = bkey[i] ^ 0x5C5C5C5C; + } + + var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * chrsz); + return core_md5(opad.concat(hash), 512 + 128); +} + +/* + * Add integers, wrapping at 2^32. This uses 16-bit operations internally + * to work around bugs in some JS interpreters. + */ +function safe_add(x, y) +{ + var lsw = (x & 0xFFFF) + (y & 0xFFFF); + var msw = (x >> 16) + (y >> 16) + (lsw >> 16); + return (msw << 16) | (lsw & 0xFFFF); +} + +/* + * Bitwise rotate a 32-bit number to the left. + */ +function bit_rol(num, cnt) +{ + return (num << cnt) | (num >>> (32 - cnt)); +} + +/* + * Convert a string to an array of little-endian words + * If chrsz is ASCII, characters >255 have their hi-byte silently ignored. + */ +function str2binl(str) +{ + var bin = Array(); + var mask = (1 << chrsz) - 1; + for(var i = 0; i < str.length * chrsz; i += chrsz) + bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32); + return bin; +} + +/* + * Convert an array of little-endian words to a string + */ +function binl2str(bin) +{ + var str = ""; + var mask = (1 << chrsz) - 1; + for(var i = 0; i < bin.length * 32; i += chrsz) + str += String.fromCharCode((bin[i>>5] >>> (i % 32)) & mask); + return str; +} + +/* + * Convert an array of little-endian words to a hex string. + */ +function binl2hex(binarray) +{ + var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; + var str = ""; + for(var i = 0; i < binarray.length * 4; i++) + { + str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) + + hex_tab.charAt((binarray[i>>2] >> ((i%4)*8 )) & 0xF); + } + return str; +} + +/* + * Convert an array of little-endian words to a base-64 string + */ +function binl2b64(binarray) +{ + var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + var str = ""; + for(var i = 0; i < binarray.length * 4; i += 3) + { + var triplet = (((binarray[i >> 2] >> 8 * ( i %4)) & 0xFF) << 16) + | (((binarray[i+1 >> 2] >> 8 * ((i+1)%4)) & 0xFF) << 8 ) + | ((binarray[i+2 >> 2] >> 8 * ((i+2)%4)) & 0xFF); + for(var j = 0; j < 4; j++) + { + if(i * 8 + j * 6 > binarray.length * 32) str += b64pad; + else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F); + } + } + return str; +} + +var plainText = "Rebellious subjects, enemies to peace,\n\ +Profaners of this neighbour-stained steel,--\n\ +Will they not hear? What, ho! you men, you beasts,\n\ +That quench the fire of your pernicious rage\n\ +With purple fountains issuing from your veins,\n\ +On pain of torture, from those bloody hands\n\ +Throw your mistemper'd weapons to the ground,\n\ +And hear the sentence of your moved prince.\n\ +Three civil brawls, bred of an airy word,\n\ +By thee, old Capulet, and Montague,\n\ +Have thrice disturb'd the quiet of our streets,\n\ +And made Verona's ancient citizens\n\ +Cast by their grave beseeming ornaments,\n\ +To wield old partisans, in hands as old,\n\ +Canker'd with peace, to part your canker'd hate:\n\ +If ever you disturb our streets again,\n\ +Your lives shall pay the forfeit of the peace.\n\ +For this time, all the rest depart away:\n\ +You Capulet; shall go along with me:\n\ +And, Montague, come you this afternoon,\n\ +To know our further pleasure in this case,\n\ +To old Free-town, our common judgment-place.\n\ +Once more, on pain of death, all men depart." + +for (var i = 0; i <4; i++) { + plainText += plainText; +} + +var md5Output = hex_md5(plainText); diff --git a/tests/benchmarks/script/sunspider/tests/crypto-sha1.js b/tests/benchmarks/script/sunspider/tests/crypto-sha1.js new file mode 100644 index 0000000..ca8d901 --- /dev/null +++ b/tests/benchmarks/script/sunspider/tests/crypto-sha1.js @@ -0,0 +1,224 @@ +/* + * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined + * in FIPS PUB 180-1 + * Version 2.1a Copyright Paul Johnston 2000 - 2002. + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * Distributed under the BSD License + * See http://pajhome.org.uk/crypt/md5 for details. + */ + +/* + * Configurable variables. You may need to tweak these to be compatible with + * the server-side, but the defaults work in most cases. + */ +var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */ +var b64pad = ""; /* base-64 pad character. "=" for strict RFC compliance */ +var chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode */ + +/* + * These are the functions you'll usually want to call + * They take string arguments and return either hex or base-64 encoded strings + */ +function hex_sha1(s){return binb2hex(core_sha1(str2binb(s),s.length * chrsz));} +function b64_sha1(s){return binb2b64(core_sha1(str2binb(s),s.length * chrsz));} +function str_sha1(s){return binb2str(core_sha1(str2binb(s),s.length * chrsz));} +function hex_hmac_sha1(key, data){ return binb2hex(core_hmac_sha1(key, data));} +function b64_hmac_sha1(key, data){ return binb2b64(core_hmac_sha1(key, data));} +function str_hmac_sha1(key, data){ return binb2str(core_hmac_sha1(key, data));} + +/* + * Perform a simple self-test to see if the VM is working + */ +function sha1_vm_test() +{ + return hex_sha1("abc") == "a9993e364706816aba3e25717850c26c9cd0d89d"; +} + +/* + * Calculate the SHA-1 of an array of big-endian words, and a bit length + */ +function core_sha1(x, len) +{ + /* append padding */ + x[len >> 5] |= 0x80 << (24 - len % 32); + x[((len + 64 >> 9) << 4) + 15] = len; + + var w = Array(80); + var a = 1732584193; + var b = -271733879; + var c = -1732584194; + var d = 271733878; + var e = -1009589776; + + for(var i = 0; i < x.length; i += 16) + { + var olda = a; + var oldb = b; + var oldc = c; + var oldd = d; + var olde = e; + + for(var j = 0; j < 80; j++) + { + if(j < 16) w[j] = x[i + j]; + else w[j] = rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1); + var t = safe_add(safe_add(rol(a, 5), sha1_ft(j, b, c, d)), + safe_add(safe_add(e, w[j]), sha1_kt(j))); + e = d; + d = c; + c = rol(b, 30); + b = a; + a = t; + } + + a = safe_add(a, olda); + b = safe_add(b, oldb); + c = safe_add(c, oldc); + d = safe_add(d, oldd); + e = safe_add(e, olde); + } + return Array(a, b, c, d, e); + +} + +/* + * Perform the appropriate triplet combination function for the current + * iteration + */ +function sha1_ft(t, b, c, d) +{ + if(t < 20) return (b & c) | ((~b) & d); + if(t < 40) return b ^ c ^ d; + if(t < 60) return (b & c) | (b & d) | (c & d); + return b ^ c ^ d; +} + +/* + * Determine the appropriate additive constant for the current iteration + */ +function sha1_kt(t) +{ + return (t < 20) ? 1518500249 : (t < 40) ? 1859775393 : + (t < 60) ? -1894007588 : -899497514; +} + +/* + * Calculate the HMAC-SHA1 of a key and some data + */ +function core_hmac_sha1(key, data) +{ + var bkey = str2binb(key); + if(bkey.length > 16) bkey = core_sha1(bkey, key.length * chrsz); + + var ipad = Array(16), opad = Array(16); + for(var i = 0; i < 16; i++) + { + ipad[i] = bkey[i] ^ 0x36363636; + opad[i] = bkey[i] ^ 0x5C5C5C5C; + } + + var hash = core_sha1(ipad.concat(str2binb(data)), 512 + data.length * chrsz); + return core_sha1(opad.concat(hash), 512 + 160); +} + +/* + * Add integers, wrapping at 2^32. This uses 16-bit operations internally + * to work around bugs in some JS interpreters. + */ +function safe_add(x, y) +{ + var lsw = (x & 0xFFFF) + (y & 0xFFFF); + var msw = (x >> 16) + (y >> 16) + (lsw >> 16); + return (msw << 16) | (lsw & 0xFFFF); +} + +/* + * Bitwise rotate a 32-bit number to the left. + */ +function rol(num, cnt) +{ + return (num << cnt) | (num >>> (32 - cnt)); +} + +/* + * Convert an 8-bit or 16-bit string to an array of big-endian words + * In 8-bit function, characters >255 have their hi-byte silently ignored. + */ +function str2binb(str) +{ + var bin = Array(); + var mask = (1 << chrsz) - 1; + for(var i = 0; i < str.length * chrsz; i += chrsz) + bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (32 - chrsz - i%32); + return bin; +} + +/* + * Convert an array of big-endian words to a string + */ +function binb2str(bin) +{ + var str = ""; + var mask = (1 << chrsz) - 1; + for(var i = 0; i < bin.length * 32; i += chrsz) + str += String.fromCharCode((bin[i>>5] >>> (32 - chrsz - i%32)) & mask); + return str; +} + +/* + * Convert an array of big-endian words to a hex string. + */ +function binb2hex(binarray) +{ + var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; + var str = ""; + for(var i = 0; i < binarray.length * 4; i++) + { + str += hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8+4)) & 0xF) + + hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8 )) & 0xF); + } + return str; +} + +/* + * Convert an array of big-endian words to a base-64 string + */ +function binb2b64(binarray) +{ + var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + var str = ""; + for(var i = 0; i < binarray.length * 4; i += 3) + { + var triplet = (((binarray[i >> 2] >> 8 * (3 - i %4)) & 0xFF) << 16) + | (((binarray[i+1 >> 2] >> 8 * (3 - (i+1)%4)) & 0xFF) << 8 ) + | ((binarray[i+2 >> 2] >> 8 * (3 - (i+2)%4)) & 0xFF); + for(var j = 0; j < 4; j++) + { + if(i * 8 + j * 6 > binarray.length * 32) str += b64pad; + else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F); + } + } + return str; +} + + +var plainText = "Two households, both alike in dignity,\n\ +In fair Verona, where we lay our scene,\n\ +From ancient grudge break to new mutiny,\n\ +Where civil blood makes civil hands unclean.\n\ +From forth the fatal loins of these two foes\n\ +A pair of star-cross'd lovers take their life;\n\ +Whole misadventured piteous overthrows\n\ +Do with their death bury their parents' strife.\n\ +The fearful passage of their death-mark'd love,\n\ +And the continuance of their parents' rage,\n\ +Which, but their children's end, nought could remove,\n\ +Is now the two hours' traffic of our stage;\n\ +The which if you with patient ears attend,\n\ +What here shall miss, our toil shall strive to mend."; + +for (var i = 0; i <4; i++) { + plainText += plainText; +} + +var sha1Output = hex_sha1(plainText); diff --git a/tests/benchmarks/script/sunspider/tests/date-format-tofte.js b/tests/benchmarks/script/sunspider/tests/date-format-tofte.js new file mode 100644 index 0000000..66e2cef --- /dev/null +++ b/tests/benchmarks/script/sunspider/tests/date-format-tofte.js @@ -0,0 +1,299 @@ +function arrayExists(array, x) { + for (var i = 0; i < array.length; i++) { + if (array[i] == x) return true; + } + return false; +} + +Date.prototype.formatDate = function (input,time) { + // formatDate : + // a PHP date like function, for formatting date strings + // See: http://www.php.net/date + // + // input : format string + // time : epoch time (seconds, and optional) + // + // if time is not passed, formatting is based on + // the current "this" date object's set time. + // + // supported: + // a, A, B, d, D, F, g, G, h, H, i, j, l (lowercase L), L, + // m, M, n, O, r, s, S, t, U, w, W, y, Y, z + // + // unsupported: + // I (capital i), T, Z + + var switches = ["a", "A", "B", "d", "D", "F", "g", "G", "h", "H", + "i", "j", "l", "L", "m", "M", "n", "O", "r", "s", + "S", "t", "U", "w", "W", "y", "Y", "z"]; + var daysLong = ["Sunday", "Monday", "Tuesday", "Wednesday", + "Thursday", "Friday", "Saturday"]; + var daysShort = ["Sun", "Mon", "Tue", "Wed", + "Thu", "Fri", "Sat"]; + var monthsShort = ["Jan", "Feb", "Mar", "Apr", + "May", "Jun", "Jul", "Aug", "Sep", + "Oct", "Nov", "Dec"]; + var monthsLong = ["January", "February", "March", "April", + "May", "June", "July", "August", "September", + "October", "November", "December"]; + var daysSuffix = ["st", "nd", "rd", "th", "th", "th", "th", // 1st - 7th + "th", "th", "th", "th", "th", "th", "th", // 8th - 14th + "th", "th", "th", "th", "th", "th", "st", // 15th - 21st + "nd", "rd", "th", "th", "th", "th", "th", // 22nd - 28th + "th", "th", "st"]; // 29th - 31st + + function a() { + // Lowercase Ante meridiem and Post meridiem + return self.getHours() > 11? "pm" : "am"; + } + function A() { + // Uppercase Ante meridiem and Post meridiem + return self.getHours() > 11? "PM" : "AM"; + } + + function B(){ + // Swatch internet time. code simply grabbed from ppk, + // since I was feeling lazy: + // http://www.xs4all.nl/~ppk/js/beat.html + var off = (self.getTimezoneOffset() + 60)*60; + var theSeconds = (self.getHours() * 3600) + + (self.getMinutes() * 60) + + self.getSeconds() + off; + var beat = Math.floor(theSeconds/86.4); + if (beat > 1000) beat -= 1000; + if (beat < 0) beat += 1000; + if ((""+beat).length == 1) beat = "00"+beat; + if ((""+beat).length == 2) beat = "0"+beat; + return beat; + } + + function d() { + // Day of the month, 2 digits with leading zeros + return new String(self.getDate()).length == 1? + "0"+self.getDate() : self.getDate(); + } + function D() { + // A textual representation of a day, three letters + return daysShort[self.getDay()]; + } + function F() { + // A full textual representation of a month + return monthsLong[self.getMonth()]; + } + function g() { + // 12-hour format of an hour without leading zeros + return self.getHours() > 12? self.getHours()-12 : self.getHours(); + } + function G() { + // 24-hour format of an hour without leading zeros + return self.getHours(); + } + function h() { + // 12-hour format of an hour with leading zeros + if (self.getHours() > 12) { + var s = new String(self.getHours()-12); + return s.length == 1? + "0"+ (self.getHours()-12) : self.getHours()-12; + } else { + var s = new String(self.getHours()); + return s.length == 1? + "0"+self.getHours() : self.getHours(); + } + } + function H() { + // 24-hour format of an hour with leading zeros + return new String(self.getHours()).length == 1? + "0"+self.getHours() : self.getHours(); + } + function i() { + // Minutes with leading zeros + return new String(self.getMinutes()).length == 1? + "0"+self.getMinutes() : self.getMinutes(); + } + function j() { + // Day of the month without leading zeros + return self.getDate(); + } + function l() { + // A full textual representation of the day of the week + return daysLong[self.getDay()]; + } + function L() { + // leap year or not. 1 if leap year, 0 if not. + // the logic should match iso's 8601 standard. + var y_ = Y(); + if ( + (y_ % 4 == 0 && y_ % 100 != 0) || + (y_ % 4 == 0 && y_ % 100 == 0 && y_ % 400 == 0) + ) { + return 1; + } else { + return 0; + } + } + function m() { + // Numeric representation of a month, with leading zeros + return self.getMonth() < 9? + "0"+(self.getMonth()+1) : + self.getMonth()+1; + } + function M() { + // A short textual representation of a month, three letters + return monthsShort[self.getMonth()]; + } + function n() { + // Numeric representation of a month, without leading zeros + return self.getMonth()+1; + } + function O() { + // Difference to Greenwich time (GMT) in hours + var os = Math.abs(self.getTimezoneOffset()); + var h = ""+Math.floor(os/60); + var m = ""+(os%60); + h.length == 1? h = "0"+h:1; + m.length == 1? m = "0"+m:1; + return self.getTimezoneOffset() < 0 ? "+"+h+m : "-"+h+m; + } + function r() { + // RFC 822 formatted date + var r; // result + // Thu , 21 Dec 2000 + r = D() + ", " + j() + " " + M() + " " + Y() + + // 16 : 01 : 07 +0200 + " " + H() + ":" + i() + ":" + s() + " " + O(); + return r; + } + function S() { + // English ordinal suffix for the day of the month, 2 characters + return daysSuffix[self.getDate()-1]; + } + function s() { + // Seconds, with leading zeros + return new String(self.getSeconds()).length == 1? + "0"+self.getSeconds() : self.getSeconds(); + } + function t() { + + // thanks to Matt Bannon for some much needed code-fixes here! + var daysinmonths = [null,31,28,31,30,31,30,31,31,30,31,30,31]; + if (L()==1 && n()==2) return 29; // leap day + return daysinmonths[n()]; + } + function U() { + // Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) + return Math.round(self.getTime()/1000); + } + function W() { + // Weeknumber, as per ISO specification: + // http://www.cl.cam.ac.uk/~mgk25/iso-time.html + + // if the day is three days before newyears eve, + // there's a chance it's "week 1" of next year. + // here we check for that. + var beforeNY = 364+L() - z(); + var afterNY = z(); + var weekday = w()!=0?w()-1:6; // makes sunday (0), into 6. + if (beforeNY <= 2 && weekday <= 2-beforeNY) { + return 1; + } + // similarly, if the day is within threedays of newyears + // there's a chance it belongs in the old year. + var ny = new Date("January 1 " + Y() + " 00:00:00"); + var nyDay = ny.getDay()!=0?ny.getDay()-1:6; + if ( + (afterNY <= 2) && + (nyDay >=4) && + (afterNY >= (6-nyDay)) + ) { + // Since I'm not sure we can just always return 53, + // i call the function here again, using the last day + // of the previous year, as the date, and then just + // return that week. + var prevNY = new Date("December 31 " + (Y()-1) + " 00:00:00"); + return prevNY.formatDate("W"); + } + + // week 1, is the week that has the first thursday in it. + // note that this value is not zero index. + if (nyDay <= 3) { + // first day of the year fell on a thursday, or earlier. + return 1 + Math.floor( ( z() + nyDay ) / 7 ); + } else { + // first day of the year fell on a friday, or later. + return 1 + Math.floor( ( z() - ( 7 - nyDay ) ) / 7 ); + } + } + function w() { + // Numeric representation of the day of the week + return self.getDay(); + } + + function Y() { + // A full numeric representation of a year, 4 digits + + // we first check, if getFullYear is supported. if it + // is, we just use that. ppks code is nice, but wont + // work with dates outside 1900-2038, or something like that + if (self.getFullYear) { + var newDate = new Date("January 1 2001 00:00:00 +0000"); + var x = newDate .getFullYear(); + if (x == 2001) { + // i trust the method now + return self.getFullYear(); + } + } + // else, do this: + // codes thanks to ppk: + // http://www.xs4all.nl/~ppk/js/introdate.html + var x = self.getYear(); + var y = x % 100; + y += (y < 38) ? 2000 : 1900; + return y; + } + function y() { + // A two-digit representation of a year + var y = Y()+""; + return y.substring(y.length-2,y.length); + } + function z() { + // The day of the year, zero indexed! 0 through 366 + var t = new Date("January 1 " + Y() + " 00:00:00"); + var diff = self.getTime() - t.getTime(); + return Math.floor(diff/1000/60/60/24); + } + + var self = this; + if (time) { + // save time + var prevTime = self.getTime(); + self.setTime(time); + } + + var ia = input.split(""); + var ij = 0; + while (ia[ij]) { + if (ia[ij] == "\\") { + // this is our way of allowing users to escape stuff + ia.splice(ij,1); + } else { + if (arrayExists(switches,ia[ij])) { + ia[ij] = eval(ia[ij] + "()"); + } + } + ij++; + } + // reset time, back to what it was + if (prevTime) { + self.setTime(prevTime); + } + return ia.join(""); +} + +var date = new Date("1/1/2007 1:11:11"); + +for (i = 0; i < 500; ++i) { + var shortFormat = date.formatDate("Y-m-d"); + var longFormat = date.formatDate("l, F d, Y g:i:s A"); + date.setTime(date.getTime() + 84266956); +} + diff --git a/tests/benchmarks/script/sunspider/tests/date-format-xparb.js b/tests/benchmarks/script/sunspider/tests/date-format-xparb.js new file mode 100644 index 0000000..1f09556 --- /dev/null +++ b/tests/benchmarks/script/sunspider/tests/date-format-xparb.js @@ -0,0 +1,417 @@ +/* + * Copyright (C) 2004 Baron Schwartz + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by the + * Free Software Foundation, version 2.1. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + * details. + */ + +Date.parseFunctions = {count:0}; +Date.parseRegexes = []; +Date.formatFunctions = {count:0}; + +Date.prototype.dateFormat = function(format) { + if (Date.formatFunctions[format] == null) { + Date.createNewFormat(format); + } + var func = Date.formatFunctions[format]; + return this[func](); +} + +Date.createNewFormat = function(format) { + var funcName = "format" + Date.formatFunctions.count++; + Date.formatFunctions[format] = funcName; + var code = "Date.prototype." + funcName + " = function(){return "; + var special = false; + var ch = ''; + for (var i = 0; i < format.length; ++i) { + ch = format.charAt(i); + if (!special && ch == "\\") { + special = true; + } + else if (special) { + special = false; + code += "'" + String.escape(ch) + "' + "; + } + else { + code += Date.getFormatCode(ch); + } + } + eval(code.substring(0, code.length - 3) + ";}"); +} + +Date.getFormatCode = function(character) { + switch (character) { + case "d": + return "String.leftPad(this.getDate(), 2, '0') + "; + case "D": + return "Date.dayNames[this.getDay()].substring(0, 3) + "; + case "j": + return "this.getDate() + "; + case "l": + return "Date.dayNames[this.getDay()] + "; + case "S": + return "this.getSuffix() + "; + case "w": + return "this.getDay() + "; + case "z": + return "this.getDayOfYear() + "; + case "W": + return "this.getWeekOfYear() + "; + case "F": + return "Date.monthNames[this.getMonth()] + "; + case "m": + return "String.leftPad(this.getMonth() + 1, 2, '0') + "; + case "M": + return "Date.monthNames[this.getMonth()].substring(0, 3) + "; + case "n": + return "(this.getMonth() + 1) + "; + case "t": + return "this.getDaysInMonth() + "; + case "L": + return "(this.isLeapYear() ? 1 : 0) + "; + case "Y": + return "this.getFullYear() + "; + case "y": + return "('' + this.getFullYear()).substring(2, 4) + "; + case "a": + return "(this.getHours() < 12 ? 'am' : 'pm') + "; + case "A": + return "(this.getHours() < 12 ? 'AM' : 'PM') + "; + case "g": + return "((this.getHours() %12) ? this.getHours() % 12 : 12) + "; + case "G": + return "this.getHours() + "; + case "h": + return "String.leftPad((this.getHours() %12) ? this.getHours() % 12 : 12, 2, '0') + "; + case "H": + return "String.leftPad(this.getHours(), 2, '0') + "; + case "i": + return "String.leftPad(this.getMinutes(), 2, '0') + "; + case "s": + return "String.leftPad(this.getSeconds(), 2, '0') + "; + case "O": + return "this.getGMTOffset() + "; + case "T": + return "this.getTimezone() + "; + case "Z": + return "(this.getTimezoneOffset() * -60) + "; + default: + return "'" + String.escape(character) + "' + "; + } +} + +Date.parseDate = function(input, format) { + if (Date.parseFunctions[format] == null) { + Date.createParser(format); + } + var func = Date.parseFunctions[format]; + return Date[func](input); +} + +Date.createParser = function(format) { + var funcName = "parse" + Date.parseFunctions.count++; + var regexNum = Date.parseRegexes.length; + var currentGroup = 1; + Date.parseFunctions[format] = funcName; + + var code = "Date." + funcName + " = function(input){\n" + + "var y = -1, m = -1, d = -1, h = -1, i = -1, s = -1;\n" + + "var d = new Date();\n" + + "y = d.getFullYear();\n" + + "m = d.getMonth();\n" + + "d = d.getDate();\n" + + "var results = input.match(Date.parseRegexes[" + regexNum + "]);\n" + + "if (results && results.length > 0) {" + var regex = ""; + + var special = false; + var ch = ''; + for (var i = 0; i < format.length; ++i) { + ch = format.charAt(i); + if (!special && ch == "\\") { + special = true; + } + else if (special) { + special = false; + regex += String.escape(ch); + } + else { + obj = Date.formatCodeToRegex(ch, currentGroup); + currentGroup += obj.g; + regex += obj.s; + if (obj.g && obj.c) { + code += obj.c; + } + } + } + + code += "if (y > 0 && m >= 0 && d > 0 && h >= 0 && i >= 0 && s >= 0)\n" + + "{return new Date(y, m, d, h, i, s);}\n" + + "else if (y > 0 && m >= 0 && d > 0 && h >= 0 && i >= 0)\n" + + "{return new Date(y, m, d, h, i);}\n" + + "else if (y > 0 && m >= 0 && d > 0 && h >= 0)\n" + + "{return new Date(y, m, d, h);}\n" + + "else if (y > 0 && m >= 0 && d > 0)\n" + + "{return new Date(y, m, d);}\n" + + "else if (y > 0 && m >= 0)\n" + + "{return new Date(y, m);}\n" + + "else if (y > 0)\n" + + "{return new Date(y);}\n" + + "}return null;}"; + + Date.parseRegexes[regexNum] = new RegExp("^" + regex + "$"); + eval(code); +} + +Date.formatCodeToRegex = function(character, currentGroup) { + switch (character) { + case "D": + return {g:0, + c:null, + s:"(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat)"}; + case "j": + case "d": + return {g:1, + c:"d = parseInt(results[" + currentGroup + "], 10);\n", + s:"(\\d{1,2})"}; + case "l": + return {g:0, + c:null, + s:"(?:" + Date.dayNames.join("|") + ")"}; + case "S": + return {g:0, + c:null, + s:"(?:st|nd|rd|th)"}; + case "w": + return {g:0, + c:null, + s:"\\d"}; + case "z": + return {g:0, + c:null, + s:"(?:\\d{1,3})"}; + case "W": + return {g:0, + c:null, + s:"(?:\\d{2})"}; + case "F": + return {g:1, + c:"m = parseInt(Date.monthNumbers[results[" + currentGroup + "].substring(0, 3)], 10);\n", + s:"(" + Date.monthNames.join("|") + ")"}; + case "M": + return {g:1, + c:"m = parseInt(Date.monthNumbers[results[" + currentGroup + "]], 10);\n", + s:"(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)"}; + case "n": + case "m": + return {g:1, + c:"m = parseInt(results[" + currentGroup + "], 10) - 1;\n", + s:"(\\d{1,2})"}; + case "t": + return {g:0, + c:null, + s:"\\d{1,2}"}; + case "L": + return {g:0, + c:null, + s:"(?:1|0)"}; + case "Y": + return {g:1, + c:"y = parseInt(results[" + currentGroup + "], 10);\n", + s:"(\\d{4})"}; + case "y": + return {g:1, + c:"var ty = parseInt(results[" + currentGroup + "], 10);\n" + + "y = ty > Date.y2kYear ? 1900 + ty : 2000 + ty;\n", + s:"(\\d{1,2})"}; + case "a": + return {g:1, + c:"if (results[" + currentGroup + "] == 'am') {\n" + + "if (h == 12) { h = 0; }\n" + + "} else { if (h < 12) { h += 12; }}", + s:"(am|pm)"}; + case "A": + return {g:1, + c:"if (results[" + currentGroup + "] == 'AM') {\n" + + "if (h == 12) { h = 0; }\n" + + "} else { if (h < 12) { h += 12; }}", + s:"(AM|PM)"}; + case "g": + case "G": + case "h": + case "H": + return {g:1, + c:"h = parseInt(results[" + currentGroup + "], 10);\n", + s:"(\\d{1,2})"}; + case "i": + return {g:1, + c:"i = parseInt(results[" + currentGroup + "], 10);\n", + s:"(\\d{2})"}; + case "s": + return {g:1, + c:"s = parseInt(results[" + currentGroup + "], 10);\n", + s:"(\\d{2})"}; + case "O": + return {g:0, + c:null, + s:"[+-]\\d{4}"}; + case "T": + return {g:0, + c:null, + s:"[A-Z]{3}"}; + case "Z": + return {g:0, + c:null, + s:"[+-]\\d{1,5}"}; + default: + return {g:0, + c:null, + s:String.escape(character)}; + } +} + +Date.prototype.getTimezone = function() { + return this.toString().replace( + /^.*? ([A-Z]{3}) [0-9]{4}.*$/, "$1").replace( + /^.*?\(([A-Z])[a-z]+ ([A-Z])[a-z]+ ([A-Z])[a-z]+\)$/, "$1$2$3"); +} + +Date.prototype.getGMTOffset = function() { + return (this.getTimezoneOffset() > 0 ? "-" : "+") + + String.leftPad(Math.floor(this.getTimezoneOffset() / 60), 2, "0") + + String.leftPad(this.getTimezoneOffset() % 60, 2, "0"); +} + +Date.prototype.getDayOfYear = function() { + var num = 0; + Date.daysInMonth[1] = this.isLeapYear() ? 29 : 28; + for (var i = 0; i < this.getMonth(); ++i) { + num += Date.daysInMonth[i]; + } + return num + this.getDate() - 1; +} + +Date.prototype.getWeekOfYear = function() { + // Skip to Thursday of this week + var now = this.getDayOfYear() + (4 - this.getDay()); + // Find the first Thursday of the year + var jan1 = new Date(this.getFullYear(), 0, 1); + var then = (7 - jan1.getDay() + 4); + document.write(then); + return String.leftPad(((now - then) / 7) + 1, 2, "0"); +} + +Date.prototype.isLeapYear = function() { + var year = this.getFullYear(); + return ((year & 3) == 0 && (year % 100 || (year % 400 == 0 && year))); +} + +Date.prototype.getFirstDayOfMonth = function() { + var day = (this.getDay() - (this.getDate() - 1)) % 7; + return (day < 0) ? (day + 7) : day; +} + +Date.prototype.getLastDayOfMonth = function() { + var day = (this.getDay() + (Date.daysInMonth[this.getMonth()] - this.getDate())) % 7; + return (day < 0) ? (day + 7) : day; +} + +Date.prototype.getDaysInMonth = function() { + Date.daysInMonth[1] = this.isLeapYear() ? 29 : 28; + return Date.daysInMonth[this.getMonth()]; +} + +Date.prototype.getSuffix = function() { + switch (this.getDate()) { + case 1: + case 21: + case 31: + return "st"; + case 2: + case 22: + return "nd"; + case 3: + case 23: + return "rd"; + default: + return "th"; + } +} + +String.escape = function(string) { + return string.replace(/('|\\)/g, "\\$1"); +} + +String.leftPad = function (val, size, ch) { + var result = new String(val); + if (ch == null) { + ch = " "; + } + while (result.length < size) { + result = ch + result; + } + return result; +} + +Date.daysInMonth = [31,28,31,30,31,30,31,31,30,31,30,31]; +Date.monthNames = + ["January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December"]; +Date.dayNames = + ["Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday"]; +Date.y2kYear = 50; +Date.monthNumbers = { + Jan:0, + Feb:1, + Mar:2, + Apr:3, + May:4, + Jun:5, + Jul:6, + Aug:7, + Sep:8, + Oct:9, + Nov:10, + Dec:11}; +Date.patterns = { + ISO8601LongPattern:"Y-m-d H:i:s", + ISO8601ShortPattern:"Y-m-d", + ShortDatePattern: "n/j/Y", + LongDatePattern: "l, F d, Y", + FullDateTimePattern: "l, F d, Y g:i:s A", + MonthDayPattern: "F d", + ShortTimePattern: "g:i A", + LongTimePattern: "g:i:s A", + SortableDateTimePattern: "Y-m-d\\TH:i:s", + UniversalSortableDateTimePattern: "Y-m-d H:i:sO", + YearMonthPattern: "F, Y"}; + +var date = new Date("1/1/2007 1:11:11"); + +for (i = 0; i < 4000; ++i) { + var shortFormat = date.dateFormat("Y-m-d"); + var longFormat = date.dateFormat("l, F d, Y g:i:s A"); + date.setTime(date.getTime() + 84266956); +} diff --git a/tests/benchmarks/script/sunspider/tests/math-cordic.js b/tests/benchmarks/script/sunspider/tests/math-cordic.js new file mode 100644 index 0000000..4d3833b --- /dev/null +++ b/tests/benchmarks/script/sunspider/tests/math-cordic.js @@ -0,0 +1,95 @@ +/* + * Copyright (C) Rich Moore. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY CONTRIBUTORS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/////. Start CORDIC + +var AG_CONST = 0.6072529350; + +function FIXED(X) +{ + return X * 65536.0; +} + +function FLOAT(X) +{ + return X / 65536.0; +} + +function DEG2RAD(X) +{ + return 0.017453 * (X); +} + +var Angles = [ + FIXED(45.0), FIXED(26.565), FIXED(14.0362), FIXED(7.12502), + FIXED(3.57633), FIXED(1.78991), FIXED(0.895174), FIXED(0.447614), + FIXED(0.223811), FIXED(0.111906), FIXED(0.055953), + FIXED(0.027977) + ]; + + +function cordicsincos() { + var X; + var Y; + var TargetAngle; + var CurrAngle; + var Step; + + X = FIXED(AG_CONST); /* AG_CONST * cos(0) */ + Y = 0; /* AG_CONST * sin(0) */ + + TargetAngle = FIXED(28.027); + CurrAngle = 0; + for (Step = 0; Step < 12; Step++) { + var NewX; + if (TargetAngle > CurrAngle) { + NewX = X - (Y >> Step); + Y = (X >> Step) + Y; + X = NewX; + CurrAngle += Angles[Step]; + } else { + NewX = X + (Y >> Step); + Y = -(X >> Step) + Y; + X = NewX; + CurrAngle -= Angles[Step]; + } + } +} + +///// End CORDIC + +function cordic( runs ) { + var start = new Date(); + + for ( var i = 0 ; i < runs ; i++ ) { + cordicsincos(); + } + + var end = new Date(); + + return end.getTime() - start.getTime(); +} + +cordic(25000); diff --git a/tests/benchmarks/script/sunspider/tests/math-partial-sums.js b/tests/benchmarks/script/sunspider/tests/math-partial-sums.js new file mode 100644 index 0000000..d082d79 --- /dev/null +++ b/tests/benchmarks/script/sunspider/tests/math-partial-sums.js @@ -0,0 +1,33 @@ +// The Computer Language Shootout +// http://shootout.alioth.debian.org/ +// contributed by Isaac Gouy + +function partial(n){ + var a1 = a2 = a3 = a4 = a5 = a6 = a7 = a8 = a9 = 0.0; + var twothirds = 2.0/3.0; + var alt = -1.0; + var k2 = k3 = sk = ck = 0.0; + + for (var k = 1; k <= n; k++){ + k2 = k*k; + k3 = k2*k; + sk = Math.sin(k); + ck = Math.cos(k); + alt = -alt; + + a1 += Math.pow(twothirds,k-1); + a2 += Math.pow(k,-0.5); + a3 += 1.0/(k*(k+1.0)); + a4 += 1.0/(k3 * sk*sk); + a5 += 1.0/(k3 * ck*ck); + a6 += 1.0/k; + a7 += 1.0/k2; + a8 += alt/k; + a9 += alt/(2*k -1); + } +} + +for (var i = 1024; i <= 16384; i *= 2) { + partial(i); +} + diff --git a/tests/benchmarks/script/sunspider/tests/math-spectral-norm.js b/tests/benchmarks/script/sunspider/tests/math-spectral-norm.js new file mode 100644 index 0000000..8139ef3 --- /dev/null +++ b/tests/benchmarks/script/sunspider/tests/math-spectral-norm.js @@ -0,0 +1,51 @@ +// The Great Computer Language Shootout +// http://shootout.alioth.debian.org/ +// +// contributed by Ian Osgood + +function A(i,j) { + return 1/((i+j)*(i+j+1)/2+i+1); +} + +function Au(u,v) { + for (var i=0; i.*\n|\n/g,"") +clen = dnaInput.length + +var dnaOutputString; + +for(i in seqs) + dnaOutputString += seqs[i].source + " " + (dnaInput.match(seqs[i]) || []).length + "\n"; + // match returns null if no matches, so replace with empty + +for(k in subs) + dnaInput = dnaInput.replace(k, subs[k]) // FIXME: Would like this to be a global substitution in a future version of SunSpider. + // search string, replacement string, flags diff --git a/tests/benchmarks/script/sunspider/tests/string-base64.js b/tests/benchmarks/script/sunspider/tests/string-base64.js new file mode 100644 index 0000000..dfc949f --- /dev/null +++ b/tests/benchmarks/script/sunspider/tests/string-base64.js @@ -0,0 +1,135 @@ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is Mozilla XML-RPC Client component. + * + * The Initial Developer of the Original Code is + * Digital Creations 2, Inc. + * Portions created by the Initial Developer are Copyright (C) 2000 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Martijn Pieters (original author) + * Samuel Sieb + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +// From: http://lxr.mozilla.org/mozilla/source/extensions/xml-rpc/src/nsXmlRpcClient.js#956 + +/* Convert data (an array of integers) to a Base64 string. */ +var toBase64Table = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; +var base64Pad = '='; + +function toBase64(data) { + var result = ''; + var length = data.length; + var i; + // Convert every three bytes to 4 ascii characters. + for (i = 0; i < (length - 2); i += 3) { + result += toBase64Table[data.charCodeAt(i) >> 2]; + result += toBase64Table[((data.charCodeAt(i) & 0x03) << 4) + (data.charCodeAt(i+1) >> 4)]; + result += toBase64Table[((data.charCodeAt(i+1) & 0x0f) << 2) + (data.charCodeAt(i+2) >> 6)]; + result += toBase64Table[data.charCodeAt(i+2) & 0x3f]; + } + + // Convert the remaining 1 or 2 bytes, pad out to 4 characters. + if (length%3) { + i = length - (length%3); + result += toBase64Table[data.charCodeAt(i) >> 2]; + if ((length%3) == 2) { + result += toBase64Table[((data.charCodeAt(i) & 0x03) << 4) + (data.charCodeAt(i+1) >> 4)]; + result += toBase64Table[(data.charCodeAt(i+1) & 0x0f) << 2]; + result += base64Pad; + } else { + result += toBase64Table[(data.charCodeAt(i) & 0x03) << 4]; + result += base64Pad + base64Pad; + } + } + + return result; +} + +/* Convert Base64 data to a string */ +var toBinaryTable = [ + -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, + -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, + -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,62, -1,-1,-1,63, + 52,53,54,55, 56,57,58,59, 60,61,-1,-1, -1, 0,-1,-1, + -1, 0, 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,-1, -1,-1,-1,-1, + -1,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,-1, -1,-1,-1,-1 +]; + +function base64ToString(data) { + var result = ''; + var leftbits = 0; // number of bits decoded, but yet to be appended + var leftdata = 0; // bits decoded, but yet to be appended + + // Convert one by one. + for (var i = 0; i < data.length; i++) { + var c = toBinaryTable[data.charCodeAt(i) & 0x7f]; + var padding = (data.charCodeAt(i) == base64Pad.charCodeAt(0)); + // Skip illegal characters and whitespace + if (c == -1) continue; + + // Collect data into leftdata, update bitcount + leftdata = (leftdata << 6) | c; + leftbits += 6; + + // If we have 8 or more bits, append 8 bits to the result + if (leftbits >= 8) { + leftbits -= 8; + // Append if not padding. + if (!padding) + result += String.fromCharCode((leftdata >> leftbits) & 0xff); + leftdata &= (1 << leftbits) - 1; + } + } + + // If there are any bits left, the base64 string was corrupted + if (leftbits) + throw Components.Exception('Corrupted base64 string'); + + return result; +} + +var str = ""; + +for ( var i = 0; i < 8192; i++ ) + str += String.fromCharCode( (25 * Math.random()) + 97 ); + +for ( var i = 8192; i <= 16384; i *= 2 ) { + + var base64; + + base64 = toBase64(str); + base64ToString(base64); + + // Double the string + str += str; +} + +toBinaryTable = null; diff --git a/tests/benchmarks/script/sunspider/tests/string-fasta.js b/tests/benchmarks/script/sunspider/tests/string-fasta.js new file mode 100644 index 0000000..14a81f3 --- /dev/null +++ b/tests/benchmarks/script/sunspider/tests/string-fasta.js @@ -0,0 +1,85 @@ +// The Great Computer Language Shootout +// http://shootout.alioth.debian.org +// +// Contributed by Ian Osgood + +var last = 42, A = 3877, C = 29573, M = 139968; + +function rand(max) { + last = (last * A + C) % M; + return max * last / M; +} + +var ALU = + "GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG" + + "GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA" + + "CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT" + + "ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA" + + "GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG" + + "AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC" + + "AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA"; + +var IUB = { + a:0.27, c:0.12, g:0.12, t:0.27, + B:0.02, D:0.02, H:0.02, K:0.02, + M:0.02, N:0.02, R:0.02, S:0.02, + V:0.02, W:0.02, Y:0.02 +} + +var HomoSap = { + a: 0.3029549426680, + c: 0.1979883004921, + g: 0.1975473066391, + t: 0.3015094502008 +} + +function makeCumulative(table) { + var last = null; + for (var c in table) { + if (last) table[c] += table[last]; + last = c; + } +} + +function fastaRepeat(n, seq) { + var seqi = 0, lenOut = 60; + while (n>0) { + if (n0) { + if (n= 0x7f) { + validates = false; + break; + } + } + + if (!validates) + continue; + + var url = "http://example.com/tag/" + tag.replace(" ", "").toLowerCase(); + var popularity = tagInfo[i].popularity; + var color = 'rgb(' + Math.floor(255 * (popularity - 12) / 20) + ', 0, 255)'; + output += ' ' + tag + ' \n'; + } + + output += ''; + output.replace(" ", " "); + + return output; +} + +var tagcloud = makeTagCloud(tagInfo); +tagInfo = null; diff --git a/tests/benchmarks/script/sunspider/tests/string-unpack-code.js b/tests/benchmarks/script/sunspider/tests/string-unpack-code.js new file mode 100644 index 0000000..e6330f1 --- /dev/null +++ b/tests/benchmarks/script/sunspider/tests/string-unpack-code.js @@ -0,0 +1,68 @@ +// This test case unpacks the compressed code for the MochiKit, +// jQuery, Dojo and Prototype JavaScript libraries. + +/*** + MochiKit.MochiKit 1.3.1 : PACKED VERSION + THIS FILE IS AUTOMATICALLY GENERATED. If creating patches, please + diff against the source tree, not this file. + + See for documentation, downloads, license, etc. + + (c) 2005 Bob Ippolito. All rights Reserved. +***/ + +for (var i = 0; i < 2; i++) { + +var decompressedMochiKit = function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('if(H(1q)!="L"){1q.2X("B.J")}if(H(B)=="L"){B={}}if(H(B.J)=="L"){B.J={}}B.J.1Y="1.3.1";B.J.1r="B.J";B.J.2l=G(7V,vR){if(7V===O){7V={}}R(u i=1;i=0;i--){aw.e9(o[i])}}N{X.1c(o)}}F X},1R:G(7U,1i,av){if(!av){av=0}if(1i){u l=1i.K;if(H(l)!="2y"){if(H(B.15)!="L"){1i=B.15.2G(1i);l=1i.K}N{14 Y 3p("au 2E an at-as 3W B.15 2E ar")}}if(!7U){7U=[]}R(u i=av;i>b},vG:G(a,b){F a>>>b},eq:G(a,b){F a==b},ne:G(a,b){F a!=b},gt:G(a,b){F a>b},ge:G(a,b){F a>=b},lt:G(a,b){F al){7T=l}}69=[];R(i=0;i<7T;i++){u fa=[];R(u j=1;j0){ap=m.2o(me.am,ap)}u 4o=me.f7;if(!4o){4o=D}F me.f5.1w(4o,ap)};7Q.f7=f6;7Q.f5=ao;7Q.am=5f;F 7Q},lF:G(7P){u mp=B.J.1O;R(u k in 7P){u f4=7P[k];if(H(f4)=="G"){7P[k]=mp(f4,7P)}}},5u:G(mo,mn,ml,mk){B.J.ae.5M(mo,mn,ml,mk)},mj:{"5L":1h,"1n":1h,"2y":1h},2f:G(a,b){if(a==b){F 0}u f3=(H(a)=="L"||a===O);u f2=(H(b)=="L"||b===O);if(f3&&f2){F 0}N{if(f3){F-1}N{if(f2){F 1}}}u m=B.J;u f1=m.mj;if(!(H(a)in f1&&H(b)in f1)){1f{F m.ae.3C(a,b)}1e(e){if(e!=m.4d){14 e}}}if(ab){F 1}}u f0=m.U;14 Y 3p(f0(a)+" 3W "+f0(b)+" 9v 2E be vv")},eM:G(a,b){F B.J.2f(a.9P(),b.9P())},eL:G(a,b){u mi=B.J.2f;u 7O=a.K;u al=0;if(7O>b.K){al=1;7O=b.K}N{if(7O0))){u kv=B.S.d5(3s);3s=kv[0];68=kv[1]}N{if(M.K==1){u o=3s;3s=[];68=[];R(u k in o){u v=o[k];if(H(v)!="G"){3s.1c(k);68.1c(v)}}}}u W=[];u lT=28.2a(3s.K,68.K);u eT=B.J.af;R(u i=0;i=2J){14 I.25}5c+=3a;F W}}},4c:G(aa,p,q){u m=B.J;u I=B.15;u lb=m.2r(I.1Q,m.1R(O,M,1));u 2r=m.2r;u 1a=I.1a;F{U:G(){F"4c(...)"},1l:m.24("U"),1a:G(){F aa.1w(D,2r(1a,lb))}}},ep:G(aa,1V,I){1V=B.15.1Q(1V);u m=B.J;F{U:G(){F"ep(...)"},1l:m.24("U"),1a:G(){F aa.1w(I,1V.1a())}}},55:G(p,q){u I=B.15;u m=B.J;if(M.K==1){F I.1Q(M[0])}u 64=m.2r(I.1Q,M);F{U:G(){F"55(...)"},1l:m.24("U"),1a:G(){1M(64.K>1){1f{F 64[0].1a()}1e(e){if(e!=I.25){14 e}64.2P()}}if(64.K==1){u a9=64.2P();D.1a=m.1O("1a",a9);F D.1a()}14 I.25}}},9Z:G(3b,1V){u I=B.15;1V=I.1Q(1V);F{U:G(){F"9Z(...)"},1l:B.J.24("U"),1a:G(){u W=1V.1a();if(!3b(W)){D.1a=G(){14 I.25};D.1a()}F W}}},eo:G(3b,1V){1V=B.15.1Q(1V);u m=B.J;u 1O=m.1O;F{"U":G(){F"eo(...)"},"1l":m.24("U"),"1a":G(){1M(1h){u W=1V.1a();if(!3b(W)){2K}}D.1a=1O("1a",1V);F W}}},a7:G(63,2u,la){2u.62[63]=-1;u m=B.J;u l9=m.eI;F{U:G(){F"en("+63+", ...)"},1l:m.24("U"),1a:G(){u W;u i=2u.62[63];if(i==2u.29){W=la.1a();2u.a8.1c(W);2u.29+=1;2u.62[63]+=1}N{W=2u.a8[i-2u.2a];2u.62[63]+=1;if(i==2u.2a&&l9(2u.62)!=2u.2a){2u.2a+=1;2u.a8.2P()}}F W}}},en:G(a6,n){u W=[];u 2u={"62":[],"a8":[],"29":-1,"2a":-1};if(M.K==1){n=2}u I=B.15;a6=I.1Q(a6);u a7=I.a7;R(u i=0;i0&&4k>=2J)||(3a<0&&4k<=2J)){14 B.15.25}u W=4k;4k+=3a;F W},U:G(){F"7I("+[4k,2J,3a].2b(", ")+")"},1l:B.J.24("U")}},l0:G(a5,l7){u x=l7||0;u I=B.15;a5=I.1Q(a5);1f{1M(1h){x+=a5.1a()}}1e(e){if(e!=I.25){14 e}}F x},em:G(a4){u I=B.15;a4=I.1Q(a4);1f{1M(1h){a4.1a()}}1e(e){if(e!=I.25){14 e}}},9a:G(7J,1A,I){u m=B.J;if(M.K>2){1A=m.1O(1A,I)}if(m.3A(7J)){1f{R(u i=0;i<7J.K;i++){1A(7J[i])}}1e(e){if(e!=B.15.25){14 e}}}N{I=B.15;I.em(I.4c(1A,7J))}},kZ:G(l6,1A){u I=B.15;1f{I.a0(1A,l6).1a();F 1m}1e(e){if(e!=I.25){14 e}F 1h}},kY:G(l5,4j){u W=B.15.2G(l5);if(M.K==1){4j=B.J.2f}W.iz(4j);F W},kX:G(l4){u W=B.15.2G(l4);W.vg();F W},kW:G(l3,1A){u I=B.15;1f{I.a1(1A,l3).1a();F 1h}1e(e){if(e!=I.25){14 e}F 1m}},kV:G(1g,5b){if(B.J.3A(5b)){R(u i=0;i<5b.K;i++){1g.1c(5b[i])}}N{u I=B.15;5b=I.1Q(5b);1f{1M(1h){1g.1c(5b.1a())}}1e(e){if(e!=I.25){14 e}}}F 1g},ek:G(a3,eH){u m=B.J;u I=B.15;if(M.K<2){eH=m.4i.eE}a3=I.1Q(a3);u pk=L;u k=L;u v;G eF(){v=a3.1a();k=eH(v)}G l2(){u 7j=v;v=L;F 7j}u eG=1h;F{U:G(){F"ek(...)"},1a:G(){1M(k==pk){eF();if(eG){eG=1m;2K}}pk=k;F[k,{1a:G(){if(v==L){eF()}if(k!=pk){14 I.25}F l2()}}]}}},kU:G(a2,eD){u m=B.J;u I=B.15;if(M.K<2){eD=m.4i.eE}a2=I.1Q(a2);u ey=[];u eA=1h;u ez;1M(1h){1f{u eB=a2.1a();u 2h=eD(eB)}1e(e){if(e==I.25){2K}14 e}if(eA||2h!=ez){u eC=[];ey.1c([2h,eC])}eC.1c(eB);eA=1m;ez=2h}F ey},9X:G(ex){u i=0;F{U:G(){F"9X(...)"},1l:B.J.24("U"),1a:G(){if(i>=ex.K){14 B.15.25}F ex[i++]}}},eh:G(ew){F(ew&&H(ew.ei)=="G")},9V:G(l1){F{U:G(){F"9V(...)"},1l:B.J.24("U"),1a:G(){u W=l1.ei();if(W===O||W===L){14 B.15.25}F W}}}});B.15.1W=["9Y","9X","eh","9V",];B.15.1z=["25","9W","1Q","eu","et","7b","1a","es","a1","a0","er","4c","ep","55","9Z","eo","en","2G","7H","7I","l0","em","9a","kZ","kY","kX","kW","kV","ek","kU"];B.15.2d=G(){u m=B.J;D.25=Y m.5a("25");D.9Y=Y m.4a();D.9W("ej",m.3A,D.9X);D.9W("ei",D.eh,D.9V);D.2k={":3e":D.1z,":1p":m.2o(D.1z,D.1W)};m.3f(D)};B.15.2d();if(!B.3d){7H=B.15.7H}B.J.2Y(D,B.15);if(H(1q)!="L"){1q.2X("B.1H");1q.2M("B.J")}if(H(1x)!="L"){1x.26("B.J",[])}1f{if(H(B.J)=="L"){14""}}1e(e){14"B.1H 3F on B.J!"}if(H(B.1H)=="L"){B.1H={}}B.1H.1r="B.1H";B.1H.1Y="1.3.1";B.1H.1K=G(){F"["+D.1r+" "+D.1Y+"]"};B.1H.1l=G(){F D.1K()};B.1H.1z=["5C","49","7A","kR","2L","5Z","kG","ch","kE","kC"];B.1H.1W=["ef","e8","e7"];B.1H.49=G(1P,kT,3z){D.1P=1P;D.3N=kT;D.3z=3z;D.vf=Y 3Q()};B.1H.49.1U={U:G(){u m=B.J;F"49("+m.2r(m.U,[D.1P,D.3N,D.3z]).2b(", ")+")"},1l:B.J.24("U")};B.J.2l(B.1H,{ef:G(7F){u I=B.1H;if(H(7F)=="1n"){7F=I.5C[7F]}F G(1t){u 7G=1t.3N;if(H(7G)=="1n"){7G=I.5C[7G]}F 7G>=7F}},e8:G(){u kS=B.1H.49;R(u i=0;i=0&&D.4h.K>D.ec){D.4h.2P()}},c8:G(9U){u ea=0;if(!(H(9U)=="L"||9U===O)){ea=28.29(0,D.4h.K-9U)}F D.4h.9T(ea)},kJ:G(7B){if(H(7B)=="L"||7B===O){7B=30}u 9S=D.c8(7B);if(9S.K){u 1g=2r(G(m){F"\\n ["+m.1P+"] "+m.3N+": "+m.3z.2b(" ")},9S);1g.e9("va "+9S.K+" v9:");F 1g.2b("")}F""},v8:G(kI){if(H(B.1I)=="L"){cq(D.kJ())}N{B.1I.bY(kI||1m)}}};B.1H.2d=G(){D.5C={8M:40,8L:50,8K:30,8J:20,8I:10};u m=B.J;m.5u("49",D.e8,D.e7);u 61=m.2z;u e6=D.7A;u 60=e6.1U.kH;m.2l(D.7A.1U,{kF:61(60,"8I"),5Z:61(60,"8J"),dE:61(60,"8M"),kD:61(60,"8L"),kB:61(60,"8K")});u I=D;u 5Y=G(1b){F G(){I.2L[1b].1w(I.2L,M)}};D.5Z=5Y("5Z");D.kG=5Y("dE");D.ch=5Y("kF");D.kE=5Y("kD");D.kC=5Y("kB");D.2L=Y e6();D.2L.e5=1h;D.2k={":3e":D.1z,":1p":m.2o(D.1z,D.1W)};m.3f(D)};if(H(5X)=="L"&&H(2v)!="L"&&2v.kA&&H(kz)!="L"){5X=G(){5X.3G=M;u ev=2v.kA("v7");ev.v6("5X",1m,1h);kz(ev)}}B.1H.2d();B.J.2Y(D,B.1H);if(H(1q)!="L"){1q.2X("B.1D")}if(H(B)=="L"){B={}}if(H(B.1D)=="L"){B.1D={}}B.1D.1r="B.1D";B.1D.1Y="1.3.1";B.1D.1K=G(){F"["+D.1r+" "+D.1Y+"]"};B.1D.1l=G(){F D.1K()};B.1D.ks=G(1y){1y=1y+"";if(H(1y)!="1n"||1y.K===0){F O}u 7z=1y.2R("-");if(7z.K===0){F O}F Y 3Q(7z[0],7z[1]-1,7z[2])};B.1D.ky=/(\\d{4,})(?:-(\\d{1,2})(?:-(\\d{1,2})(?:[T ](\\d{1,2}):(\\d{1,2})(?::(\\d{1,2})(?:\\.(\\d+))?)?(?:(Z)|([+-])(\\d{1,2})(?::(\\d{1,2}))?)?)?)?)?/;B.1D.kr=G(1y){1y=1y+"";if(H(1y)!="1n"||1y.K===0){F O}u X=1y.3C(B.1D.ky);if(H(X)=="L"||X===O){F O}u 5W,7y,7x,9R,2a,9Q,7w;5W=3w(X[1],10);if(H(X[2])=="L"||X[2]===""){F Y 3Q(5W)}7y=3w(X[2],10)-1;7x=3w(X[3],10);if(H(X[4])=="L"||X[4]===""){F Y 3Q(5W,7y,7x)}9R=3w(X[4],10);2a=3w(X[5],10);9Q=(H(X[6])!="L"&&X[6]!=="")?3w(X[6],10):0;if(H(X[7])!="L"&&X[7]!==""){7w=28.ha(c5*4M("0."+X[7]))}N{7w=0}if((H(X[8])=="L"||X[8]==="")&&(H(X[9])=="L"||X[9]==="")){F Y 3Q(5W,7y,7x,9R,2a,9Q,7w)}u 58;if(H(X[9])!="L"&&X[9]!==""){58=3w(X[10],10)*v5;if(H(X[11])!="L"&&X[11]!==""){58+=3w(X[11],10)*kw}if(X[9]=="-"){58=-58}}N{58=0}F Y 3Q(3Q.v4(5W,7y,7x,9R,2a,9Q,7w)-58)};B.1D.dY=G(2g,kx){if(H(2g)=="L"||2g===O){F O}u hh=2g.v3();u mm=2g.v2();u ss=2g.v1();u 1g=[((kx&&(hh<10))?"0"+hh:hh),((mm<10)?"0"+mm:mm),((ss<10)?"0"+ss:ss)];F 1g.2b(":")};B.1D.kq=G(2g,7v){if(H(2g)=="L"||2g===O){F O}u ku=7v?"T":" ";u kt=7v?"Z":"";if(7v){2g=Y 3Q(2g.9P()+(2g.v0()*kw))}F B.1D.dX(2g)+ku+B.1D.dY(2g,7v)+kt};B.1D.dX=G(2g){if(H(2g)=="L"||2g===O){F O}u e4=B.1D.e3;F[2g.dZ(),e4(2g.e1()+1),e4(2g.e0())].2b("-")};B.1D.kp=G(d){d=d+"";if(H(d)!="1n"||d.K===0){F O}u a=d.2R("/");F Y 3Q(a[2],a[0]-1,a[1])};B.1D.e3=G(n){F(n>9)?n:"0"+n};B.1D.ko=G(d){if(H(d)=="L"||d===O){F O}u e2=B.1D.e3;F[e2(d.e1()+1),e2(d.e0()),d.dZ()].2b("/")};B.1D.kn=G(d){if(H(d)=="L"||d===O){F O}F[d.e1()+1,d.e0(),d.dZ()].2b("/")};B.1D.1z=["ks","kr","dY","kq","dX","kp","ko","kn"];B.1D.1W=[];B.1D.2k={":3e":B.1D.1z,":1p":B.1D.1z};B.1D.2d=G(){u 2w=D.1r+".";R(u k in D){u o=D[k];if(H(o)=="G"&&H(o.1r)=="L"){1f{o.1r=2w+k}1e(e){}}}};B.1D.2d();if(H(B.J)!="L"){B.J.2Y(D,B.1D)}N{(G(km,dW){if((H(1x)=="L"&&H(1q)=="L")||(H(B.3d)=="5L"&&B.3d)){u 1p=dW.2k[":1p"];R(u i=0;i<1p.K;i++){km[1p[i]]=dW[1p[i]]}}})(D,B.1D)}if(H(1q)!="L"){1q.2X("B.1s")}if(H(B)=="L"){B={}}if(H(B.1s)=="L"){B.1s={}}B.1s.1r="B.1s";B.1s.1Y="1.3.1";B.1s.1K=G(){F"["+D.1r+" "+D.1Y+"]"};B.1s.1l=G(){F D.1K()};B.1s.ke=G(kl,kk,kj,ki,kh,dV,kg,9N,kf){F G(1P){1P=4M(1P);if(H(1P)=="L"||1P===O||k8(1P)){F kl}u 9L=kk;u 9K=kj;if(1P<0){1P=-1P}N{9L=9L.23(/-/,"")}u me=M.2U;u 9M=B.1s.dJ(ki);if(kh){1P=1P*3k;9K=9M.9y+9K}1P=B.1s.dK(1P,dV);u 9O=1P.2R(/\\./);u 3r=9O[0];u 3P=(9O.K==1)?"":9O[1];u X="";1M(3r.K9N){u i=3r.K-9N;X=9M.9A+3r.2W(i,3r.K)+X;3r=3r.2W(0,i)}}X=3r+X;if(dV>0){1M(3P.K=0)){D.9u()}},jR:G(X){D.9x(X);D.jX()},9x:G(X){D.2H=((X 2C 2x)?1:0);D.53[D.2H]=X;D.9u()},dD:G(){if(D.2H!=-1){if(!D.7l){14 Y B.1k.dj(D)}D.7l=1m;F}},3o:G(X){D.dD();if(X 2C B.1k.2t){14 Y 2x("2t jW 9v aB be 7r if jV jU jT jS of a 3o")}D.9x(X)},52:G(X){D.dD();u I=B.1k;if(X 2C I.2t){14 Y 2x("2t jW 9v aB be 7r if jV jU jT jS of a 3o")}if(!(X 2C 2x)){X=Y I.9p(X)}D.9x(X)},jP:G(fn){if(M.K>1){fn=B.J.2z.1w(O,M)}F D.9w(fn,fn)},5Q:G(fn){if(M.K>1){fn=B.J.2z.1w(O,M)}F D.9w(fn,O)},jA:G(fn){if(M.K>1){fn=B.J.2z.1w(O,M)}F D.9w(O,fn)},9w:G(cb,eb){if(D.7r){14 Y 2x("uQ uP 9v 2E be re-uO")}D.55.1c([cb,eb]);if(D.2H>=0){D.9u()}F D},9u:G(){u dC=D.55;u 56=D.2H;u X=D.53[56];u I=D;u cb=O;1M(dC.K>0&&D.54===0){u 2n=dC.2P();u f=2n[56];if(f===O){2V}1f{X=f(X);56=((X 2C 2x)?1:0);if(X 2C B.1k.2t){cb=G(X){I.jR(X)};D.jQ()}}1e(3O){56=1;if(!(3O 2C 2x)){3O=Y B.1k.9p(3O)}X=3O}}D.2H=56;D.53[56]=X;if(cb&&D.54){X.jP(cb);X.7r=1h}}};B.J.2l(B.1k,{dk:G(){F dB("("+M[0].jN+")")},dp:G(uN){u d=Y B.1k.2t();d.3o.1w(d,M);F d},9q:G(uM){u d=Y B.1k.2t();d.52.1w(d,M);F d},do:G(){u I=M.2U;if(!I.7q){u dy=[G(){F Y 7q()},G(){F Y dA("jO.dz")},G(){F Y dA("uL.dz")},G(){F Y dA("jO.dz.4.0")},G(){14 Y B.1k.dh("uK uJ 2E uI 7q")}];R(u i=0;i1){u m=B.J;u qs=m.dw.1w(O,m.1R(O,M,1));if(qs){5F+="?"+qs}}2s.cp("uB",5F,1h);F I.dl(2s)},jv:G(5F){u I=B.1k;u d=I.dn.1w(I,M);d=d.5Q(I.dk);F d},dm:G(jJ,dv){u d=Y B.1k.2t();u m=B.J;if(H(dv)!="L"){d.5Q(G(){F dv})}u jI=uA(m.1O("3o",d),28.8B(jJ*c5));d.7m=G(){1f{uz(jI)}1e(e){}};F d},ju:G(jH,1A){u m=B.J;u jG=m.2z.1w(m,m.1R(O,M,1));F B.1k.dm(jH).5Q(G(X){F jG()})}});B.1k.5O=G(){D.5S=[];D.4e=1m;D.id=D.7n()};B.1k.5O.1U={bX:B.1k.5O,uy:G(){d=Y B.1k.2t();if(D.4e){D.5S.1c(d)}N{D.4e=1h;d.3o(D)}F d},jF:G(){if(!D.4e){14 3p("ux to jF an jE 5O")}D.4e=1m;if(D.5S.K>0){D.4e=1h;D.5S.2P().3o(D)}},7n:B.J.4f(),U:G(){u 9t;if(D.4e){9t="4e, "+D.5S.K+" 5S"}N{9t="jE"}F"5O("+D.id+", "+9t+")"},1l:B.J.24("U")};B.1k.7i=G(2G,du,jC,jB,jD){D.2G=2G;D.9r=Y 7o(D.2G.K);D.55=[];D.id=D.7n();D.2H=-1;D.54=0;D.53=[O,O];D.7m=jD;D.7l=1m;if(D.2G.K===0&&!du){D.3o(D.9r)}D.dr=0;D.jz=du;D.jy=jC;D.jx=jB;u 9s=0;B.J.2r(B.J.1O(G(d){d.5Q(B.J.1O(D.dt,D),9s,1h);d.jA(B.J.1O(D.dt,D),9s,1m);9s+=1},D),D.2G)};B.J.2l(B.1k.7i.1U,B.1k.2t.1U);B.J.2l(B.1k.7i.1U,{dt:G(ds,7k,5R){D.9r[ds]=[7k,5R];D.dr+=1;if(D.2H!==0){if(7k&&D.jz){D.3o([ds,5R])}N{if(!7k&&D.jy){D.52(5R)}N{if(D.dr==D.2G.K){D.3o(D.9r)}}}}if(!7k&&D.jx){5R=O}F 5R}});B.1k.jt=G(jw){u d=Y B.1k.7i(jw,1m,1h,1m);d.5Q(G(dq){u 7j=[];R(u i=0;i=0){u 9m=Q.1S[Q.j4];7d.1c(1b);7c.1c((9m.3m)?9m.3m:9m.7X);F O}7d.1c(1b);7c.1c("");F O}if(4Y=="cu"||4Y=="P"||4Y=="8d"||4Y=="6m"){F Q.5h}7d.1c(1b);7c.1c(Q.3m||"");F O}F Q.5h});F[7d,7c]},94:G(1N,1A){u I=B.S;u d3=I.1Z;u W;1f{I.1Z=1N;W=1A()}1e(e){I.1Z=d3;14 e}I.1Z=d3;F W},j3:G(1b,j2,3y,j1){B.S.9b.5M(1b,j2,3y,j1)},9k:G(1j,7a){u im=B.15;u I=B.S;u 1Q=im.1Q;u iY=im.7b;u 4c=im.4c;u iX=I.9b;u iZ=I.9k;u iW=B.J.4d;1M(1h){if(H(1j)=="L"||1j===O){F O}if(H(1j.3T)!="L"&&1j.3T>0){F 1j}if(H(1j)=="2y"||H(1j)=="5L"){1j=1j.1l()}if(H(1j)=="1n"){F I.1Z.4S(1j)}if(H(1j.j0)=="G"){1j=1j.j0(7a);2V}if(H(1j)=="G"){1j=1j(7a);2V}u 9l=O;1f{9l=1Q(1j)}1e(e){}if(9l){F 4c(iZ,9l,iY(7a))}1f{1j=iX.3C(1j,7a);2V}1e(e){if(e!=iW){14 e}}F I.1Z.4S(1j.1l())}F L},iV:G(1j,79,iU){u o={};o[79]=iU;1f{F B.S.4X(1j,o)}1e(e){}F O},iT:G(1j,79){u I=B.S;u d2=I.4U.99[79];1j=I.1E(1j);1f{if(d2){F 1j[d2]}F 1j.fm(79)}1e(e){}F O},4X:G(1j,5K){u Q=1j;u I=B.S;if(H(1j)=="1n"){Q=I.1E(1j)}if(5K){u d0=B.J.8Z;if(I.4U.6X){R(u k in 5K){u v=5K[k];if(H(v)=="3n"&&H(Q[k])=="3n"){d0(Q[k],v)}N{if(k.2W(0,2)=="on"){if(H(v)=="1n"){v=Y cZ(v)}Q[k]=v}N{Q.4p(k,v)}}}}N{u iS=I.4U.99;R(k in 5K){v=5K[k];u d1=iS[k];if(k=="1T"&&H(v)=="1n"){Q.1T.3x=v}N{if(H(d1)=="1n"){Q[d1]=v}N{if(H(Q[k])=="3n"&&H(v)=="3n"){d0(Q[k],v)}N{if(k.2W(0,2)=="on"){if(H(v)=="1n"){v=Y cZ(v)}Q[k]=v}N{Q.4p(k,v)}}}}}}}F Q},9j:G(1j){u Q=1j;u I=B.S;if(H(1j)=="1n"){Q=I.1E(1j)}u 78=[I.9k(B.J.1R(O,M,1),Q)];u iR=B.J.2o;1M(78.K){u n=78.2P();if(H(n)=="L"||n===O){}N{if(H(n.3T)=="2y"){Q.2c(n)}N{78=iR(n,78)}}}F Q},iQ:G(1j){u Q=1j;u I=B.S;if(H(1j)=="1n"){Q=I.1E(1j);M[0]=Q}u cY;1M((cY=Q.6n)){Q.6S(cY)}if(M.K<2){F Q}N{F I.9j.1w(D,M)}},cX:G(1b,4b){u Q;u I=B.S;u m=B.J;if(H(4b)=="1n"||H(4b)=="2y"){u 3G=m.1R([1b,O],M,1);F M.2U.1w(D,3G)}if(H(1b)=="1n"){if(4b&&"1b"in 4b&&!I.4U.6X){1b=("<"+1b+" 1b=\\""+I.9c(4b.1b)+"\\">")}Q=I.1Z.2S(1b)}N{Q=1b}if(4b){I.4X(Q,4b)}if(M.K<=2){F Q}N{u 3G=m.1R([Q],M,2);F I.9j.1w(D,3G)}},cw:G(){u m=B.J;F m.2z.1w(D,m.1R([B.S.cX],M))},cs:G(5J,1d){u I=B.S;5J=I.1E(5J);u cW=5J.3t;if(1d){1d=I.1E(1d);cW.uj(1d,5J)}N{cW.6S(5J)}F 1d},1E:G(id){u I=B.S;if(M.K==1){F((H(id)=="1n")?I.1Z.hN(id):id)}N{F B.J.2r(I.1E,M)}},4q:G(iP,cV,cU){if(M.K==2){cU=cV}u I=B.S;u el=I.1E(iP);u 77=I.1Z;if(!el||el==77){F L}if(el.iO){F el.iO[cV]}if(H(77.5k)=="L"){F L}if(77.5k===O){F L}u 9i=77.5k.g4(el,O);if(H(9i)=="L"||9i===O){F L}F 9i.6q(cU)},aH:G(76,9g,4W){u I=B.S;if(H(76)=="L"||76===O){76="*"}if(H(4W)=="L"||4W===O){4W=I.1Z}4W=I.1E(4W);u 9h=(4W.fr(76)||I.1Z.1p);if(H(9g)=="L"||9g===O){F B.J.1R(O,9h)}u cR=[];R(u i=0;i<9h.K;i++){u cS=9h[i];u cT=cS.3M.2R(" ");R(u j=0;j/g,">")},iB:G(2q){F B.S.cG(2q).2b("")},cG:G(2q,1g){if(H(1g)=="L"||1g===O){1g=[]}u 70=[2q];u I=B.S;u cB=I.9c;u iA=I.4U;1M(70.K){2q=70.hP();if(H(2q)=="1n"){1g.1c(2q)}N{if(2q.3T==1){1g.1c("<"+2q.cD.8G());u 71=[];u cF=iA(2q);R(u i=0;i");70.1c("");u cC=2q.5h;R(i=cC.K-1;i>=0;i--){70.1c(cC[i])}}N{1g.1c("/>")}}N{if(2q.3T==3){1g.1c(cB(2q.iv))}}}}F 1g},97:G(ix,cA){u m=B.J;u iy=m.1R(O,M,1);B.15.9a(m.47(O,m.2r(B.S.1E,iy)),G(cA){cA.1T.3u=ix})},iw:G(1j,iu){u W=[];(G(1j){u cn=1j.5h;if(cn){R(u i=0;i0){u it=m.47;2T=G(1j){F it(2T.ir,1j.6Y)};2T.cx={};B.15.9a(6Z.6Y,G(a){2T.cx[a.1b]=a.3m});2T.ir=G(a){F(2T.cx[a.1b]!=a.3m)};2T.6X=1m;2T.99={"iq":"3M","ip":"ud","uc":"ub","R":"u9"}}N{2T=G(1j){F 1j.6Y};2T.6X=1h;2T.99={}}D.4U=2T;u 1C=D.cw;D.io=1C("ul");D.il=1C("ol");D.ik=1C("li");D.ij=1C("td");D.cm=1C("tr");D.ii=1C("u8");D.ih=1C("u7");D.ig=1C("u6");D.ie=1C("u5");D.ic=1C("th");D.cv=1C("ck");D.8d=1C("cj");D.A=1C("a");D.6m=1C("4u");D.ib=1C("u4");D.ia=1C("2e");D.i9=1C("tt");D.i8=1C("4O");D.i7=1C("h1");D.i6=1C("h2");D.i5=1C("h3");D.i4=1C("br");D.i3=1C("hr");D.i2=1C("u3");D.i1=1C("u2");D.cu=1C("u1");D.P=1C("p");D.ct=1C("u0");D.i0=1C("hJ");D.hZ=1C("tZ");D.hY=1C("tY");D.hX=1C("tX");D.hW=1C("tW");D.hV=1C("tV");D.hU=m.2z(D.97,"98");D.hT=m.2z(D.97,"8c");D.hS=D.cs;D.$=D.1E;D.2k={":3e":D.1z,":1p":m.2o(D.1z,D.1W)};m.3f(D)}});B.S.2d(((H(2O)=="L")?D:2O));if(!B.3d){95=B.S.95;94=B.S.94}B.J.2Y(D,B.S);if(H(1q)!="L"){1q.2X("B.1I");1q.2M("B.1H");1q.2M("B.J")}if(H(1x)!="L"){1x.26("B.1H",[]);1x.26("B.J",[])}1f{if(H(B.J)=="L"||H(B.1H)=="L"){14""}}1e(e){14"B.1I 3F on B.J 3W B.1H!"}if(H(B.1I)=="L"){B.1I={}}B.1I.1r="B.1I";B.1I.1Y="1.3.1";B.1I.1K=G(){F"["+D.1r+" "+D.1Y+"]"};B.1I.1l=G(){F D.1K()};B.1I.bY=G(6W){u m=B.1I;6W=!(!6W);if(m.3l&&m.3l.8Q!=6W){m.3l.hA();m.3l=O}if(!m.3l||m.3l.8P){m.3l=Y m.1I(6W,B.1H.2L)}F m.3l};B.1I.1I=G(4R,6V){if(H(6V)=="L"||6V===O){6V=B.1H.2L}D.2L=6V;u tU=B.J.2l;u c3=B.J.8Z;u 1O=B.J.1O;u hM=B.J.4L;u 2m=2O;u 6U="tT";if(H(B.S)!="L"){2m=B.S.cr()}if(!4R){u 5F=2m.tS.tR.2R("?")[0].23(/[:\\/.><&]/g,"hR");u 1b=6U+"hR"+5F;u 5D=2m.cp("",1b,"tQ,tP,3V=hQ");if(!5D){cq("tO tN to cp tM 2O tL to hP-up tK.");F L}5D.2v.fl(""+"<5E><8Y>[B.1I]"+"<5s>");5D.2v.hG();5D.2v.8Y+=" "+2m.2v.8Y;2m=5D}u 1N=2m.2v;D.1N=1N;u 21=1N.hN(6U);u c4=!!21;if(21&&H(21.5B)!="L"){21.5B.2L=D.2L;21.5B.6K();F 21.5B}if(c4){u cl;1M((cl=21.6n)){21.6S(cl)}}N{21=1N.2S("4u");21.id=6U}21.5B=D;u 8T=1N.2S("ck");u 8S=1N.2S("ck");u 6O=1N.2S("2e");u 6N=1N.2S("2e");u 6M=1N.2S("2e");u 6L=1N.2S("2e");u 3L=1N.2S("4u");u 42=1N.2S("4u");u 8U=6U+"tz";D.8N=hM(D.8N);u 4T=[];u 6R=O;u cf=G(1t){u 6T=1t.3N;if(H(6T)=="2y"){6T=B.1H.5C[6T]}F 6T};u cd=G(1t){F 1t.3z.2b(" ")};u ca=1O(G(1t){u 8W=cf(1t);u 7X=cd(1t);u c=D.8N[8W];u p=1N.2S("cj");p.3M="B-49 B-5C-"+8W;p.1T.3x="ty: 2N; 4F-8X: -hL-4O-3y; 4F-8X: -o-4O-3y; 4F-8X: 4O-3y; 4F-8X: 4O-tx; hK-3y: 2K-hK; 3y-hJ: tw; 3U: "+c;p.2c(1N.4S(8W+": "+7X));42.2c(p);42.2c(1N.2S("br"));if(3L.ci>3L.hI){3L.4C=0}N{3L.4C=3L.hI}},D);u hD=G(1t){4T[4T.K]=1t;ca(1t)};u hF=G(){u cg,ce;1f{cg=Y 8V(8T.3m);ce=Y 8V(8S.3m)}1e(e){ch("2x in 47 tv: "+e.43);F O}F G(1t){F(cg.hH(cf(1t))&&ce.hH(cd(1t)))}};u cc=G(){1M(42.6n){42.6S(42.6n)}};u hB=G(){4T=[];cc()};u bZ=1O(G(){if(D.8P){F}D.8P=1h;if(B.1I.3l==D){B.1I.3l=O}D.2L.c9(8U);21.5B=O;if(4R){21.3t.6S(21)}N{D.2m.hG()}},D);u c7=G(){cc();R(u i=0;i<4T.K;i++){u 1t=4T[i];if(6R===O||6R(1t)){ca(1t)}}};D.6K=G(){6R=hF();c7();D.2L.c9(8U);D.2L.hE(8U,6R,hD)};u c0=1O(G(){4T=D.2L.c8();c7()},D);u c2=1O(G(6Q){6Q=6Q||2O.6D;2h=6Q.6w||6Q.8t;if(2h==13){D.6K()}},D);u 31="3u: 8c; z-c6: c5; 2I: 2N; 6f: 2N; 6P: tu; 5A: 3k%; he-3U: 4F; c1: "+D.8O;if(4R){31+="; 3V: ts; 3E-3D: fO 8a 8y"}N{31+="; 3V: 3k%;"}21.1T.3x=31;if(!c4){1N.5s.2c(21)}31={"3x":"5A: 33%; 3u: 8Q; c1: "+D.8O};c3(8T,{"3m":"8L|8M|8K|8J|8I","hC":c2,"1T":31});21.2c(8T);c3(8S,{"3m":".*","hC":c2,"1T":31});21.2c(8S);31="5A: 8%; 3u:8Q; c1: "+D.8O;6O.2c(1N.4S("tq"));6O.8R=1O("6K",D);6O.1T.3x=31;21.2c(6O);6N.2c(1N.4S("tp"));6N.8R=c0;6N.1T.3x=31;21.2c(6N);6M.2c(1N.4S("tn"));6M.8R=hB;6M.1T.3x=31;21.2c(6M);6L.2c(1N.4S("tm"));6L.8R=bZ;6L.1T.3x=31;21.2c(6L);3L.1T.3x="fS: tk; 5A: 3k%";42.1T.3x="5A: 3k%; 3V: "+(4R?"tj":"3k%");3L.2c(42);21.2c(3L);D.6K();c0();if(4R){D.2m=L}N{D.2m=2m}D.8Q=4R;D.hA=bZ;D.8P=1m;F D};B.1I.1I.1U={"8O":"ti tg,tf-te","8N":{"8M":"1v","8L":"gU","8K":"1F","8J":"8y","8I":"bx"}};B.1I.1W=["1I"];B.1I.1z=["bY"];B.1I.2d=G(){D.2k={":3e":D.1z,":1p":B.J.2o(D.1z,D.1W)};B.J.3f(D);B.1I.3l=O};B.1I.2d();B.J.2Y(D,B.1I);if(H(1q)!="L"){1q.2X("B.V");1q.2M("B.J")}if(H(1x)!="L"){1x.26("B.J",[])}1f{if(H(B.J)=="L"){14""}}1e(e){14"B.V 3F on B.J"}if(H(B.V)=="L"){B.V={}}B.V.1r="B.V";B.V.1Y="1.3.1";B.V.1K=G(){F"["+D.1r+" "+D.1Y+"]"};B.V.1l=G(){F D.1K()};B.V.V=G(1v,hz,1F,6J){if(H(6J)=="L"||6J===O){6J=1}D.1B={r:1v,g:hz,b:1F,a:6J}};B.V.V.1U={bX:B.V.V,tc:G(hy){u 1B=D.1B;u m=B.V;F m.V.3Y(1B.r,1B.g,1B.b,hy)},tb:G(1o){u 1G=D.41();1G.h=1o;u m=B.V;F m.V.4H(1G)},ta:G(hx){u 1G=D.41();1G.s=hx;u m=B.V;F m.V.4H(1G)},t9:G(hw){u 1G=D.41();1G.l=hw;u m=B.V;F m.V.4H(1G)},t8:G(hv){u 1G=D.41();1G.l=28.29(1G.l-hv,0);u m=B.V;F m.V.4H(1G)},t7:G(hu){u 1G=D.41();1G.l=28.2a(1G.l+hu,1);u m=B.V;F m.V.4H(1G)},fJ:G(ht,5z){if(H(5z)=="L"||5z===O){5z=0.5}u sf=1-5z;u s=D.1B;u d=ht.1B;u df=5z;F B.V.V.3Y((s.r*sf)+(d.r*df),(s.g*sf)+(d.g*df),(s.b*sf)+(d.b*df),(s.a*sf)+(d.a*df))},h4:G(hs){u a=D.6r();u b=hs.6r();F B.J.2f([a.r,a.g,a.b,a.a],[b.r,b.g,b.b,b.a])},hq:G(){F D.41().b>0.5},t6:G(){F(!D.hq())},t5:G(){u c=D.41();u 2Z=B.V.6F;u W=D.ho;if(!W){u 5y=(2Z(c.h,bF).6I(0)+","+2Z(c.s,3k).hp(4)+"%"+","+2Z(c.l,3k).hp(4)+"%");u a=c.a;if(a>=1){a=1;W="1G("+5y+")"}N{if(a<=0){a=0}W="t4("+5y+","+a+")"}D.ho=W}F W},hl:G(){u c=D.1B;u 2Z=B.V.6F;u W=D.hn;if(!W){u 5y=(2Z(c.r,3h).6I(0)+","+2Z(c.g,3h).6I(0)+","+2Z(c.b,3h).6I(0));if(c.a!=1){W="t3("+5y+","+c.a+")"}N{W="1B("+5y+")"}D.hn=W}F W},6r:G(){F B.J.4L(D.1B)},t2:G(){u m=B.V;u c=D.1B;u 2Z=B.V.6F;u W=D.hm;if(!W){W=("#"+m.6E(2Z(c.r,3h))+m.6E(2Z(c.g,3h))+m.6E(2Z(c.b,3h)));D.hm=W}F W},t1:G(){u 2Q=D.2Q;u c=D.1B;if(H(2Q)=="L"||2Q===O){2Q=B.V.bA(D.1B);D.2Q=2Q}F B.J.4L(2Q)},41:G(){u 1G=D.1G;u c=D.1B;if(H(1G)=="L"||1G===O){1G=B.V.bC(D.1B);D.1G=1G}F B.J.4L(1G)},1l:G(){F D.hl()},U:G(){u c=D.1B;u hk=[c.r,c.g,c.b,c.a];F D.bX.1r+"("+hk.2b(", ")+")"}};B.J.2l(B.V.V,{3Y:G(1v,bW,1F,8H){u hj=B.V.V;if(M.K==1){u 1B=1v;1v=1B.r;bW=1B.g;1F=1B.b;if(H(1B.a)=="L"){8H=L}N{8H=1B.a}}F Y hj(1v,bW,1F,8H)},4H:G(1o,t0,sZ,sY){u m=B.V;F m.V.3Y(m.bB.1w(m,M))},sX:G(1o,sW,sV,sU){u m=B.V;F m.V.3Y(m.bz.1w(m,M))},hi:G(1b){u 8F=B.V.V;if(1b.3Z(0)=="\\""){1b=1b.3H(1,1b.K-2)}u bV=8F.by[1b.8G()];if(H(bV)=="1n"){F 8F.bT(bV)}N{if(1b=="aP"){F 8F.sT()}}F O},8f:G(4Q){u I=B.V.V;u bU=4Q.3H(0,3);if(bU=="1B"){F I.h9(4Q)}N{if(bU=="1G"){F I.h8(4Q)}N{if(4Q.3Z(0)=="#"){F I.bT(4Q)}}}F I.hi(4Q)},bT:G(4P){if(4P.3Z(0)=="#"){4P=4P.2W(1)}u 8E=[];u i,5x;if(4P.K==3){R(i=0;i<3;i++){5x=4P.3H(i,1);8E.1c(3w(5x+5x,16)/3h)}}N{R(i=0;i<6;i+=2){5x=4P.3H(i,2);8E.1c(3w(5x,16)/3h)}}u bS=B.V.V;F bS.3Y.1w(bS,8E)},bG:G(4O,hf,hg,4N){if(4N.2A(4O)===0){4N=4N.2W(4N.2A("(",3)+1,4N.K-1)}u bR=4N.2R(/\\s*,\\s*/);u bP=[];R(u i=0;i0){F 8D}}F O},ba:G(Q){u 2F=B.V.V;F 2F.bN(Q,"aZ","he-3U")||2F.sN()},sM:G(Q){u 2F=B.V.V;F 2F.bN(Q,"3U","3U")||2F.sL()},sK:G(){F B.J.4L(B.V.V.by)}});B.J.2l(B.V,{6F:G(v,8C){v*=8C;if(v<0){F 0}N{if(v>8C){F 8C}N{F v}}},hc:G(n1,n2,1o){if(1o>6){1o-=6}N{if(1o<0){1o+=6}}u 2i;if(1o<1){2i=n1+(n2-n1)*1o}N{if(1o<3){2i=n2}N{if(1o<4){2i=n1+(n2-n1)*(4-1o)}N{2i=n1}}}F 2i},bz:G(1o,5w,3i,bM){if(M.K==1){u 2Q=1o;1o=2Q.h;5w=2Q.s;3i=2Q.v;bM=2Q.a}u 1v;u 3K;u 1F;if(5w===0){1v=0;3K=0;1F=0}N{u i=28.8B(1o*6);u f=(1o*6)-i;u p=3i*(1-5w);u q=3i*(1-(5w*f));u t=3i*(1-(5w*(1-f)));hd(i){3j 1:1v=q;3K=3i;1F=p;2K;3j 2:1v=p;3K=3i;1F=t;2K;3j 3:1v=p;3K=q;1F=3i;2K;3j 4:1v=t;3K=p;1F=3i;2K;3j 5:1v=3i;3K=p;1F=q;2K;3j 6:3j 0:1v=3i;3K=t;1F=p;2K}}F{r:1v,g:3K,b:1F,a:bM}},bB:G(1o,5v,3v,bL){if(M.K==1){u 1G=1o;1o=1G.h;5v=1G.s;3v=1G.l;bL=1G.a}u 1v;u 8A;u 1F;if(5v===0){1v=3v;8A=3v;1F=3v}N{u m2;if(3v<=0.5){m2=3v*(1+5v)}N{m2=3v+5v-(3v*5v)}u m1=(2*3v)-m2;u f=B.V.hc;u h6=1o*6;1v=f(m1,m2,h6+2);8A=f(m1,m2,h6);1F=f(m1,m2,h6-2)}F{r:1v,g:8A,b:1F,a:bL}},bA:G(1v,4K,1F,bK){if(M.K==1){u 1B=1v;1v=1B.r;4K=1B.g;1F=1B.b;bK=1B.a}u 29=28.29(28.29(1v,4K),1F);u 2a=28.2a(28.2a(1v,4K),1F);u 1o;u 8z;u hb=29;if(2a==29){1o=0;8z=0}N{u 6H=(29-2a);8z=6H/29;if(1v==29){1o=(4K-1F)/6H}N{if(4K==29){1o=2+((1F-1v)/6H)}N{1o=4+((1v-4K)/6H)}}1o/=6;if(1o<0){1o+=1}if(1o>1){1o-=1}}F{h:1o,s:8z,v:hb,a:bK}},bC:G(1v,4J,1F,bI){if(M.K==1){u 1B=1v;1v=1B.r;4J=1B.g;1F=1B.b;bI=1B.a}u 29=28.29(1v,28.29(4J,1F));u 2a=28.2a(1v,28.2a(4J,1F));u 1o;u 6G;u bJ=(29+2a)/2;u 4I=29-2a;if(4I===0){1o=0;6G=0}N{if(bJ<=0.5){6G=4I/(29+2a)}N{6G=4I/(2-29-2a)}if(1v==29){1o=(4J-1F)/4I}N{if(4J==29){1o=2+((1F-1v)/4I)}N{1o=4+((1v-4J)/4I)}}1o/=6;if(1o<0){1o+=1}if(1o>1){1o-=1}}F{h:1o,s:6G,l:bJ,a:bI}},6E:G(1P){1P=28.ha(1P);u bH=1P.1l(16);if(1P<16){F"0"+bH}F bH},2d:G(){u m=B.J;D.V.h9=m.1O(D.V.bG,D.V,"1B","3Y",[1/3h,1/3h,1/3h,1]);D.V.h8=m.1O(D.V.bG,D.V,"1G","4H",[1/bF,0.bE,0.bE,1]);u 4G=1/3;u bD={8y:[0,0,0],1F:[0,0,1],gY:[0.6,0.4,0.2],gX:[0,1,1],sJ:[4G,4G,4G],gR:[0.5,0.5,0.5],bx:[0,1,0],sI:[2*4G,2*4G,2*4G],gN:[1,0,1],gL:[1,0.5,0],gK:[0.5,0,0.5],1v:[1,0,0],aP:[0,0,0,0],4F:[1,1,1],gI:[1,1,0]};u h7=G(1b,r,g,b,a){u W=D.3Y(r,g,b,a);D[1b]=G(){F W};F W};R(u k in bD){u 1b=k+"V";u h5=m.2o([h7,D.V,1b],bD[k]);D.V[1b]=m.1O.1w(O,h5)}u h0=G(){R(u i=0;i1){u 1d=B.S.1E(M[0]);u 2D=M[1];u 1i=M[2];u 1A=M[3];R(u i=5o.K-1;i>=0;i--){u o=5o[i];if(o[0]===1d&&o[1]===2D&&o[4]===1i&&o[5]===1A){I.6t(o);5o.4y(i,1);F 1h}}}N{u 5n=m.bi(5o,bh);if(5n>=0){I.6t(bh);5o.4y(5n,1);F 1h}}F 1m},8i:G(1d,2D){1d=B.S.1E(1d);u m=B.J;u 8l=m.bg(m.1R(O,M,1));u I=B.1u;u bd=I.6t;u 4z=I.4x;if(8l.K===0){R(u i=4z.K-1;i>=0;i--){u 4A=4z[i];if(4A[0]===1d){bd(4A);4z.4y(i,1)}}}N{u bf={};R(u i=0;i<8l.K;i++){bf[8l[i]]=1h}R(u i=4z.K-1;i>=0;i--){u 4A=4z[i];if(4A[0]===1d&&4A[1]in bf){bd(4A);4z.4y(i,1)}}}},8h:G(1d,2D){u bc=B.1u.4x;1d=B.S.1E(1d);u 3G=B.J.1R(O,M,2);u 5m=[];R(u i=0;i1){u e=Y 2x("mZ bb mY in mX \'2D\', mW bb mV");e.bb=5m;14 e}}}});B.1u.1W=[];B.1u.1z=["6s","8j","8h","8i"];B.1u.2d=G(2m){u m=B.J;D.1Z=2v;D.3X=2m;1f{D.6s(2O,"g8",D.g7)}1e(e){}D.2k={":3e":D.1z,":1p":m.2o(D.1z,D.1W)};m.3f(D)};B.1u.2d(D);if(!B.3d){6s=B.1u.6s;8j=B.1u.8j;8i=B.1u.8i;8h=B.1u.8h}B.J.2Y(D,B.1u);if(H(1q)!="L"){1q.2X("B.1X");1q.2M("B.J");1q.2M("B.S");1q.2M("B.V")}if(H(1x)!="L"){1x.26("B.J",[]);1x.26("B.S",[]);1x.26("B.V",[])}1f{if(H(B.J)=="L"||H(B.S)=="L"||H(B.V)=="L"){14""}}1e(e){14"B.1X 3F on B.J, B.S 3W B.V!"}if(H(B.1X)=="L"){B.1X={}}B.1X.1r="B.1X";B.1X.1Y="1.3.1";B.1X.1K=G(){F"["+D.1r+" "+D.1Y+"]"};B.1X.1l=G(){F D.1K()};B.1X.aI=G(e,g6){e=B.S.1E(e);D.fN(g6);if(D.1S.fL){e=D.g5(e)}u 4w=D.1S.3U;u C=B.V.V;if(D.1S.3U=="aW"){4w=C.ba(e)}N{if(!(4w 2C C)){4w=C.8f(4w)}}D.82=(4w.6r().a<=0);u 5l=D.1S.aV;if(D.1S.aV=="fM"){5l=C.ba(e.8g)}N{if(!(5l 2C C)){5l=C.8f(5l)}}D.g3(e,4w,5l)};B.1X.aI.1U={g5:G(e){u mU=e.3t;u 1N=B.S.b9();if(H(1N.5k)=="L"||1N.5k===O){F e}u 4v=1N.5k.g4(e,O);if(H(4v)=="L"||4v===O){F e}u b8=B.S.6m({"1T":{3u:"8c",mT:4v.6q("6p-3D"),85:4v.6q("6p-3g"),mS:4v.6q("6p-6f"),86:4v.6q("6p-2I"),6p:"2N"}});b8.6o=e.6o;e.6o="";e.2c(b8);F e},g3:G(e,b7,8e){if(D.1S.3E){D.g2(e,8e)}if(D.fy()){D.fX(e,b7,8e)}if(D.fx()){D.fV(e,b7,8e)}},g2:G(el,g1){u b6="6l 8a "+D.aQ(g1);u g0="3E-2I: "+b6;u fZ="3E-3g: "+b6;u fY="1T=\'"+g0+";"+fZ+"\'";el.6o="<4u "+fY+">"+el.6o+""},fX:G(el,fW,b5){u b4=D.b1(b5);R(u i=0;i=0;i--){b2.2c(D.b0(fU,b3,i,"6f"))}el.1T.mP=0;el.2c(b2)},b1:G(fT){u 2q=B.S;F 2q.6m({1T:{aZ:fT.1l()}})},b0:G(aY,fQ,n,aX){u 6k=B.S.8d();u 2p=6k.1T;2p.aZ=aY.1l();2p.3u="8c";2p.3V="6l";2p.fS="fR";2p.mO="6l";u 8b=D.aQ(aY,fQ);if(D.1S.3E&&n===0){2p.mN="8a";2p.mM="6l";2p.84="2N";2p.83="2N";2p.mL="2N";2p.3V="2N";2p.fP=8b.1l()}N{if(8b){2p.fP=8b.1l();2p.mK="8a";2p.mJ="2N 6l"}}if(!D.1S.4r&&(n==(D.1S.89-1))){2p.3V="fO"}D.fI(6k,n,aX);D.fG(6k,n,aX);F 6k},fN:G(fK){D.1S={6g:"1p",3U:"aW",aV:"fM",5j:1h,3E:1m,4r:1m,fL:1m};B.J.2l(D.1S,fK);D.1S.89=(D.1S.4r?2:4)},aL:G(){u 88=D.1S.6g;if(D.6h(88,"1p","3D")){F""}u aU=(88.2A("tl")!=-1);u aT=(88.2A("tr")!=-1);if(aU&&aT){F""}if(aU){F"2I"}if(aT){F"3g"}F""},aK:G(){u 87=D.1S.6g;if(D.6h(87,"1p","6f")){F""}u aS=(87.2A("bl")!=-1);u aR=(87.2A("br")!=-1);if(aS&&aR){F""}if(aS){F"2I"}if(aR){F"3g"}F""},aQ:G(aN,aO){if(aN=="aP"){F aO}N{if(D.1S.3E){F D.1S.3E}N{if(D.1S.5j){F aO.fJ(aN)}}}F""},fI:G(el,n,fH){u 6j=D.fE(n)+"px";u aM=(fH=="3D"?D.aL():D.aK());u 4t=el.1T;if(aM=="2I"){4t.86=6j;4t.85="2N"}N{if(aM=="3g"){4t.85=6j;4t.86="2N"}N{4t.86=6j;4t.85=6j}}},fG:G(el,n,fF){u 6i=D.fz(n)+"px";u aJ=(fF=="3D"?D.aL():D.aK());u 4s=el.1T;if(aJ=="2I"){4s.84=6i;4s.83="2N"}N{if(aJ=="3g"){4s.83=6i;4s.84="2N"}N{4s.84=6i;4s.83=6i}}},fE:G(n){if(D.82){F 0}u o=D.1S;if(o.4r&&o.5j){u fD=[1,0];F fD[n]}N{if(o.4r){u fC=[2,1];F fC[n]}N{if(o.5j){u fB=[3,2,1,0];F fB[n]}N{u fA=[5,3,2,1];F fA[n]}}}},fz:G(n){u o=D.1S;u 5i;if(o.4r&&(o.5j||D.82)){F 1}N{if(o.4r){5i=[1,0]}N{if(o.5j){5i=[2,1,1,1]}N{if(o.3E){5i=[0,2,0,0]}N{if(D.82){5i=[5,3,2,1]}N{F 0}}}}}F 5i[n]},6h:G(1y){R(u i=1;i")}}})()}',62,1976,'||||||||||||||||||||||||||||||var|||||||MochiKit||this||return|function|typeof|self|Base|length|undefined|arguments|else|null||elem|for|DOM||repr|Color|rval|res|new||||||throw|Iter|||||next|name|push|src|catch|try|lst|true|obj|node|Async|toString|false|string|hue|all|dojo|NAME|Format|msg|Signal|red|apply|JSAN|str|EXPORT|func|rgb|_425|DateTime|getElement|blue|hsl|Logging|LoggingPane|type|__repr__|_event|while|doc|bind|num|iter|extend|options|style|prototype|seq|EXPORT_OK|Visual|VERSION|_document||_434||replace|forwardCall|StopIteration|use||Math|max|min|join|appendChild|__new__|button|compare|date|key|val|_329|EXPORT_TAGS|update|win|pair|concat|_596|dom|map|req|Deferred|sync|document|base|Error|number|partial|indexOf||instanceof|sig|not|cls|list|fired|left|stop|break|logger|require|0px|window|shift|hsv|split|createElement|_423|callee|continue|substring|provide|_exportSymbols|ccc||_464|||||||||step|pred|_51|__compat__|common|nameFunctions|right|255|_517|case|100|_loggingPane|value|object|callback|TypeError|_251|_246|_113|parentNode|display|_522|parseInt|cssText|wrap|info|isArrayLike|end|match|top|border|depends|args|substr|mouse|code|_519|_443|className|level|err|frac|Date|_135|_85|nodeType|color|height|and|_window|fromRGB|charAt||asHSL|_444|message||||filter||LogMessage|AdapterRegistry|_366|imap|NotFound|locked|counter|_262|_messages|operator|cmp|_165|_161|pairs|arr|_52|setAttribute|computedStyle|compact|_614|_610|div|_576|_572|_observers|splice|_565|_566|_555|scrollTop|page|modifier|white|_541|fromHSL|_539|_535|_528|clone|parseFloat|_505|pre|_499|_497|_427|createTextNode|_446|attributeArray|_388|_379|updateNodeAttributes|_341|_326||box|errback|results|paused|chain|_285||ofs||NamedError|_175|_147|_122|_83|_54|_17|childNodes|_619|blend|defaultView|_574|_569|idx|_562|must|_554|_specialKeys|body|Coordinates|registerComparator|_521|_516|hex|mid|_478|width|loggingPane|LogLevel|nwin|head|url|setElementClass|callStack|path|dest|_359|boolean|register|Dimensions|DeferredLock|_313|addCallback|_310|waiting|onreadystatechange|_290|LOCALE|year|printfire|_214|log|_213|_211|pos|_155|_153||typeMatcher|listMinMax|_114|_40|itr|typ|_19|_634|_625|bottom|corners|_hasString|_612|_608|_595|1px|DIV|firstChild|innerHTML|padding|getPropertyValue|asRGB|connect|_disconnect|_559|middle|which|clientY|scrollLeft|clientX|client|charCode|relatedTarget|event|toColorPart|clampColorComponent|_537|_534|toFixed|_468|buildAndApplyFilter|_442|_441|_440|_439|position|_463|_447|removeChild|_449|uid|_428|_426|compliant|attributes|_422|_409|_412|_400|_395|_390|_389|_377|_375|_363|attr|ctx|repeat|_340|_339|isNotEmpty|_335|_333|opera|DeferredList|ret|_309|silentlyCancelled|canceller|_nextId|Array|_293|XMLHttpRequest|chained|_281|tail|_252|_225|msec|day|month|iso|Logger|_208|listeners|_200|_198|_194|_196|reduce|range|_169|_162|truth|registerRepr|_121|_70|_58|_56|_47|_45|_41|_13|_1|script|text|uri|documentElement|_630|_629|isTransparent|borderRightWidth|borderLeftWidth|marginRight|marginLeft|_602|_599|numSlices|solid|_597|block|SPAN|_579|fromString|offsetParent|signal|disconnectAll|disconnect|_570|_563|_557|preventDefault|stopPropagation|clientTop|clientLeft|pageY|pageX|keyCode|meta|ctrl|alt|target|black|_532|_524|floor|_513|_512|_500|_495|toLowerCase|_487|DEBUG|INFO|WARNING|FATAL|ERROR|colorTable|logFont|closed|inline|onclick|_438|_437|_445|RegExp|_452|space|title|updatetree|||||withDocument|withWindow||setDisplayForElement|none|renames|forEach|domConverters|escapeHTML|addElementClass|removeElementClass|once|_378|_380|_376|appendChildNodes|coerceToDOM|_355|opt|clientWidth|opacity|GenericError|fail|resultList|_307|_301|_fire|can|addCallbacks|_resback|percent|decimal|separator|twoDigitFloat|_274|_273|_264|_257|_250|_249|_254|_248|_243|_242|fmt|_240|_245|getTime|sec|hour|_209|slice|_206|iterateNextIter|registerIteratorFactory|arrayLikeIter|iteratorRegistry|takewhile|ifilterfalse|ifilter|_181|_176|_168|_166|_159|_tee|deque|arg|fun|jsonRegistry|reprString|reprRegistry|comparatorRegistry|urlEncode|_110|_108|cur|_95|_87|_71|im_preargs||_53|_57|_46|present|like|array|Argument|_15|_12|_632|_631|_633|SUBMODULES|only|_628|_627|_626|roundElement|_624|getElementsByTagAndClassName|_RoundCorners|_613|_whichSideBottom|_whichSideTop|_609|_605|_606|transparent|_borderColor|_604|_603|_601|_600|bgColor|fromElement|_594|_592|backgroundColor|_createCornerSlice|_createCorner|_590|_589|_587|_586|_581|_578|_577|currentDocument|fromBackground|errors|_568|_564||sigs|flattenArguments|_561|findIdentical|_560|_558||_556|attachEvent|addEventListener|funcOrStr|Event||_548|fromCharCode|String|_specialMacKeys|any|green|_namedColors|hsvToRGB|rgbToHSV|hslToRGB|rgbToHSL|_542|01|360|_fromColorString|_540|_536|_538|_529|_523|_518|fromComputedStyle|_511|_507|_508|_506|_501|fromHexString|_498|_496|_486|__class__|createLoggingPane|_459|_461|font|_462|_430|_435|1000|index|_460|getMessages|removeListener|_451||_457|_450|infore|_448|_456|logDebug|offsetHeight|span|input|_436|TR||HTML|open|alert|currentWindow|swapDOM|SELECT|FORM|INPUT|createDOMFunc|ignoreAttr|_421|call|_417|_410|_415|nodeName|_414|_413|emitHTML|good|_406|_399|_397|_393|_392|addLoadEvent|addToCallStack|_387|_386|_381|_382|_383|_373|_372|_369|createDOM|_365|Function|_360|_362|_358|_344|nodeWalk|formContents|_337|_338|_334|_332|offsetTop|offsetLeft|visibility|parentElement|||XMLHttpRequestError|BrowserComplianceError|CancelledError|AlreadyCalledError|evalJSONRequest|sendXMLHttpRequest|wait|doSimpleXMLHttpRequest|getXMLHttpRequest|succeed|_312|finishedCount|_308|_cbDeferred|_303|_297|queryString|_nothing|_289|XMLHTTP|ActiveXObject|eval|_284|_check|error|_279|default|rstrip|lstrip|formatLocale|roundToFixed|truncToFixed|_276|pow|_272|_271|_270|sign|_265|_263|tmp|_238|_232|toISODate|toISOTime|getFullYear|getDate|getMonth|_230|_padTwo|_228|useNativeConsole|_212|compareLogMessage|isLogMessage|unshift|_207||maxSize|_202|_199|logLevelAtLeast|console|hasIterateNext|iterateNext|arrayLike|groupby||exhaust|tee|dropwhile|applymap||islice|izip|cycle|count||_189|_188|_183|_185|_184|_186|_187|_182|identity|fetch|_180|_177|listMin|reprNumber|reprArrayLike|compareArrayLike|compareDateLike|isDateLike|findValue|_128|__export__|keyComparator|_124|_118|_93|_94|_90|_88|_84|_77|_68|_67|_66|_65|_60|im_func|_55|im_self|_48|_44|_42|_39|_36|_33|_27|_26|_25|_22|_24|_20|javascript|write|getAttribute||org|www|http|getElementsByTagName|roundClass|_623|_622|_621|_620|_isBottomRounded|_isTopRounded|_borderSize|_618|_617|_616|_615|_marginSize|_611|_setBorder|_607|_setMargin|blendedColor|_598|__unstable__wrapElement|fromParent|_setOptions|2px|borderColor|_593|hidden|overflow|_591|_588|_roundBottomCorners|_585|_roundTopCorners|_584|_583|_582|_580|_renderBorder|_roundCornersImpl|getComputedStyle|_doWrap|_571|_unloadCache|onunload|detachEvent|removeEventListener|_listener|objOrFunc|_552||_551|_549|onload|delete|112|KEY_F|KEY_|MINUS|KEY_SEMICOLON|KEY_DELETE|KEY_INSERT|KEY_ARROW_DOWN|KEY_ARROW_RIGHT|KEY_ARROW_UP||KEY_ARROW_LEFT|KEY_HOME|KEY_END|KEY_PAGE_DOWN|KEY_PAGE_UP|KEY_ENTER|KEY_NUM_PAD_CLEAR|63236|mousemove|contextmenu|click|mouseout|mouseover|_src|yellow|708090|purple|orange|ff00ff|magenta|778899|d3d3d3|808080|gray|696969|2f4f4f|darkred|a9a9a9|00ffff|cyan|brown|_547|_546||||compareRGB|_545||_543|fromHSLString|fromRGBString|round|_533|_hslValue|switch|background|_503|_504||fromName|_488|col|toRGBString|_hexString|_rgbString|_hslString|toPrecision|isLight||_481|_477|_476|_475|_474|_473|_469|_466|closePane|_458|onkeypress|_454|addListener|_455|close|test|scrollHeight|option|word|moz|_431|getElementById|html|pop|200|_|removeElement|showElement|hideElement|CANVAS|STRONG|FIELDSET|LEGEND|OPTGROUP|OPTION|TEXTAREA|LABEL|HR|BR|H3|H2|H1|PRE|TT|BUTTON|IMG|TH||TABLE||TFOOT|THEAD|TBODY|TD|LI|OL|||UL|checked|class|ignoreAttrFilter||_424|_419|nodeValue|scrapeText|_416|_418|sort|_411|toHTML|_404|hasElementClass|_403|_402|_401|swapElementClass|_398|_394|toggleElementClass|_391|focusOnLoad|_newCallStack|currentStyle|_371|replaceChildNodes|_364|_361|getNodeAttribute|_357|setNodeAttribute|_354|_352|_350|_353|toDOM|_346|_345|registerDOMConverter|selectedIndex|setElementPosition|setElementDimensions|tagName|absolute|getBoxObjectFor|getBoundingClientRect|elementPosition|_325|_324|_322|_323|offsetWidth|elementDimensions|clientHeight|innerWidth|getViewportDimensions|setOpacity|status|_317|deferred|_316|_newNamedError|maybeDeferred||gatherResults|callLater|loadJSONDoc|_311|consumeErrors|fireOnOneErrback|fireOnOneCallback|addErrback|_305|_304|_306|unlocked|release|_300|_299|_298|_296|_xhr_onreadystatechange|_xhr_canceller|304|responseText|Msxml2|addBoth|_pause|_continue|result|the|are|they|instances|_unpause|cancel|_280|_278|en_US|strip|percentFormat|twoDigitAverage|numberFormatter|_277|_275|isNaN|_259|_258|_260|_255|_253|_numberFormatter|_241|_239|_237|_236|_235|_234|_233|_231|toAmericanDate|toPaddedAmericanDate|americanDate|toISOTimestamp|isoTimestamp|isoDate|foot|sep||60000|_221|_isoRegexp|dispatchEvent|createEvent|warning|logWarning|fatal|logFatal|debug|logError|baseLog|_210|getMessageText|logToConsole|dispatchListeners|_204|_203|ident|_201|postError|alertListener|_197|_192|groupby_as_array|iextend|some|reversed|sorted|every|sum|_190|eat|_174|_173|_172|_171|_167|_163|_158|_157|_151|_144|_141||_139|_136|_134||_133|_132|zip|merge|isUndefined|isCallable|listMax|_131|_130|encodeURIComponent||_127|method|parseQueryString|evalJSON|registerJSON|serializeJSON|objMin|objMax|reverseKeyComparator|arrayEqual|objEqual|bindMethods|xfilter|xmap|isEmpty|isNull|isUndefinedOrNull|itemgetter|items|keys|setdefault|_126|_120|decodeURIComponent|_119|len|_109|_107|_104|_105|_101|_102|_98|||_100|_97|_96|_91|json|__json__|_82|_81|_80|_79|_76||_75|_74|_73|_69|_primitives|_64|_63||_62|_61|_59|_wrapDumbFunction|_49|_50|_31|_30|_21|_7|application|MochiKit_|createElementNS|namespaceURI|lastIndexOf|xul|there|gatekeeper|keymaster|mozilla|getElementsComputedStyle|_hasSingleTextChild|borderWidth|borderStyle|borderBottomWidth|borderTopWidth|borderTopStyle|fontSize|paddingBottom|insertBefore|paddingTop|marginBottom|marginTop|_575|property|see|handling|thrown|Multiple|element|||given|123|KEY_NUM_PAD_|105|KEY_APOSTROPHE|222|KEY_RIGHT_SQUARE_BRACKET|221|KEY_REVERSE_SOLIDUS|220|KEY_LEFT_SQUARE_BRACKET||219|KEY_GRAVE_ACCENT|192|KEY_SOLIDUS|191|KEY_FULL_STOP|190|KEY_HYPHEN|189||KEY_COMMA|188|KEY_EQUALS_SIGN|187|186|KEY_SCROLL_LOCK|145|KEY_NUM_LOCK|144|KEY_NUM_PAD_SOLIDUS|111|KEY_NUM_PAD_FULL_STOP|110|KEY_NUM_PAD_HYPHEN|109|KEY_NUM_PAD_PLUS_SIGN|107|KEY_NUM_PAD_ASTERISK|106|KEY_SELECT|KEY_WINDOWS_RIGHT|KEY_WINDOWS_LEFT|KEY_PRINT_SCREEN|KEY_SPACEBAR|KEY_ESCAPE|KEY_CAPS_LOCK|KEY_PAUSE|KEY_ALT|KEY_CTRL|KEY_SHIFT|KEY_TAB|KEY_BACKSPACE|63242|63272|63302|63233|63235|63232|63234|63273|63275|63277|63276|63289|returnValue|cancelBubble|keypress|KEY_UNKNOWN|keyup|keydown|shiftKey|metaKey||ctrlKey|altKey|toElement|srcElement|9acd32||yellowgreen||ffff00|f5f5f5|whitesmoke||ffffff|f5deb3|wheat|ee82ee|violet|40e0d0|turquoise|ff6347|tomato|d8bfd8|thistle|008080|teal|d2b48c|tan|4682b4|steelblue|00ff7f|springgreen|fffafa|snow|slategrey|slategray|6a5acd|slateblue|87ceeb|skyblue|c0c0c0|silver|a0522d|sienna|fff5ee|seashell|2e8b57|seagreen|f4a460|sandybrown|fa8072|salmon|8b4513|saddlebrown|4169e1|royalblue|bc8f8f|rosybrown|ff0000|800080|b0e0e6|powderblue|dda0dd|plum|ffc0cb|pink|cd853f||peru|ffdab9|peachpuff|ffefd5|papayawhip|db7093|palevioletred|afeeee|paleturquoise|98fb98|palegreen|eee8aa||palegoldenrod|da70d6|orchid|ff4500|orangered|ffa500|6b8e23|olivedrab|808000|olive|fdf5e6|oldlace|000080|navy|ffdead|navajowhite|ffe4b5|moccasin|ffe4e1|mistyrose|f5fffa|mintcream|191970|midnightblue|c71585|mediumvioletred|48d1cc|mediumturquoise|00fa9a|mediumspringgreen|7b68ee|mediumslateblue|3cb371|mediumseagreen|9370db|mediumpurple|ba55d3|mediumorchid|0000cd|mediumblue|66cdaa|mediumaquamarine|800000|maroon|faf0e6|linen|32cd32|limegreen|00ff00|lime|ffffe0|lightyellow|b0c4de|lightsteelblue|lightslategrey|lightslategray||87cefa|lightskyblue|20b2aa|lightseagreen|ffa07a|lightsalmon|ffb6c1|lightpink|lightgrey|90ee90|lightgreen|lightgray|fafad2|lightgoldenrodyellow|e0ffff|lightcyan|f08080|lightcoral|add8e6|lightblue|fffacd|lemonchiffon|7cfc00|lawngreen|fff0f5|lavenderblush|e6e6fa|lavender|f0e68c|khaki|fffff0|ivory|4b0082|indigo|cd5c5c|indianred|ff69b4|hotpink|f0fff0|honeydew|grey|adff2f|greenyellow|008000|daa520|goldenrod|ffd700||gold|f8f8ff|ghostwhite|dcdcdc|gainsboro|fuchsia|228b22|forestgreen|fffaf0|floralwhite|b22222|firebrick|1e90ff|dodgerblue|dimgrey|dimgray|00bfff|deepskyblue|ff1493|deeppink|9400d3|darkviolet|00ced1|darkturquoise|darkslategrey|darkslategray|483d8b|darkslateblue|8fbc8f|darkseagreen|e9967a|darksalmon|8b0000|9932cc|darkorchid|ff8c00|darkorange|556b2f|darkolivegreen|8b008b|darkmagenta|bdb76b|darkkhaki|darkgrey|006400|darkgreen|darkgray|b8860b|darkgoldenrod|008b8b|darkcyan|00008b|darkblue|dc143c|crimson|fff8dc|cornsilk|6495ed|cornflowerblue|ff7f50|coral|d2691e||chocolate|7fff00|chartreuse|5f9ea0|cadetblue|deb887|burlywood|a52a2a|8a2be2|blueviolet|0000ff|ffebcd||blanchedalmond|000000|ffe4c4|bisque|f5f5dc|beige|f0ffff|azure|7fffd4|aquamarine|aqua|faebd7|antiquewhite|f0f8ff|aliceblue|lightGray|darkGray|namedColors|blackColor|fromText|whiteColor|_510|_509|PI|rad|deg|transparentColor|_494|_493|_492|fromHSV|_491|_490|_489|asHSV|toHexString|rgba|hsla|toHSLString|isDark|lighterColorWithLevel|darkerColorWithLevel|colorWithLightness|colorWithSaturation|colorWithHue|colorWithAlpha||serif|sans|Verdana||8pt|8em|auto||Close|Clear||Load|Filter||10em||fixed|regex|emergency|line|margin|_Listener|dtd|loose|html4|w3|EN|Transitional|DTD|W3C|PUBLIC|DOCTYPE|blocking|due|debugging|able|Not|resizable|dependent|href|location|_MochiKit_LoggingPane|_429|canvas|strong|fieldset|legend|optgroup|select|form|textarea|label|img|table|tfoot|thead|tbody|htmlFor||useMap|usemap|defaultChecked|hasChildNodes|quot|amp|_405|focus|replaceChild|checkbox||radio|_win|BODY||safari|version|userAgent|navigator|innerHeight|alpha|khtml|Tried|acquire|clearTimeout|setTimeout|GET|ignore|send|abort|failed|Request|readyState|support|does|Browser|Microsoft|_288|_287|used|Deferreds|Chained|success|unfired|fr_FR|de_DE|00|abs|search|pattern|Invalid|getTimezoneOffset|getSeconds|getMinutes|getHours|UTC|3600000|initEvent|Events|debuggingBookmarklet|MESSAGES|LAST|_205|clear|ninfo|nlevel|timestamp|reverse|takes|initial|with|sequence|empty|iterable|numbers|dateLike|escape|find|forward|unregister|unescape|Object|compared|item|contains|logor|logand|cle|clt|cge|cgt|cne|ceq|zrshift|rshift|lshift|xor|mul|mod|sub|add|neg|lognot|_9|_2'.split('|'),0,{}) + + +/* + * jQuery 1.2.1 - New Wave Javascript + * + * Copyright (c) 2007 John Resig (jquery.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * $Date: 2007-09-16 23:42:06 -0400 (Sun, 16 Sep 2007) $ + * $Rev: 3353 $ + */ + +var decompressedJQuery = function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(G(){9(1m E!="W")H w=E;H E=18.15=G(a,b){I 6 7u E?6.5N(a,b):1u E(a,b)};9(1m $!="W")H D=$;18.$=E;H u=/^[^<]*(<(.|\\s)+>)[^>]*$|^#(\\w+)$/;E.1b=E.3A={5N:G(c,a){c=c||U;9(1m c=="1M"){H m=u.2S(c);9(m&&(m[1]||!a)){9(m[1])c=E.4D([m[1]],a);J{H b=U.3S(m[3]);9(b)9(b.22!=m[3])I E().1Y(c);J{6[0]=b;6.K=1;I 6}J c=[]}}J I 1u E(a).1Y(c)}J 9(E.1n(c))I 1u E(U)[E.1b.2d?"2d":"39"](c);I 6.6v(c.1c==1B&&c||(c.4c||c.K&&c!=18&&!c.1y&&c[0]!=W&&c[0].1y)&&E.2h(c)||[c])},4c:"1.2.1",7Y:G(){I 6.K},K:0,21:G(a){I a==W?E.2h(6):6[a]},2o:G(a){H b=E(a);b.4Y=6;I b},6v:G(a){6.K=0;1B.3A.1a.16(6,a);I 6},N:G(a,b){I E.N(6,a,b)},4I:G(a){H b=-1;6.N(G(i){9(6==a)b=i});I b},1x:G(f,d,e){H c=f;9(f.1c==3X)9(d==W)I 6.K&&E[e||"1x"](6[0],f)||W;J{c={};c[f]=d}I 6.N(G(a){L(H b 1i c)E.1x(e?6.R:6,b,E.1e(6,c[b],e,a,b))})},17:G(b,a){I 6.1x(b,a,"3C")},2g:G(e){9(1m e!="5i"&&e!=S)I 6.4n().3g(U.6F(e));H t="";E.N(e||6,G(){E.N(6.3j,G(){9(6.1y!=8)t+=6.1y!=1?6.6x:E.1b.2g([6])})});I t},5m:G(b){9(6[0])E(b,6[0].3H).6u().3d(6[0]).1X(G(){H a=6;1W(a.1w)a=a.1w;I a}).3g(6);I 6},8m:G(a){I 6.N(G(){E(6).6q().5m(a)})},8d:G(a){I 6.N(G(){E(6).5m(a)})},3g:G(){I 6.3z(1q,Q,1,G(a){6.58(a)})},6j:G(){I 6.3z(1q,Q,-1,G(a){6.3d(a,6.1w)})},6g:G(){I 6.3z(1q,P,1,G(a){6.12.3d(a,6)})},50:G(){I 6.3z(1q,P,-1,G(a){6.12.3d(a,6.2q)})},2D:G(){I 6.4Y||E([])},1Y:G(t){H b=E.1X(6,G(a){I E.1Y(t,a)});I 6.2o(/[^+>] [^+>]/.14(t)||t.1g("..")>-1?E.4V(b):b)},6u:G(e){H f=6.1X(G(){I 6.67?E(6.67)[0]:6.4R(Q)});H d=f.1Y("*").4O().N(G(){9(6[F]!=W)6[F]=S});9(e===Q)6.1Y("*").4O().N(G(i){H c=E.M(6,"2P");L(H a 1i c)L(H b 1i c[a])E.1j.1f(d[i],a,c[a][b],c[a][b].M)});I f},1E:G(t){I 6.2o(E.1n(t)&&E.2W(6,G(b,a){I t.16(b,[a])})||E.3m(t,6))},5V:G(t){I 6.2o(t.1c==3X&&E.3m(t,6,Q)||E.2W(6,G(a){I(t.1c==1B||t.4c)?E.2A(a,t)<0:a!=t}))},1f:G(t){I 6.2o(E.1R(6.21(),t.1c==3X?E(t).21():t.K!=W&&(!t.11||E.11(t,"2Y"))?t:[t]))},3t:G(a){I a?E.3m(a,6).K>0:P},7c:G(a){I 6.3t("."+a)},3i:G(b){9(b==W){9(6.K){H c=6[0];9(E.11(c,"24")){H e=c.4Z,a=[],Y=c.Y,2G=c.O=="24-2G";9(e<0)I S;L(H i=2G?e:0,33=2G?e+1:Y.K;i<33;i++){H d=Y[i];9(d.26){H b=E.V.1h&&!d.9V["1Q"].9L?d.2g:d.1Q;9(2G)I b;a.1a(b)}}I a}J I 6[0].1Q.1p(/\\r/g,"")}}J I 6.N(G(){9(b.1c==1B&&/4k|5j/.14(6.O))6.2Q=(E.2A(6.1Q,b)>=0||E.2A(6.2H,b)>=0);J 9(E.11(6,"24")){H a=b.1c==1B?b:[b];E("9h",6).N(G(){6.26=(E.2A(6.1Q,a)>=0||E.2A(6.2g,a)>=0)});9(!a.K)6.4Z=-1}J 6.1Q=b})},4o:G(a){I a==W?(6.K?6[0].3O:S):6.4n().3g(a)},6H:G(a){I 6.50(a).28()},6E:G(i){I 6.2J(i,i+1)},2J:G(){I 6.2o(1B.3A.2J.16(6,1q))},1X:G(b){I 6.2o(E.1X(6,G(a,i){I b.2O(a,i,a)}))},4O:G(){I 6.1f(6.4Y)},3z:G(f,d,g,e){H c=6.K>1,a;I 6.N(G(){9(!a){a=E.4D(f,6.3H);9(g<0)a.8U()}H b=6;9(d&&E.11(6,"1I")&&E.11(a[0],"4m"))b=6.4l("1K")[0]||6.58(U.5B("1K"));E.N(a,G(){H a=c?6.4R(Q):6;9(!5A(0,a))e.2O(b,a)})})}};G 5A(i,b){H a=E.11(b,"1J");9(a){9(b.3k)E.3G({1d:b.3k,3e:P,1V:"1J"});J E.5f(b.2g||b.6s||b.3O||"");9(b.12)b.12.3b(b)}J 9(b.1y==1)E("1J",b).N(5A);I a}E.1k=E.1b.1k=G(){H c=1q[0]||{},a=1,2c=1q.K,5e=P;9(c.1c==8o){5e=c;c=1q[1]||{}}9(2c==1){c=6;a=0}H b;L(;a<2c;a++)9((b=1q[a])!=S)L(H i 1i b){9(c==b[i])6r;9(5e&&1m b[i]==\'5i\'&&c[i])E.1k(c[i],b[i]);J 9(b[i]!=W)c[i]=b[i]}I c};H F="15"+(1u 3D()).3B(),6p=0,5c={};E.1k({8a:G(a){18.$=D;9(a)18.15=w;I E},1n:G(a){I!!a&&1m a!="1M"&&!a.11&&a.1c!=1B&&/G/i.14(a+"")},4a:G(a){I a.2V&&!a.1G||a.37&&a.3H&&!a.3H.1G},5f:G(a){a=E.36(a);9(a){9(18.6l)18.6l(a);J 9(E.V.1N)18.56(a,0);J 3w.2O(18,a)}},11:G(b,a){I b.11&&b.11.27()==a.27()},1L:{},M:G(c,d,b){c=c==18?5c:c;H a=c[F];9(!a)a=c[F]=++6p;9(d&&!E.1L[a])E.1L[a]={};9(b!=W)E.1L[a][d]=b;I d?E.1L[a][d]:a},30:G(c,b){c=c==18?5c:c;H a=c[F];9(b){9(E.1L[a]){2E E.1L[a][b];b="";L(b 1i E.1L[a])1T;9(!b)E.30(c)}}J{2a{2E c[F]}29(e){9(c.53)c.53(F)}2E E.1L[a]}},N:G(a,b,c){9(c){9(a.K==W)L(H i 1i a)b.16(a[i],c);J L(H i=0,48=a.K;i<48;i++)9(b.16(a[i],c)===P)1T}J{9(a.K==W)L(H i 1i a)b.2O(a[i],i,a[i]);J L(H i=0,48=a.K,3i=a[0];i<48&&b.2O(3i,i,3i)!==P;3i=a[++i]){}}I a},1e:G(c,b,d,e,a){9(E.1n(b))b=b.2O(c,[e]);H f=/z-?4I|7T-?7Q|1r|69|7P-?1H/i;I b&&b.1c==4W&&d=="3C"&&!f.14(a)?b+"2T":b},1o:{1f:G(b,c){E.N((c||"").2l(/\\s+/),G(i,a){9(!E.1o.3K(b.1o,a))b.1o+=(b.1o?" ":"")+a})},28:G(b,c){b.1o=c!=W?E.2W(b.1o.2l(/\\s+/),G(a){I!E.1o.3K(c,a)}).66(" "):""},3K:G(t,c){I E.2A(c,(t.1o||t).3s().2l(/\\s+/))>-1}},2k:G(e,o,f){L(H i 1i o){e.R["3r"+i]=e.R[i];e.R[i]=o[i]}f.16(e,[]);L(H i 1i o)e.R[i]=e.R["3r"+i]},17:G(e,p){9(p=="1H"||p=="2N"){H b={},42,41,d=["7J","7I","7G","7F"];E.N(d,G(){b["7C"+6]=0;b["7B"+6+"5Z"]=0});E.2k(e,b,G(){9(E(e).3t(\':3R\')){42=e.7A;41=e.7w}J{e=E(e.4R(Q)).1Y(":4k").5W("2Q").2D().17({4C:"1P",2X:"4F",19:"2Z",7o:"0",1S:"0"}).5R(e.12)[0];H a=E.17(e.12,"2X")||"3V";9(a=="3V")e.12.R.2X="7g";42=e.7e;41=e.7b;9(a=="3V")e.12.R.2X="3V";e.12.3b(e)}});I p=="1H"?42:41}I E.3C(e,p)},3C:G(h,j,i){H g,2w=[],2k=[];G 3n(a){9(!E.V.1N)I P;H b=U.3o.3Z(a,S);I!b||b.4y("3n")==""}9(j=="1r"&&E.V.1h){g=E.1x(h.R,"1r");I g==""?"1":g}9(j.1t(/4u/i))j=y;9(!i&&h.R[j])g=h.R[j];J 9(U.3o&&U.3o.3Z){9(j.1t(/4u/i))j="4u";j=j.1p(/([A-Z])/g,"-$1").2p();H d=U.3o.3Z(h,S);9(d&&!3n(h))g=d.4y(j);J{L(H a=h;a&&3n(a);a=a.12)2w.4w(a);L(a=0;a<2w.K;a++)9(3n(2w[a])){2k[a]=2w[a].R.19;2w[a].R.19="2Z"}g=j=="19"&&2k[2w.K-1]!=S?"2s":U.3o.3Z(h,S).4y(j)||"";L(a=0;a<2k.K;a++)9(2k[a]!=S)2w[a].R.19=2k[a]}9(j=="1r"&&g=="")g="1"}J 9(h.3Q){H f=j.1p(/\\-(\\w)/g,G(m,c){I c.27()});g=h.3Q[j]||h.3Q[f];9(!/^\\d+(2T)?$/i.14(g)&&/^\\d/.14(g)){H k=h.R.1S;H e=h.4v.1S;h.4v.1S=h.3Q.1S;h.R.1S=g||0;g=h.R.71+"2T";h.R.1S=k;h.4v.1S=e}}I g},4D:G(a,e){H r=[];e=e||U;E.N(a,G(i,d){9(!d)I;9(d.1c==4W)d=d.3s();9(1m d=="1M"){d=d.1p(/(<(\\w+)[^>]*?)\\/>/g,G(m,a,b){I b.1t(/^(70|6Z|6Y|9Q|4t|9N|9K|3a|9G|9E)$/i)?m:a+">"});H s=E.36(d).2p(),1s=e.5B("1s"),2x=[];H c=!s.1g("<9y")&&[1,"<24>",""]||!s.1g("<9w")&&[1,"<6T>",""]||s.1t(/^<(9u|1K|9t|9r|9p)/)&&[1,"<1I>",""]||!s.1g("<4m")&&[2,"<1I><1K>",""]||(!s.1g("<9m")||!s.1g("<9k"))&&[3,"<1I><1K><4m>",""]||!s.1g("<6Y")&&[2,"<1I><1K><6L>",""]||E.V.1h&&[1,"1s<1s>",""]||[0,"",""];1s.3O=c[1]+d+c[2];1W(c[0]--)1s=1s.5p;9(E.V.1h){9(!s.1g("<1I")&&s.1g("<1K")<0)2x=1s.1w&&1s.1w.3j;J 9(c[1]=="<1I>"&&s.1g("<1K")<0)2x=1s.3j;L(H n=2x.K-1;n>=0;--n)9(E.11(2x[n],"1K")&&!2x[n].3j.K)2x[n].12.3b(2x[n]);9(/^\\s/.14(d))1s.3d(e.6F(d.1t(/^\\s*/)[0]),1s.1w)}d=E.2h(1s.3j)}9(0===d.K&&(!E.11(d,"2Y")&&!E.11(d,"24")))I;9(d[0]==W||E.11(d,"2Y")||d.Y)r.1a(d);J r=E.1R(r,d)});I r},1x:G(c,d,a){H e=E.4a(c)?{}:E.5o;9(d=="26"&&E.V.1N)c.12.4Z;9(e[d]){9(a!=W)c[e[d]]=a;I c[e[d]]}J 9(E.V.1h&&d=="R")I E.1x(c.R,"9e",a);J 9(a==W&&E.V.1h&&E.11(c,"2Y")&&(d=="9d"||d=="9a"))I c.97(d).6x;J 9(c.37){9(a!=W){9(d=="O"&&E.11(c,"4t")&&c.12)6G"O 94 93\'t 92 91";c.90(d,a)}9(E.V.1h&&/6C|3k/.14(d)&&!E.4a(c))I c.4p(d,2);I c.4p(d)}J{9(d=="1r"&&E.V.1h){9(a!=W){c.69=1;c.1E=(c.1E||"").1p(/6O\\([^)]*\\)/,"")+(3I(a).3s()=="8S"?"":"6O(1r="+a*6A+")")}I c.1E?(3I(c.1E.1t(/1r=([^)]*)/)[1])/6A).3s():""}d=d.1p(/-([a-z])/8Q,G(z,b){I b.27()});9(a!=W)c[d]=a;I c[d]}},36:G(t){I(t||"").1p(/^\\s+|\\s+$/g,"")},2h:G(a){H r=[];9(1m a!="8P")L(H i=0,2c=a.K;i<2c;i++)r.1a(a[i]);J r=a.2J(0);I r},2A:G(b,a){L(H i=0,2c=a.K;i<2c;i++)9(a[i]==b)I i;I-1},1R:G(a,b){9(E.V.1h){L(H i=0;b[i];i++)9(b[i].1y!=8)a.1a(b[i])}J L(H i=0;b[i];i++)a.1a(b[i]);I a},4V:G(b){H r=[],2f={};2a{L(H i=0,6y=b.K;i<6y;i++){H a=E.M(b[i]);9(!2f[a]){2f[a]=Q;r.1a(b[i])}}}29(e){r=b}I r},2W:G(b,a,c){9(1m a=="1M")a=3w("P||G(a,i){I "+a+"}");H d=[];L(H i=0,4g=b.K;i<4g;i++)9(!c&&a(b[i],i)||c&&!a(b[i],i))d.1a(b[i]);I d},1X:G(c,b){9(1m b=="1M")b=3w("P||G(a){I "+b+"}");H d=[];L(H i=0,4g=c.K;i<4g;i++){H a=b(c[i],i);9(a!==S&&a!=W){9(a.1c!=1B)a=[a];d=d.8M(a)}}I d}});H v=8K.8I.2p();E.V={4s:(v.1t(/.+(?:8F|8E|8C|8B)[\\/: ]([\\d.]+)/)||[])[1],1N:/6w/.14(v),34:/34/.14(v),1h:/1h/.14(v)&&!/34/.14(v),35:/35/.14(v)&&!/(8z|6w)/.14(v)};H y=E.V.1h?"4h":"5h";E.1k({5g:!E.V.1h||U.8y=="8x",4h:E.V.1h?"4h":"5h",5o:{"L":"8w","8v":"1o","4u":y,5h:y,4h:y,3O:"3O",1o:"1o",1Q:"1Q",3c:"3c",2Q:"2Q",8u:"8t",26:"26",8s:"8r"}});E.N({1D:"a.12",8q:"15.4e(a,\'12\')",8p:"15.2I(a,2,\'2q\')",8n:"15.2I(a,2,\'4d\')",8l:"15.4e(a,\'2q\')",8k:"15.4e(a,\'4d\')",8j:"15.5d(a.12.1w,a)",8i:"15.5d(a.1w)",6q:"15.11(a,\'8h\')?a.8f||a.8e.U:15.2h(a.3j)"},G(i,n){E.1b[i]=G(a){H b=E.1X(6,n);9(a&&1m a=="1M")b=E.3m(a,b);I 6.2o(E.4V(b))}});E.N({5R:"3g",8c:"6j",3d:"6g",8b:"50",89:"6H"},G(i,n){E.1b[i]=G(){H a=1q;I 6.N(G(){L(H j=0,2c=a.K;j<2c;j++)E(a[j])[n](6)})}});E.N({5W:G(a){E.1x(6,a,"");6.53(a)},88:G(c){E.1o.1f(6,c)},87:G(c){E.1o.28(6,c)},86:G(c){E.1o[E.1o.3K(6,c)?"28":"1f"](6,c)},28:G(a){9(!a||E.1E(a,[6]).r.K){E.30(6);6.12.3b(6)}},4n:G(){E("*",6).N(G(){E.30(6)});1W(6.1w)6.3b(6.1w)}},G(i,n){E.1b[i]=G(){I 6.N(n,1q)}});E.N(["85","5Z"],G(i,a){H n=a.2p();E.1b[n]=G(h){I 6[0]==18?E.V.1N&&3y["84"+a]||E.5g&&38.33(U.2V["5a"+a],U.1G["5a"+a])||U.1G["5a"+a]:6[0]==U?38.33(U.1G["6n"+a],U.1G["6m"+a]):h==W?(6.K?E.17(6[0],n):S):6.17(n,h.1c==3X?h:h+"2T")}});H C=E.V.1N&&3x(E.V.4s)<83?"(?:[\\\\w*57-]|\\\\\\\\.)":"(?:[\\\\w\\82-\\81*57-]|\\\\\\\\.)",6k=1u 47("^>\\\\s*("+C+"+)"),6i=1u 47("^("+C+"+)(#)("+C+"+)"),6h=1u 47("^([#.]?)("+C+"*)");E.1k({55:{"":"m[2]==\'*\'||15.11(a,m[2])","#":"a.4p(\'22\')==m[2]",":":{80:"im[3]-0",2I:"m[3]-0==i",6E:"m[3]-0==i",3v:"i==0",3u:"i==r.K-1",6f:"i%2==0",6e:"i%2","3v-46":"a.12.4l(\'*\')[0]==a","3u-46":"15.2I(a.12.5p,1,\'4d\')==a","7X-46":"!15.2I(a.12.5p,2,\'4d\')",1D:"a.1w",4n:"!a.1w",7W:"(a.6s||a.7V||15(a).2g()||\'\').1g(m[3])>=0",3R:\'"1P"!=a.O&&15.17(a,"19")!="2s"&&15.17(a,"4C")!="1P"\',1P:\'"1P"==a.O||15.17(a,"19")=="2s"||15.17(a,"4C")=="1P"\',7U:"!a.3c",3c:"a.3c",2Q:"a.2Q",26:"a.26||15.1x(a,\'26\')",2g:"\'2g\'==a.O",4k:"\'4k\'==a.O",5j:"\'5j\'==a.O",54:"\'54\'==a.O",52:"\'52\'==a.O",51:"\'51\'==a.O",6d:"\'6d\'==a.O",6c:"\'6c\'==a.O",2r:\'"2r"==a.O||15.11(a,"2r")\',4t:"/4t|24|6b|2r/i.14(a.11)",3K:"15.1Y(m[3],a).K",7S:"/h\\\\d/i.14(a.11)",7R:"15.2W(15.32,G(1b){I a==1b.T;}).K"}},6a:[/^(\\[) *@?([\\w-]+) *([!*$^~=]*) *(\'?"?)(.*?)\\4 *\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,1u 47("^([:.#]*)("+C+"+)")],3m:G(a,c,b){H d,2b=[];1W(a&&a!=d){d=a;H f=E.1E(a,c,b);a=f.t.1p(/^\\s*,\\s*/,"");2b=b?c=f.r:E.1R(2b,f.r)}I 2b},1Y:G(t,o){9(1m t!="1M")I[t];9(o&&!o.1y)o=S;o=o||U;H d=[o],2f=[],3u;1W(t&&3u!=t){H r=[];3u=t;t=E.36(t);H l=P;H g=6k;H m=g.2S(t);9(m){H p=m[1].27();L(H i=0;d[i];i++)L(H c=d[i].1w;c;c=c.2q)9(c.1y==1&&(p=="*"||c.11.27()==p.27()))r.1a(c);d=r;t=t.1p(g,"");9(t.1g(" ")==0)6r;l=Q}J{g=/^([>+~])\\s*(\\w*)/i;9((m=g.2S(t))!=S){r=[];H p=m[2],1R={};m=m[1];L(H j=0,31=d.K;j<31;j++){H n=m=="~"||m=="+"?d[j].2q:d[j].1w;L(;n;n=n.2q)9(n.1y==1){H h=E.M(n);9(m=="~"&&1R[h])1T;9(!p||n.11.27()==p.27()){9(m=="~")1R[h]=Q;r.1a(n)}9(m=="+")1T}}d=r;t=E.36(t.1p(g,""));l=Q}}9(t&&!l){9(!t.1g(",")){9(o==d[0])d.44();2f=E.1R(2f,d);r=d=[o];t=" "+t.68(1,t.K)}J{H k=6i;H m=k.2S(t);9(m){m=[0,m[2],m[3],m[1]]}J{k=6h;m=k.2S(t)}m[2]=m[2].1p(/\\\\/g,"");H f=d[d.K-1];9(m[1]=="#"&&f&&f.3S&&!E.4a(f)){H q=f.3S(m[2]);9((E.V.1h||E.V.34)&&q&&1m q.22=="1M"&&q.22!=m[2])q=E(\'[@22="\'+m[2]+\'"]\',f)[0];d=r=q&&(!m[3]||E.11(q,m[3]))?[q]:[]}J{L(H i=0;d[i];i++){H a=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];9(a=="*"&&d[i].11.2p()=="5i")a="3a";r=E.1R(r,d[i].4l(a))}9(m[1]==".")r=E.4X(r,m[2]);9(m[1]=="#"){H e=[];L(H i=0;r[i];i++)9(r[i].4p("22")==m[2]){e=[r[i]];1T}r=e}d=r}t=t.1p(k,"")}}9(t){H b=E.1E(t,r);d=r=b.r;t=E.36(b.t)}}9(t)d=[];9(d&&o==d[0])d.44();2f=E.1R(2f,d);I 2f},4X:G(r,m,a){m=" "+m+" ";H c=[];L(H i=0;r[i];i++){H b=(" "+r[i].1o+" ").1g(m)>=0;9(!a&&b||a&&!b)c.1a(r[i])}I c},1E:G(t,r,h){H d;1W(t&&t!=d){d=t;H p=E.6a,m;L(H i=0;p[i];i++){m=p[i].2S(t);9(m){t=t.7O(m[0].K);m[2]=m[2].1p(/\\\\/g,"");1T}}9(!m)1T;9(m[1]==":"&&m[2]=="5V")r=E.1E(m[3],r,Q).r;J 9(m[1]==".")r=E.4X(r,m[2],h);J 9(m[1]=="["){H g=[],O=m[3];L(H i=0,31=r.K;i<31;i++){H a=r[i],z=a[E.5o[m[2]]||m[2]];9(z==S||/6C|3k|26/.14(m[2]))z=E.1x(a,m[2])||\'\';9((O==""&&!!z||O=="="&&z==m[5]||O=="!="&&z!=m[5]||O=="^="&&z&&!z.1g(m[5])||O=="$="&&z.68(z.K-m[5].K)==m[5]||(O=="*="||O=="~=")&&z.1g(m[5])>=0)^h)g.1a(a)}r=g}J 9(m[1]==":"&&m[2]=="2I-46"){H e={},g=[],14=/(\\d*)n\\+?(\\d*)/.2S(m[3]=="6f"&&"2n"||m[3]=="6e"&&"2n+1"||!/\\D/.14(m[3])&&"n+"+m[3]||m[3]),3v=(14[1]||1)-0,d=14[2]-0;L(H i=0,31=r.K;i<31;i++){H j=r[i],12=j.12,22=E.M(12);9(!e[22]){H c=1;L(H n=12.1w;n;n=n.2q)9(n.1y==1)n.4U=c++;e[22]=Q}H b=P;9(3v==1){9(d==0||j.4U==d)b=Q}J 9((j.4U+d)%3v==0)b=Q;9(b^h)g.1a(j)}r=g}J{H f=E.55[m[1]];9(1m f!="1M")f=E.55[m[1]][m[2]];f=3w("P||G(a,i){I "+f+"}");r=E.2W(r,f,h)}}I{r:r,t:t}},4e:G(b,c){H d=[];H a=b[c];1W(a&&a!=U){9(a.1y==1)d.1a(a);a=a[c]}I d},2I:G(a,e,c,b){e=e||1;H d=0;L(;a;a=a[c])9(a.1y==1&&++d==e)1T;I a},5d:G(n,a){H r=[];L(;n;n=n.2q){9(n.1y==1&&(!a||n!=a))r.1a(n)}I r}});E.1j={1f:G(g,e,c,h){9(E.V.1h&&g.4j!=W)g=18;9(!c.2u)c.2u=6.2u++;9(h!=W){H d=c;c=G(){I d.16(6,1q)};c.M=h;c.2u=d.2u}H i=e.2l(".");e=i[0];c.O=i[1];H b=E.M(g,"2P")||E.M(g,"2P",{});H f=E.M(g,"2t",G(){H a;9(1m E=="W"||E.1j.4T)I a;a=E.1j.2t.16(g,1q);I a});H j=b[e];9(!j){j=b[e]={};9(g.4S)g.4S(e,f,P);J g.7N("43"+e,f)}j[c.2u]=c;6.1Z[e]=Q},2u:1,1Z:{},28:G(d,c,b){H e=E.M(d,"2P"),2L,4I;9(1m c=="1M"){H a=c.2l(".");c=a[0]}9(e){9(c&&c.O){b=c.4Q;c=c.O}9(!c){L(c 1i e)6.28(d,c)}J 9(e[c]){9(b)2E e[c][b.2u];J L(b 1i e[c])9(!a[1]||e[c][b].O==a[1])2E e[c][b];L(2L 1i e[c])1T;9(!2L){9(d.4P)d.4P(c,E.M(d,"2t"),P);J d.7M("43"+c,E.M(d,"2t"));2L=S;2E e[c]}}L(2L 1i e)1T;9(!2L){E.30(d,"2P");E.30(d,"2t")}}},1F:G(d,b,e,c,f){b=E.2h(b||[]);9(!e){9(6.1Z[d])E("*").1f([18,U]).1F(d,b)}J{H a,2L,1b=E.1n(e[d]||S),4N=!b[0]||!b[0].2M;9(4N)b.4w(6.4M({O:d,2m:e}));b[0].O=d;9(E.1n(E.M(e,"2t")))a=E.M(e,"2t").16(e,b);9(!1b&&e["43"+d]&&e["43"+d].16(e,b)===P)a=P;9(4N)b.44();9(f&&f.16(e,b)===P)a=P;9(1b&&c!==P&&a!==P&&!(E.11(e,\'a\')&&d=="4L")){6.4T=Q;e[d]()}6.4T=P}I a},2t:G(d){H a;d=E.1j.4M(d||18.1j||{});H b=d.O.2l(".");d.O=b[0];H c=E.M(6,"2P")&&E.M(6,"2P")[d.O],3q=1B.3A.2J.2O(1q,1);3q.4w(d);L(H j 1i c){3q[0].4Q=c[j];3q[0].M=c[j].M;9(!b[1]||c[j].O==b[1]){H e=c[j].16(6,3q);9(a!==P)a=e;9(e===P){d.2M();d.3p()}}}9(E.V.1h)d.2m=d.2M=d.3p=d.4Q=d.M=S;I a},4M:G(c){H a=c;c=E.1k({},a);c.2M=G(){9(a.2M)a.2M();a.7L=P};c.3p=G(){9(a.3p)a.3p();a.7K=Q};9(!c.2m&&c.65)c.2m=c.65;9(E.V.1N&&c.2m.1y==3)c.2m=a.2m.12;9(!c.4K&&c.4J)c.4K=c.4J==c.2m?c.7H:c.4J;9(c.64==S&&c.63!=S){H e=U.2V,b=U.1G;c.64=c.63+(e&&e.2R||b.2R||0);c.7E=c.7D+(e&&e.2B||b.2B||0)}9(!c.3Y&&(c.61||c.60))c.3Y=c.61||c.60;9(!c.5F&&c.5D)c.5F=c.5D;9(!c.3Y&&c.2r)c.3Y=(c.2r&1?1:(c.2r&2?3:(c.2r&4?2:0)));I c}};E.1b.1k({3W:G(c,a,b){I c=="5Y"?6.2G(c,a,b):6.N(G(){E.1j.1f(6,c,b||a,b&&a)})},2G:G(d,b,c){I 6.N(G(){E.1j.1f(6,d,G(a){E(6).5X(a);I(c||b).16(6,1q)},c&&b)})},5X:G(a,b){I 6.N(G(){E.1j.28(6,a,b)})},1F:G(c,a,b){I 6.N(G(){E.1j.1F(c,a,6,Q,b)})},7x:G(c,a,b){9(6[0])I E.1j.1F(c,a,6[0],P,b)},25:G(){H a=1q;I 6.4L(G(e){6.4H=0==6.4H?1:0;e.2M();I a[6.4H].16(6,[e])||P})},7v:G(f,g){G 4G(e){H p=e.4K;1W(p&&p!=6)2a{p=p.12}29(e){p=6};9(p==6)I P;I(e.O=="4x"?f:g).16(6,[e])}I 6.4x(4G).5U(4G)},2d:G(f){5T();9(E.3T)f.16(U,[E]);J E.3l.1a(G(){I f.16(6,[E])});I 6}});E.1k({3T:P,3l:[],2d:G(){9(!E.3T){E.3T=Q;9(E.3l){E.N(E.3l,G(){6.16(U)});E.3l=S}9(E.V.35||E.V.34)U.4P("5S",E.2d,P);9(!18.7t.K)E(18).39(G(){E("#4E").28()})}}});E.N(("7s,7r,39,7q,6n,5Y,4L,7p,"+"7n,7m,7l,4x,5U,7k,24,"+"51,7j,7i,7h,3U").2l(","),G(i,o){E.1b[o]=G(f){I f?6.3W(o,f):6.1F(o)}});H x=P;G 5T(){9(x)I;x=Q;9(E.V.35||E.V.34)U.4S("5S",E.2d,P);J 9(E.V.1h){U.7f("<7d"+"7y 22=4E 7z=Q "+"3k=//:><\\/1J>");H a=U.3S("4E");9(a)a.62=G(){9(6.2C!="1l")I;E.2d()};a=S}J 9(E.V.1N)E.4B=4j(G(){9(U.2C=="5Q"||U.2C=="1l"){4A(E.4B);E.4B=S;E.2d()}},10);E.1j.1f(18,"39",E.2d)}E.1b.1k({39:G(g,d,c){9(E.1n(g))I 6.3W("39",g);H e=g.1g(" ");9(e>=0){H i=g.2J(e,g.K);g=g.2J(0,e)}c=c||G(){};H f="4z";9(d)9(E.1n(d)){c=d;d=S}J{d=E.3a(d);f="5P"}H h=6;E.3G({1d:g,O:f,M:d,1l:G(a,b){9(b=="1C"||b=="5O")h.4o(i?E("<1s/>").3g(a.40.1p(/<1J(.|\\s)*?\\/1J>/g,"")).1Y(i):a.40);56(G(){h.N(c,[a.40,b,a])},13)}});I 6},7a:G(){I E.3a(6.5M())},5M:G(){I 6.1X(G(){I E.11(6,"2Y")?E.2h(6.79):6}).1E(G(){I 6.2H&&!6.3c&&(6.2Q||/24|6b/i.14(6.11)||/2g|1P|52/i.14(6.O))}).1X(G(i,c){H b=E(6).3i();I b==S?S:b.1c==1B?E.1X(b,G(a,i){I{2H:c.2H,1Q:a}}):{2H:c.2H,1Q:b}}).21()}});E.N("5L,5K,6t,5J,5I,5H".2l(","),G(i,o){E.1b[o]=G(f){I 6.3W(o,f)}});H B=(1u 3D).3B();E.1k({21:G(d,b,a,c){9(E.1n(b)){a=b;b=S}I E.3G({O:"4z",1d:d,M:b,1C:a,1V:c})},78:G(b,a){I E.21(b,S,a,"1J")},77:G(c,b,a){I E.21(c,b,a,"45")},76:G(d,b,a,c){9(E.1n(b)){a=b;b={}}I E.3G({O:"5P",1d:d,M:b,1C:a,1V:c})},75:G(a){E.1k(E.59,a)},59:{1Z:Q,O:"4z",2z:0,5G:"74/x-73-2Y-72",6o:Q,3e:Q,M:S},49:{},3G:G(s){H f,2y=/=(\\?|%3F)/g,1v,M;s=E.1k(Q,s,E.1k(Q,{},E.59,s));9(s.M&&s.6o&&1m s.M!="1M")s.M=E.3a(s.M);9(s.1V=="4b"){9(s.O.2p()=="21"){9(!s.1d.1t(2y))s.1d+=(s.1d.1t(/\\?/)?"&":"?")+(s.4b||"5E")+"=?"}J 9(!s.M||!s.M.1t(2y))s.M=(s.M?s.M+"&":"")+(s.4b||"5E")+"=?";s.1V="45"}9(s.1V=="45"&&(s.M&&s.M.1t(2y)||s.1d.1t(2y))){f="4b"+B++;9(s.M)s.M=s.M.1p(2y,"="+f);s.1d=s.1d.1p(2y,"="+f);s.1V="1J";18[f]=G(a){M=a;1C();1l();18[f]=W;2a{2E 18[f]}29(e){}}}9(s.1V=="1J"&&s.1L==S)s.1L=P;9(s.1L===P&&s.O.2p()=="21")s.1d+=(s.1d.1t(/\\?/)?"&":"?")+"57="+(1u 3D()).3B();9(s.M&&s.O.2p()=="21"){s.1d+=(s.1d.1t(/\\?/)?"&":"?")+s.M;s.M=S}9(s.1Z&&!E.5b++)E.1j.1F("5L");9(!s.1d.1g("8g")&&s.1V=="1J"){H h=U.4l("9U")[0];H g=U.5B("1J");g.3k=s.1d;9(!f&&(s.1C||s.1l)){H j=P;g.9R=g.62=G(){9(!j&&(!6.2C||6.2C=="5Q"||6.2C=="1l")){j=Q;1C();1l();h.3b(g)}}}h.58(g);I}H k=P;H i=18.6X?1u 6X("9P.9O"):1u 6W();i.9M(s.O,s.1d,s.3e);9(s.M)i.5C("9J-9I",s.5G);9(s.5y)i.5C("9H-5x-9F",E.49[s.1d]||"9D, 9C 9B 9A 5v:5v:5v 9z");i.5C("X-9x-9v","6W");9(s.6U)s.6U(i);9(s.1Z)E.1j.1F("5H",[i,s]);H c=G(a){9(!k&&i&&(i.2C==4||a=="2z")){k=Q;9(d){4A(d);d=S}1v=a=="2z"&&"2z"||!E.6S(i)&&"3U"||s.5y&&E.6R(i,s.1d)&&"5O"||"1C";9(1v=="1C"){2a{M=E.6Q(i,s.1V)}29(e){1v="5k"}}9(1v=="1C"){H b;2a{b=i.5s("6P-5x")}29(e){}9(s.5y&&b)E.49[s.1d]=b;9(!f)1C()}J E.5r(s,i,1v);1l();9(s.3e)i=S}};9(s.3e){H d=4j(c,13);9(s.2z>0)56(G(){9(i){i.9q();9(!k)c("2z")}},s.2z)}2a{i.9o(s.M)}29(e){E.5r(s,i,S,e)}9(!s.3e)c();I i;G 1C(){9(s.1C)s.1C(M,1v);9(s.1Z)E.1j.1F("5I",[i,s])}G 1l(){9(s.1l)s.1l(i,1v);9(s.1Z)E.1j.1F("6t",[i,s]);9(s.1Z&&!--E.5b)E.1j.1F("5K")}},5r:G(s,a,b,e){9(s.3U)s.3U(a,b,e);9(s.1Z)E.1j.1F("5J",[a,s,e])},5b:0,6S:G(r){2a{I!r.1v&&9n.9l=="54:"||(r.1v>=6N&&r.1v<9j)||r.1v==6M||E.V.1N&&r.1v==W}29(e){}I P},6R:G(a,c){2a{H b=a.5s("6P-5x");I a.1v==6M||b==E.49[c]||E.V.1N&&a.1v==W}29(e){}I P},6Q:G(r,b){H c=r.5s("9i-O");H d=b=="6K"||!b&&c&&c.1g("6K")>=0;H a=d?r.9g:r.40;9(d&&a.2V.37=="5k")6G"5k";9(b=="1J")E.5f(a);9(b=="45")a=3w("("+a+")");I a},3a:G(a){H s=[];9(a.1c==1B||a.4c)E.N(a,G(){s.1a(3f(6.2H)+"="+3f(6.1Q))});J L(H j 1i a)9(a[j]&&a[j].1c==1B)E.N(a[j],G(){s.1a(3f(j)+"="+3f(6))});J s.1a(3f(j)+"="+3f(a[j]));I s.66("&").1p(/%20/g,"+")}});E.1b.1k({1A:G(b,a){I b?6.1U({1H:"1A",2N:"1A",1r:"1A"},b,a):6.1E(":1P").N(G(){6.R.19=6.3h?6.3h:"";9(E.17(6,"19")=="2s")6.R.19="2Z"}).2D()},1z:G(b,a){I b?6.1U({1H:"1z",2N:"1z",1r:"1z"},b,a):6.1E(":3R").N(G(){6.3h=6.3h||E.17(6,"19");9(6.3h=="2s")6.3h="2Z";6.R.19="2s"}).2D()},6J:E.1b.25,25:G(a,b){I E.1n(a)&&E.1n(b)?6.6J(a,b):a?6.1U({1H:"25",2N:"25",1r:"25"},a,b):6.N(G(){E(6)[E(6).3t(":1P")?"1A":"1z"]()})},9c:G(b,a){I 6.1U({1H:"1A"},b,a)},9b:G(b,a){I 6.1U({1H:"1z"},b,a)},99:G(b,a){I 6.1U({1H:"25"},b,a)},98:G(b,a){I 6.1U({1r:"1A"},b,a)},96:G(b,a){I 6.1U({1r:"1z"},b,a)},95:G(c,a,b){I 6.1U({1r:a},c,b)},1U:G(k,i,h,g){H j=E.6D(i,h,g);I 6[j.3L===P?"N":"3L"](G(){j=E.1k({},j);H f=E(6).3t(":1P"),3y=6;L(H p 1i k){9(k[p]=="1z"&&f||k[p]=="1A"&&!f)I E.1n(j.1l)&&j.1l.16(6);9(p=="1H"||p=="2N"){j.19=E.17(6,"19");j.2U=6.R.2U}}9(j.2U!=S)6.R.2U="1P";j.3M=E.1k({},k);E.N(k,G(c,a){H e=1u E.2j(3y,j,c);9(/25|1A|1z/.14(a))e[a=="25"?f?"1A":"1z":a](k);J{H b=a.3s().1t(/^([+-]=)?([\\d+-.]+)(.*)$/),1O=e.2b(Q)||0;9(b){H d=3I(b[2]),2i=b[3]||"2T";9(2i!="2T"){3y.R[c]=(d||1)+2i;1O=((d||1)/e.2b(Q))*1O;3y.R[c]=1O+2i}9(b[1])d=((b[1]=="-="?-1:1)*d)+1O;e.3N(1O,d,2i)}J e.3N(1O,a,"")}});I Q})},3L:G(a,b){9(E.1n(a)){b=a;a="2j"}9(!a||(1m a=="1M"&&!b))I A(6[0],a);I 6.N(G(){9(b.1c==1B)A(6,a,b);J{A(6,a).1a(b);9(A(6,a).K==1)b.16(6)}})},9f:G(){H a=E.32;I 6.N(G(){L(H i=0;i-8O?r:3I(E.17(6.T,6.1e))||0},3N:G(c,b,e){6.5u=(1u 3D()).3B();6.1O=c;6.2D=b;6.2i=e||6.2i||"2T";6.2v=6.1O;6.4q=6.4i=0;6.4r();H f=6;G t(){I f.2F()}t.T=6.T;E.32.1a(t);9(E.32.K==1){H d=4j(G(){H a=E.32;L(H i=0;i6.Y.2e+6.5u){6.2v=6.2D;6.4q=6.4i=1;6.4r();6.Y.3M[6.1e]=Q;H a=Q;L(H i 1i 6.Y.3M)9(6.Y.3M[i]!==Q)a=P;9(a){9(6.Y.19!=S){6.T.R.2U=6.Y.2U;6.T.R.19=6.Y.19;9(E.17(6.T,"19")=="2s")6.T.R.19="2Z"}9(6.Y.1z)6.T.R.19="2s";9(6.Y.1z||6.Y.1A)L(H p 1i 6.Y.3M)E.1x(6.T.R,p,6.Y.3P[p])}9(a&&E.1n(6.Y.1l))6.Y.1l.16(6.T);I P}J{H n=t-6.5u;6.4i=n/6.Y.2e;6.4q=E.3J[6.Y.3J||(E.3J.5q?"5q":"6B")](6.4i,n,0,1,6.Y.2e);6.2v=6.1O+((6.2D-6.1O)*6.4q);6.4r()}I Q}};E.2j.2F={2R:G(a){a.T.2R=a.2v},2B:G(a){a.T.2B=a.2v},1r:G(a){E.1x(a.T.R,"1r",a.2v)},6z:G(a){a.T.R[a.1e]=a.2v+a.2i}};E.1b.6m=G(){H c=0,3E=0,T=6[0],5t;9(T)8L(E.V){H b=E.17(T,"2X")=="4F",1D=T.12,23=T.23,2K=T.3H,4f=1N&&3x(4s)<8J;9(T.6V){5w=T.6V();1f(5w.1S+38.33(2K.2V.2R,2K.1G.2R),5w.3E+38.33(2K.2V.2B,2K.1G.2B));9(1h){H d=E("4o").17("8H");d=(d=="8G"||E.5g&&3x(4s)>=7)&&2||d;1f(-d,-d)}}J{1f(T.5l,T.5z);1W(23){1f(23.5l,23.5z);9(35&&/^t[d|h]$/i.14(1D.37)||!4f)d(23);9(4f&&!b&&E.17(23,"2X")=="4F")b=Q;23=23.23}1W(1D.37&&!/^1G|4o$/i.14(1D.37)){9(!/^8D|1I-9S.*$/i.14(E.17(1D,"19")))1f(-1D.2R,-1D.2B);9(35&&E.17(1D,"2U")!="3R")d(1D);1D=1D.12}9(4f&&b)1f(-2K.1G.5l,-2K.1G.5z)}5t={3E:3E,1S:c}}I 5t;G d(a){1f(E.17(a,"9T"),E.17(a,"8A"))}G 1f(l,t){c+=3x(l)||0;3E+=3x(t)||0}}})();',62,616,'||||||this|||if|||||||||||||||||||||||||||||||||function|var|return|else|length|for|data|each|type|false|true|style|null|elem|document|browser|undefined||options|||nodeName|parentNode||test|jQuery|apply|css|window|display|push|fn|constructor|url|prop|add|indexOf|msie|in|event|extend|complete|typeof|isFunction|className|replace|arguments|opacity|div|match|new|status|firstChild|attr|nodeType|hide|show|Array|success|parent|filter|trigger|body|height|table|script|tbody|cache|string|safari|start|hidden|value|merge|left|break|animate|dataType|while|map|find|global||get|id|offsetParent|select|toggle|selected|toUpperCase|remove|catch|try|cur|al|ready|duration|done|text|makeArray|unit|fx|swap|split|target||pushStack|toLowerCase|nextSibling|button|none|handle|guid|now|stack|tb|jsre|timeout|inArray|scrollTop|readyState|end|delete|step|one|name|nth|slice|doc|ret|preventDefault|width|call|events|checked|scrollLeft|exec|px|overflow|documentElement|grep|position|form|block|removeData|rl|timers|max|opera|mozilla|trim|tagName|Math|load|param|removeChild|disabled|insertBefore|async|encodeURIComponent|append|oldblock|val|childNodes|src|readyList|multiFilter|color|defaultView|stopPropagation|args|old|toString|is|last|first|eval|parseInt|self|domManip|prototype|getTime|curCSS|Date|top||ajax|ownerDocument|parseFloat|easing|has|queue|curAnim|custom|innerHTML|orig|currentStyle|visible|getElementById|isReady|error|static|bind|String|which|getComputedStyle|responseText|oWidth|oHeight|on|shift|json|child|RegExp|ol|lastModified|isXMLDoc|jsonp|jquery|previousSibling|dir|safari2|el|styleFloat|state|setInterval|radio|getElementsByTagName|tr|empty|html|getAttribute|pos|update|version|input|float|runtimeStyle|unshift|mouseover|getPropertyValue|GET|clearInterval|safariTimer|visibility|clean|__ie_init|absolute|handleHover|lastToggle|index|fromElement|relatedTarget|click|fix|evt|andSelf|removeEventListener|handler|cloneNode|addEventListener|triggered|nodeIndex|unique|Number|classFilter|prevObject|selectedIndex|after|submit|password|removeAttribute|file|expr|setTimeout|_|appendChild|ajaxSettings|client|active|win|sibling|deep|globalEval|boxModel|cssFloat|object|checkbox|parsererror|offsetLeft|wrapAll|dequeue|props|lastChild|swing|handleError|getResponseHeader|results|startTime|00|box|Modified|ifModified|offsetTop|evalScript|createElement|setRequestHeader|ctrlKey|callback|metaKey|contentType|ajaxSend|ajaxSuccess|ajaxError|ajaxStop|ajaxStart|serializeArray|init|notmodified|POST|loaded|appendTo|DOMContentLoaded|bindReady|mouseout|not|removeAttr|unbind|unload|Width|keyCode|charCode|onreadystatechange|clientX|pageX|srcElement|join|outerHTML|substr|zoom|parse|textarea|reset|image|odd|even|before|quickClass|quickID|prepend|quickChild|execScript|offset|scroll|processData|uuid|contents|continue|textContent|ajaxComplete|clone|setArray|webkit|nodeValue|fl|_default|100|linear|href|speed|eq|createTextNode|throw|replaceWith|splice|_toggle|xml|colgroup|304|200|alpha|Last|httpData|httpNotModified|httpSuccess|fieldset|beforeSend|getBoundingClientRect|XMLHttpRequest|ActiveXObject|col|br|abbr|pixelLeft|urlencoded|www|application|ajaxSetup|post|getJSON|getScript|elements|serialize|clientWidth|hasClass|scr|clientHeight|write|relative|keyup|keypress|keydown|change|mousemove|mouseup|mousedown|right|dblclick|resize|focus|blur|frames|instanceof|hover|offsetWidth|triggerHandler|ipt|defer|offsetHeight|border|padding|clientY|pageY|Left|Right|toElement|Bottom|Top|cancelBubble|returnValue|detachEvent|attachEvent|substring|line|weight|animated|header|font|enabled|innerText|contains|only|size|gt|lt|uFFFF|u0128|417|inner|Height|toggleClass|removeClass|addClass|replaceAll|noConflict|insertAfter|prependTo|wrap|contentWindow|contentDocument|http|iframe|children|siblings|prevAll|nextAll|wrapInner|prev|Boolean|next|parents|maxLength|maxlength|readOnly|readonly|class|htmlFor|CSS1Compat|compatMode|compatible|borderTopWidth|ie|ra|inline|it|rv|medium|borderWidth|userAgent|522|navigator|with|concat|1px|10000|array|ig|PI|NaN|400|reverse|fast|600|slow|Function|Object|setAttribute|changed|be|can|property|fadeTo|fadeOut|getAttributeNode|fadeIn|slideToggle|method|slideUp|slideDown|action|cssText|stop|responseXML|option|content|300|th|protocol|td|location|send|cap|abort|colg|cos|tfoot|thead|With|leg|Requested|opt|GMT|1970|Jan|01|Thu|area|Since|hr|If|Type|Content|meta|specified|open|link|XMLHTTP|Microsoft|img|onload|row|borderLeftWidth|head|attributes'.split('|'),0,{}); + +/* + Copyright (c) 2004-2007, The Dojo Foundation + All Rights Reserved. + + Licensed under the Academic Free License version 2.1 or above OR the + modified BSD license. For more information on Dojo licensing, see: + + http://dojotoolkit.org/community/licensing.shtml +*/ + +/* + This is a compiled version of Dojo, built for deployment and not for + development. To get an editable version, please visit: + + http://dojotoolkit.org + + for documentation and information on getting the source. +*/ + +var decompressedDojo = function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('if(V z=="1k"){(B(){if(V D["1o"]=="1k"){D.1o={}}if((!D["1z"])||(!1z["ca"])){D.1z={}}A cn=["rA","rz","1K","ry","rx","9f","rw","rv","ru","rt","rs","rr","rq","ro","rn","rm"];A i=0,24;1s(24=cn[i++]){if(!1z[24]){1z[24]=B(){}}}if(V D["z"]=="1k"){D.z={}}z.1W=D;A d3={im:U,rl:U,rk:"",rj:"",ri:"",rh:K,rg:U};R(A 8z in d3){if(V 1o[8z]=="1k"){1o[8z]=d3[8z]}}A jK=["rf","rd","rc","rb"];A t;1s(t=jK.3a()){z["is"+t]=U}})();z.8h=1o.8h;z.cY={jJ:0,jI:9,jH:0,jG:"",jF:2V("$ra: r9 $".1f(/[0-9]+/)[0]),2i:B(){4G(z.cY){C jJ+"."+jI+"."+jH+jG+" ("+jF+")"}}};z.d1=B(jE,jD,1V){A 2h=1V||z.1W;R(A i=0,p;2h&&(p=jE[i]);i++){2h=(p in 2h?2h[p]:(jD?2h[p]={}:1k))}C 2h};z.88=B(jC,jA,jB){A d2=jC.1A("."),p=d2.8q(),M=z.d1(d2,K,jB);C(M&&p?(M[p]=jA):1k)};z.6q=B(jz,jy,jx){C z.d1(jz.1A("."),jy,jx)};z.r8=B(jw,M){C!!z.6q(jw,U,M)};z["3u"]=B(d0){C z.1W.3u?z.1W.3u(d0):3u(d0)};z.ia=B(jv,cZ,cX){A 8y="r7: "+jv;if(cZ){8y+=" "+cZ}if(cX){8y+=" -- r6 be r5 in cY: "+cX}1z.1K(8y)};z.r4=B(ju,cW){A cV="r3: "+ju+" -- r2 r1 4F r0 qZ qY.";if(cW){cV+=" "+cW}1z.1K(cV)};(B(){A cR={53:{},6p:0,1h:{},8k:{z:{1p:"z",1Z:"."},cU:{1p:"cU",1Z:"../qX/cU"},cT:{1p:"cT",1Z:"cT"}},cN:B(cS){A mp=D.8k;C jp(mp[cS]&&mp[cS].1Z)},jk:B(8x){A mp=D.8k;if(D.cN(8x)){C mp[8x].1Z}C 8x},8v:[],6t:U,56:[],8t:[],8u:U};R(A cQ in cR){z[cQ]=cR[cQ]}})();z.jg=B(8w,cP,cb){A 1g=(((8w.2s(0)=="/"||8w.1f(/^\\w+:/)))?"":D.51)+8w;if(1o.jt&&z.c8){1g+="?"+67(1o.jt).2f(/\\W+/g,"")}1u{C!cP?D.cO(1g,cb):D.jq(1g,cP,cb)}1y(e){1z.1K(e);C U}};z.cO=B(1g,cb){if(D.8v[1g]){C K}A 6u=D.iR(1g,K);if(!6u){C U}D.8v[1g]=K;D.8v.Y(1g);if(cb){6u="("+6u+")"}A jr=z["3u"](6u+"\\r\\n//@ qW="+1g);if(cb){cb(jr)}C K};z.jq=B(1g,jo,cb){A ok=U;1u{ok=D.cO(1g,cb)}1y(e){1z.1K("qV je ",1g," 4G 9f: ",e)}C jp(ok&&D.53[jo])};z.6m=B(){D.8u=K;D.6t=K;A 57=D.56;D.56=[];R(A x=0;x<57.G;x++){57[x]()}D.8u=U;if(z.6t&&z.6p==0&&D.56.G>0){z.8s()}};z.ck=B(){A 57=D.8t;1s(57.G){(57.8q())()}};z.qU=B(M,jn){A d=z;if(P.G==1){d.56.Y(M)}I{if(P.G>1){d.56.Y(B(){M[jn]()})}}if(d.6t&&d.6p==0&&!d.8u){d.8s()}};z.dW=B(M,jm){A d=z;if(P.G==1){d.8t.Y(M)}I{if(P.G>1){d.8t.Y(B(){M[jm]()})}}};z.iM=B(){if(D.6t){C}if(D.6p>0){1z.1K("qT qS in qR!");C}z.8s()};z.8s=B(){if(V 5c=="8b"||(1o["qQ"]&&z.2M)){5c("z.6m();",0)}I{z.6m()}};z.cF=B(jl){A 4v=jl.1A(".");R(A i=4v.G;i>0;i--){A 8r=4v.2w(0,i).22(".");if((i==1)&&!D.cN(8r)){4v[0]="../"+4v[0]}I{A cM=D.jk(8r);if(cM!=8r){4v.3S(0,i,cM);3f}}}C 4v};z.jj=U;z.8m=B(2T,qP,55){55=D.jj||55;A 54=D.53[2T];if(54){C 54}A cL=2T.1A(".");A 3L=D.cF(2T);A jh=((3L[0].2s(0)!="/")&&!3L[0].1f(/^\\w+:/));A ji=3L[3L.G-1];A 3m;if(ji=="*"){2T=cL.2w(0,-1).22(".");3L.8q();3m=3L.22("/")+"/"+(1o["qO"]||"qN")+".js";if(jh&&3m.2s(0)=="/"){3m=3m.2w(1)}}I{3m=3L.22("/")+".js";2T=cL.22(".")}A jf=(!55)?2T:L;A ok=D.jg(3m,jf);if((!ok)&&(!55)){2m S 1O("qM 3O 4E \'"+2T+"\'; 72 qL \'"+3m+"\'")}if((!55)&&(!D["qK"])){54=D.53[2T];if(!54){2m S 1O("qJ \'"+2T+"\' is 3O qI a8 je \'"+3m+"\'")}}C 54};z.8c=z.8m;z.1Q=B(cK){A cJ=cK+"";A 8p=cJ;A 6s=cK.1A(/\\./);if(6s[6s.G-1]=="*"){6s.8q();8p=6s.22(".")}A 8o=z.6q(8p,K);D.53[cJ]=8o;D.53[8p]=8o;C 8o};z.qH=B(8n){A jd=8n["qG"]||[];A cI=jd.3U(8n[z.j4]||8n["aY"]||[]);R(A x=0;x0&&!(j==1&&1X[0]=="")&&1X[j]==".."&&1X[j-1]!=".."){if(j==(1X.G-1)){1X.3S(j,1);1X[j-1]=""}I{1X.3S(j-1,2);j-=2}}}}1t.28=1X.22("/")}}}}1g="";if(1t.4t){1g+=1t.4t+":"}if(1t.3l){1g+="//"+1t.3l}1g+=1t.28;if(1t.1r){1g+="?"+1t.1r}if(1t.52){1g+="#"+1t.52}}D.1g=1g.2i();A r=D.1g.1f(j7);D.4t=r[2]||(r[1]?"":n);D.3l=r[4]||(r[3]?"":n);D.28=r[5];D.1r=r[7]||(r[6]?"":n);D.52=r[9]||(r[8]?"":n);if(D.3l!=n){r=D.3l.1f(j6);D.8X=r[3]||n;D.8W=r[4]||n;D.qw=r[5];D.qv=r[7]||n}};z.4r.1C.2i=B(){C D.1g}})();z.qu=B(j5,2E){A 2B=z.cF(j5).22("/");if(!2B){C L}if(2B.31("/")!=2B.G-1){2B+="/"}A cE=2B.T(":");if(2B.2s(0)!="/"&&(cE==-1||cE>2B.T("/"))){2B=z.51+2B}C S z.4r(2B,2E)};if(V 26!="1k"){z.c8=K;z.j4="qt";(B(){A d=z;if(1q&&1q.4I){A 8j=1q.4I("ak");A j3=/z(\\.qs)?\\.js([\\?\\.]|$)/i;R(A i=0;i<8j.G;i++){A 4X=8j[i].5t("4X");if(!4X){6c}A m=4X.1f(j3);if(m){if(!1o["51"]){1o["51"]=4X.21(0,m.hK)}A cD=8j[i].5t("1o");if(cD){A cC=3u("({ "+cD+" })");R(A x in cC){1o[x]=cC[x]}}3f}}}d.51=1o["51"];A n=cq;A 8i=n.iL;A 4Z=n.qr;A 6r=2k(4Z);d.2M=(8i.T("qq")>=0)?6r:0;d.6B=(4Z.T("qo")>=0)||(4Z.T("j2")>=0)?6r:0;d.3o=(4Z.T("j2")>=0)?6r:0;A j1=8i.T("qn");d.gu=d.7B=((j1>=0)&&(!d.6B))?6r:0;d.j0=0;d.1l=0;d.iV=0;1u{if(d.7B){d.j0=2k(8i.1A("qm/")[1].1A(" ")[0])}if((1q.gx)&&(!d.2M)){d.1l=2k(4Z.1A("qk ")[1].1A(";")[0])}}1y(e){}if(z.1l&&(26.8f.cu==="9q:")){1o.iT=K}d.iX=B(){A 2A;A qj;A cB=d.6q("cz.cy");if(cB){C cB}if(V iZ!="1k"){2A=S iZ()}I{if(d.1l){1u{2A=S 9j("qi.qh")}1y(e){}}I{if(cq.qg["8Z/x-iY"]){2A=1q.a9("8b");2A.cA("Z","8Z/x-iY");2A.cA("3n",0);2A.cA("58",0);2A.1c.gq="7C";1q.5K.4c(2A)}}}if(!2A){C L}z.88("cz.cy.qf",2A);C z.6q("cz.cy")};A iW=d.iX();if(iW){d.iV=K}A cm=1q["aX"];d.qe=(cm=="aW")||(cm=="gr")||(d.1l<6);d.8h=1o.8h||(d.1l?n.qd:n.qc).1M();d.qb=1z.1K;d.cx=["iU.8g","em.8g","iU.8g.4.0"];d.9b=B(){A 4s=L;A cv=L;if(!z.1l||!1o.iT){1u{4s=S qa()}1y(e){}}if(!4s){R(A i=0;i<3;++i){A cw=z.cx[i];1u{4s=S 9j(cw)}1y(e){cv=e}if(4s){z.cx=[cw];3f}}}if(!4s){2m S 1O("8g 3O q9: "+cv)}C 4s};d.8Y=B(iS){A 4Y=iS.3N||0;C((4Y>=q8)&&(4Y0);d.iR=B(1g,iP){A 3K=D.9b();if(!iQ&&z.4r){1g=(S z.4r(26.8f,1g)).2i()}3K.dL("dD",1g,U);1u{3K.dI(L);if(!d.8Y(3K)){A 1G=1O("q2 4F 4E "+1g+" 3N:"+3K.3N);1G.3N=3K.3N;1G.2G=3K.2G;2m 1G}}1y(e){if(iP){C L}2m e}C 3K.2G}})();z.iO=U;z.6o=B(e){z.iO=K;A cr=(e&&e.Z)?e.Z.1M():"4E";if(P.2O.iN||(cr!="q1"&&cr!="4E")){C}P.2O.iN=K;if(V z["8e"]!="1k"){dX(z.8e);63 z.8e}if(z.6p==0){z.iM()}};if(1q.66){if(z.2M||(z.7B&&(1o["q0"]===K))){1q.66("pZ",z.6o,L)}26.66("4E",z.6o,L)}if(/(pY|pX)/i.6Z(cq.iL)){z.8e=dN(B(){if(/6m|iJ/.6Z(1q.6F)){z.6o()}},10)}(B(){A 3g=26;A 8d=B(cp,fp){A iK=3g[cp]||B(){};3g[cp]=B(){fp.14(3g,P);iK.14(3g,P)}};if(z.1l){1q.fJ(""+"");A co=K;8d("iG",B(){3g.5c(B(){co=U},0)});8d("pU",B(){if(co){z.ck()}});1u{1q.pT.2P("v","pS:pR-pQ-pP:pO");1q.pN().pM("v\\\\:*","pL:2E(#aY#pK)")}1y(e){}}I{8d("iG",B(){z.ck()})}})();z.pJ=B(){};z.1e=26["1q"]||L;z.3E=B(){C z.1e.3E||z.1e.4I("3E")[0]};z.ch=B(iF,iE){z.1W=iF;z.1e=iE};z.cf=B(4q,6n,iD){if((6n)&&((V 4q=="3c")||(4q 1N 67))){4q=6n[4q]}C(6n?4q.14(6n,iD||[]):4q())};z.pI=B(cj,iC,iB,iA){A cg;A iz=z.1W;A iy=z.1e;1u{z.ch(cj,cj.1q);cg=z.cf(iC,iB,iA)}ir{z.ch(iz,iy)}C cg};z.pH=B(ix,iw,iv,iu){A ce;A ip=z.1e;1u{z.1e=ix;ce=z.cf(iw,iv,iu)}ir{z.1e=ip}C ce};if(1o["cd"]){R(A cc in 1o["cd"]){z.io(cc,1o["cd"][cc])}}}if(1o.im){if(!1z.ca){z.8c("z.pG.ca")}}}if(!z.1h["z.X.c9"]){z.1h["z.X.c9"]=K;z.1Q("z.X.c9");z.1R=B(it){C(V it=="3c"||it 1N 67)};z.2l=B(it){C(it&&it 1N 4e||V it=="6a"||((V z["1H"]!="1k")&&(it 1N z.1H)))};if(z.c8&&z.3o){z.1Y=B(it){if((V(it)=="B")&&(it=="[8b 1H]")){C U}C(V it=="B"||it 1N bI)}}I{z.1Y=B(it){C(V it=="B"||it 1N bI)}}z.ib=B(it){if(V it=="1k"){C U}C(it===L||V it=="8b"||z.2l(it)||z.1Y(it))};z.pF=B(it){A d=z;if((!it)||(V it=="1k")){C U}if(d.1R(it)){C U}if(d.1Y(it)){C U}if(d.2l(it)){C K}if((it.5w)&&(it.5w.1M()=="3R")){C U}if(pE(it.G)){C K}C U};z.pD=B(it){if(!it){C U}C!z.1Y(it)&&/\\{\\s*\\[il 5h\\]\\s*\\}/.6Z(67(it))};z.c7=B(M,4W){A 8a={};R(A x in 4W){if((V 8a[x]=="1k")||(8a[x]!=4W[x])){M[x]=4W[x]}}if(z.1l){A p=4W.2i;if((V(p)=="B")&&(p!=M.2i)&&(p!=8a.2i)&&(p!="\\pC 2i() {\\n [il 5h]\\n}\\n")){M.2i=4W.2i}}C M};z.1x=B(M,pB){R(A i=1,l=P.G;i2){C z.ig.14(z,P)}if(!3k){3k=2z;2z=L}if(z.1R(3k)){2z=2z||z.1W;if(!2z[3k]){2m(["z.2p: ie[\\"",3k,"\\"] is L (ie=\\"",2z,"\\")"].22(""))}C B(){C 2z[3k].14(2z,P||[])}}I{C(!2z?3k:B(){C 3k.14(2z,P||[])})}};z.6j=B(M,c3){B c4(){};c4.1C=M;A c2=S c4();if(c3){z.1x(c2,c3)}C c2};z.7X=B(pz){A Q=[L];C z.2p.14(z,Q.3U(z.4d(P)))};z.4d=B(M,ic){A Q=[];R(A x=ic||0;x3)){z.ia("z.2r: R 9P \'"+6l+"\' py pw B as \'1P\' pv pu of as a pt i3.","","1.0");A c=3j;3j=P[3]||{};3j.1P=c}A dd=P.2O,4V=L;if(z.2l(4p)){4V=4p;4p=4V.3a()}if(4V){R(A i=0,m;i<4V.G;i++){m=4V[i];if(!m){2m("ps #"+i+" 4F pr of "+6l+" is L. pq\'s pp a po pl is 3O 6m.")}4p=dd.6j(4p,m)}}A i9=(3j||0).1P,6k=dd.6j(4p),fn;R(A i in 3j){if(z.1Y(fn=3j[i])&&(!0[i])){fn.i4=i}}z.4M(6k,{4o:6l,bY:i9,bZ:L},3j||0);6k.1C.1P=6k;C z.88(6l,6k)};z.1x(z.2r,{6j:B(c0,i8){A bp=(c0||0).1C,mp=(i8||0).1C;A 2S=z.2r.i7();z.1x(2S,{84:bp,1x:mp});if(c0){2S.1C=z.6j(bp)}z.4M(2S,z.2r.i6,mp||0,{bY:L});2S.1C.1P=2S;2S.1C.4o=(bp||0).4o+"pk"+(mp||0).4o;z.88(2S.1C.4o,2S);C 2S},i7:B(){C B(){D.i5(P)}},i6:{i5:B(86){A c=86.2O,s=c.84,ct=s&&s.1P,m=c.1x,87=m&&m.1P,a=86,ii,fn;if(a[0]){if((fn=a[0]["bZ"])){a=fn.14(D,a)||a}}if(fn=c.1C.bZ){a=fn.14(D,a)||a}if(ct&&ct.14){ct.14(D,a)}if(87&&87.14){87.14(D,a)}if(ii=c.1C.bY){ii.14(D,86)}},bX:B(85){A c=D.1P,p,m;1s(c){p=c.84;m=c.1x;if(m==85||(m 1N 85.1P)){C p}if(m&&(m=m.bX(85))){C m}c=p&&p.1P}},6h:B(83,82,bW,6i){A p=bW,c,m,f;do{c=p.1P;m=c.1x;if(m&&(m=D.6h(83,82,m,6i))){C m}if((f=p[83])&&(6i==(f==82))){C p}p=c.84}1s(p);C!6i&&(p=D.bX(bW))&&D.6h(83,82,p,6i)},bU:B(2R,4U,bV){A a=P;if(!z.1R(a[0])){bV=4U;4U=2R;2R=4U.2O.i4}A c=4U.2O,p=D.1P.1C,a=bV||4U,fn,mp;if(D[2R]!=c||p[2R]==c){mp=D.6h(2R,c,p,K);if(!mp){2m(D.4o+": 1p i3 (\\""+2R+"\\") 4F bU pj 1f 2O (2r.js)")}p=D.6h(2R,c,mp,U)}fn=p&&p[2R];if(!fn){1z.1K(mp.4o+": no bU \\""+2R+"\\" ph pg (2r.js)");C}C fn.14(D,a)}}})}if(!z.1h["z.X.2c"]){z.1h["z.X.2c"]=K;z.1Q("z.X.2c");z.3i={i2:B(){C B(){A ap=4e.1C,c=P.2O,ls=c.2b,t=c.5V;A r=t&&t.14(D,P);R(A i in ls){if(!(i in ap)){ls[i].14(D,P)}}C r}},2P:B(6g,bT,i1){6g=6g||z.1W;A f=6g[bT];if(!f||!f.2b){A d=z.3i.i2();d.5V=f;d.2b=[];f=6g[bT]=d}C f.2b.Y(i1)},3J:B(i0,hZ,bS){A f=(i0||z.1W)[hZ];if(f&&f.2b&&bS--){63 f.2b[bS]}}};z.2c=B(M,pd,pc,pa,p9){A a=P,F=[],i=0;F.Y(z.1R(a[0])?L:a[i++],a[i++]);A a1=a[i+1];F.Y(z.1R(a1)||z.1Y(a1)?a[i++]:L,a[i++]);R(A l=a.G;i2){6e=z.7X(6e,P,2)}C D.5k(6e,6e)},ef:B(cb,4T){A 7Y=z.2p(cb,4T);if(P.G>2){7Y=z.7X(7Y,P,2)}C D.5k(7Y,L)},ed:B(cb,4T){A 7W=z.2p(cb,4T);if(P.G>2){7W=z.7X(7W,P,2)}C D.5k(L,7W)},5k:B(cb,eb){D.bM.Y([cb,eb]);if(D.2y>=0){D.7U()}C D},7U:B(){A bL=D.bM;A 4n=D.2y;A 1v=D.4R[4n];A 4S=D;A cb=L;1s((bL.G>0)&&(D.3M==0)){A f=bL.3a()[4n];if(!f){6c}1u{1v=f(1v);4n=((1v 1N 1O)?1:0);if(1v 1N z.30){cb=B(1v){4S.7V(1v);4S.3M--;if((4S.3M==0)&&(4S.2y>=0)){4S.7U()}};D.3M++}}1y(1G){1z.1K(1G);4n=1;1v=1G}}D.2y=4n;D.4R[4n]=1v;if((cb)&&(D.3M)){1v.9e(cb)}}})}if(!z.1h["z.X.2e"]){z.1h["z.X.2e"]=K;z.1Q("z.X.2e");z.5m=B(2e){1u{C 3u("("+2e+")")}1y(e){1z.1K(e);C 2e}};z.bK=B(2H){C("\\""+2H.2f(/(["\\\\])/g,"\\\\$1")+"\\"").2f(/[\\f]/g,"\\\\f").2f(/[\\b]/g,"\\\\b").2f(/[\\n]/g,"\\\\n").2f(/[\\t]/g,"\\\\t").2f(/[\\r]/g,"\\\\r")};z.hM="\\t";z.eq=B(it,4l,4P){4P=4P||"";A 4k=(4l?4P+z.hM:"");A 6b=(4l?"\\n":"");A 4Q=V(it);if(4Q=="1k"){C"1k"}I{if((4Q=="4J")||(4Q=="p1")){C it+""}I{if(it===L){C"L"}}}if(4Q=="3c"){C z.bK(it)}A 6d=P.2O;A 4m;if(V it.hL=="B"){4m=it.hL();if(it!==4m){C 6d(4m,4l,4k)}}if(V it.2e=="B"){4m=it.2e();if(it!==4m){C 6d(4m,4l,4k)}}if(z.2l(it)){A 1v=[];R(A i=0;i>=7R;t[x]=7R==4?17*c:c});t.a=1;C t};z.7P=B(a,M){A t=M||S z.1J();t.bz(2V(a[0]),2V(a[1]),2V(a[2]),2V(a[3]));if(2L(t.a)){t.a=1}C t.7Q()};z.hq=B(2H,M){A a=z.1J.hp[2H];C a&&z.7P(a,M)||z.ho(2H,M)||z.hn(2H,M)}}if(!z.1h["z.X"]){z.1h["z.X"]=K;z.1Q("z.X")}if(!z.1h["z.X.5Z"]){z.1h["z.X.5Z"]=K;z.1Q("z.X.5Z");(B(){A 1j=z.b2={2P:B(E,68,fp){if(!E){C}68=1j.4O(68);fp=1j.7G(68,fp);E.66(68,fp,U);C fp},3J:B(E,hm,hl){(E)&&(E.oF(1j.4O(hm),hl,U))},4O:B(1p){C(1p.2w(0,2)=="on"?1p.2w(2):1p)},7G:B(1p,fp){C(1p!="4b"?fp:B(e){C fp.2d(D,1j.4i(e,D))})},4i:B(H,oE){4w(H.Z){2X"4b":1j.7K(H);3f}C H},7K:B(H){H.oD=(H.3h?67.oC(H.3h):"")}};z.oB=B(H,hk){C 1j.4i(H,hk)};z.gY=B(H){H.7J();H.7I()};A 7O=z.3i;z.by=B(M,bx,hh,hg,hi){A hj=M&&(M.2t||M.oA||M.66);A bw=!hj?0:(!hi?1:2),l=[z.3i,1j,7O][bw];A h=l.2P(M,bx,z.2p(hh,hg));C[M,bx,h,bw]};z.bv=B(M,he,hd,hf){([z.3i,1j,7O][hf]).3J(M,he,hd)};z.5W={oz:8,gV:9,oy:12,ox:13,ow:16,ov:17,ou:18,gG:19,ot:20,os:27,or:32,b5:33,b4:34,gE:35,gF:36,b7:37,b9:38,b6:39,b8:40,gD:45,8S:46,oq:47,oo:91,om:92,ol:93,oj:96,oi:97,oh:98,og:99,oe:6D,od:oc,ob:oa,o9:o8,o7:o6,o5:o4,o3:bi,o2:o1,o0:nZ,nY:nX,nW:nV,nU:bk,gS:nT,gR:nS,gQ:nR,gP:nQ,gO:nP,gN:nO,gM:nN,gL:nM,gK:nL,gJ:nK,gI:nJ,gH:nI,nH:nG,nF:nE,nD:nC,gB:nB,gC:nA};if(z.1l){bf=B(e,5h){1u{C(e.3I=5h)}1y(e){C 0}};A 61=z.3i;if(!1o.nz){7O=61=z.gy={b3:[],2P:B(64,bu,hc){64=64||z.1W;A f=64[bu];if(!f||!f.2b){A d=z.gz();d.5V=f&&(7M.Y(f)-1);d.2b=[];f=64[bu]=d}C f.2b.Y(7M.Y(hc)-1)},3J:B(hb,ha,7N){A f=(hb||z.1W)[ha],l=f&&f.2b;if(f&&l&&7N--){63 7M[l[7N]];63 l[7N]}}};A 7M=61.b3}z.1x(1j,{2P:B(E,62,fp){if(!E){C}62=1j.4O(62);if(62=="h3"){A kd=E.bs;if(!kd||!kd.2b||!kd.h9){1j.2P(E,"bs",1j.h4);E.bs.h9=K}}C 61.2P(E,62,1j.7G(fp))},3J:B(E,h8,h7){61.3J(E,1j.4O(h8),h7)},4O:B(7L){C(7L.2w(0,2)!="on"?"on"+7L:7L)},ny:B(){},4i:B(H,4N){if(!H){A w=(4N)&&((4N.aD||4N.1q||4N).nx)||26;H=w.5Z}if(!H){C(H)}H.5V=H.br;H.bh=(4N||H.br);H.nw=H.nv;H.nu=H.nr;A bq=H.br,1e=(bq&&bq.aD)||1q;A bn=((z.1l<6)||(1e["aX"]=="aW"))?1e.3E:1e.5K;A bm=z.aB();H.nq=H.np+z.aH(bn.5I||0)-bm.x;H.nn=H.nm+(bn.5G||0)-bm.y;if(H.Z=="fk"){H.h6=H.nl}if(H.Z=="fj"){H.h6=H.nk}H.7I=1j.bc;H.7J=1j.ba;C 1j.h5(H)},h5:B(H){4w(H.Z){2X"4b":A c=("3h"in H?H.3h:H.3I);if(c==10){c=0;H.3I=13}I{if(c==13||c==27){c=0}I{if(c==3){c=99}}}H.3h=c;1j.7K(H);3f}C H},gZ:{bi:42,bk:47,h2:59,nj:43,ni:44,nh:45,ng:46,nf:47,60:96,h1:91,nb:92,na:93,h0:39},h4:B(H){A kp=H.bh.h3;if(!kp||!kp.2b){C}A k=H.3I;A bj=(k!=13)&&(k!=32)&&(k!=27)&&(k<48||k>90)&&(k<96||k>bk)&&(k60)&&(kh0);if(bj||H.5Y){A c=(bj?0:k);if(H.5Y){if(k==3||k==13){C}I{if(c>95&&c=65&&c<=90)){c+=32}I{c=1j.gZ[c]||c}}}}A 2x=1j.7H(H,{Z:"4b",2x:K,3h:c});kp.2d(H.bh,2x);H.bg=2x.bg;H.bd=2x.bd;bf(H,2x.3I)}},bc:B(){D.bg=K},ba:B(){D.n9=D.3I;if(D.5Y){bf(D,0)}D.bd=U}});z.gY=B(H){H=H||26.5Z;1j.bc.2d(H);1j.ba.2d(H)}}1j.7H=B(H,gX){A 2x=z.1x({},H,gX);1j.7K(2x);2x.7J=B(){H.7J()};2x.7I=B(){H.7I()};C 2x};if(z.2M){z.1x(1j,{4i:B(H,n8){4w(H.Z){2X"4b":A c=H.n7;if(c==3){c=99}c=((c<41)&&(!H.5X)?0:c);if((H.5Y)&&(!H.5X)&&(c>=65)&&(c<=90)){c+=32}C 1j.7H(H,{3h:c})}C H}})}if(z.3o){z.1x(1j,{4i:B(H,n6){4w(H.Z){2X"4b":A c=H.3h,s=H.5X,k=H.3I;k=k||gA[H.gW]||0;if(H.gW=="n5"){c=0}I{if((H.5Y)&&(c>0)&&(c<27)){c+=96}I{if(c==z.5W.gU){c=z.5W.gV;s=K}I{c=(c>=32&&c gh",E).1n(B(i){i.1c.7E=i.1c.7E.2f(/gk:[^;]*;/i,"")})}}I{A o="mh(mg="+(7D*6D)+")";E.1c.3T=o}if(E.gj.1M()=="gi"){z.1r("> gh",E).1n(B(i){i.1c.3T=o})}C 7D}:B(E,gg){C E.1c.2W=gg});A 5Q={3n:K,58:K,2g:K,5J:K};A gd=B(E,Z,5P){Z=Z.1M();if(5Q[Z]===K){C z.4g(E,5P)}I{if(5Q[Z]===U){C 5P}I{if((Z.T("mf")>=0)||(Z.T("md")>=0)||(Z.T("3n")>=0)||(Z.T("58")>=0)||(Z.T("5q")>=0)||(Z.T("mc")>=0)||(Z.T("ma")>=0)){5Q[Z]=K;C z.4g(E,5P)}I{5Q[Z]=U;C 5P}}}};z.1c=B(E,5O,aT){A n=z.1D(E),F=P.G,op=(5O=="2W");if(F==3){C op?z.gf(n,aT):n.1c[5O]=aT}if(F==2&&op){C z.ge(n)}A s=z.3F(n);C(F==1)?s:gd(n,5O,s[5O])};z.7A=B(n,gc){A s=gc||1E(n),px=z.4g,l=px(n,s.m9),t=px(n,s.m8);C{l:l,t:t,w:l+px(n,s.m7),h:t+px(n,s.m6)}};z.5N=B(n,gb){A ne="7C",px=z.4g,s=gb||1E(n),bl=(s.m5!=ne?px(n,s.m4):0),bt=(s.m3!=ne?px(n,s.m2):0);C{l:bl,t:bt,w:bl+(s.m1!=ne?px(n,s.m0):0),h:bt+(s.lZ!=ne?px(n,s.lY):0)}};z.aN=B(n,ga){A s=ga||1E(n),p=z.7A(n,s),b=z.5N(n,s);C{l:p.l+b.l,t:p.t+b.t,w:p.w+b.w,h:p.h+b.h}};z.aM=B(n,g9){A s=g9||1E(n),px=z.4g,l=px(n,s.lX),t=px(n,s.lW),r=px(n,s.lV),b=px(n,s.lU);if(z.3o&&(s.ax!="fU")){r=l}C{l:l,t:t,w:l+r,h:t+b}};z.au=B(E,g8){A s=g8||1E(E),me=z.aM(E,s);A l=E.fT-me.l,t=E.fS-me.t;if(z.7B){A aS=2k(s.2g),aR=2k(s.5J);if(!2L(aS)&&!2L(aR)){l=aS,t=aR}I{A p=E.1L;if(p&&p.1c){A aQ=1E(p);if(aQ.lT!="lS"){A be=z.5N(p,aQ);l+=be.l,t+=be.t}}}}I{if(z.2M){A p=E.1L;if(p){A be=z.5N(p);l-=be.l,t-=be.t}}}C{l:l,t:t,w:E.6v+me.w,h:E.8D+me.h}};z.aK=B(E,g7){A s=g7||1E(E),pe=z.7A(E,s),be=z.5N(E,s),w=E.aF,h;if(!w){w=E.6v,h=E.8D}I{h=E.lR,be.w=be.h=0}if(z.2M){pe.l+=be.l;pe.t+=be.t}C{l:pe.l,t:pe.t,w:w-pe.w-be.w,h:h-pe.h-be.h}};z.lQ=B(E,g6){A s=g6||1E(E),pe=z.7A(E,s),cb=z.aK(E,s);C{l:cb.l-pe.l,t:cb.t-pe.t,w:cb.w+pe.w,h:cb.h+pe.h}};z.aL=B(E,l,t,w,h,u){u=u||"px";4G(E.1c){if(!2L(l)){2g=l+u}if(!2L(t)){5J=t+u}if(w>=0){3n=w+u}if(h>=0){58=h+u}}};z.aO=B(E){A n=E.5w;C(z.aP=="g5-3G")||(n=="lP")||(n=="lO")};z.fX=B(E,7z,7y,g4){A bb=z.aO(E);if(bb){A pb=z.aN(E,g4);if(7z>=0){7z+=pb.w}if(7y>=0){7y+=pb.h}}z.aL(E,g3,g3,7z,7y)};z.fY=B(E,g1,g0,5M,5L,g2){A s=g2||z.3F(E);A bb=z.aO(E),pb=bb?fZ:z.aN(E,s),mb=z.aM(E,s);if(5M>=0){5M=2Y.5q(5M-pb.w-mb.w,0)}if(5L>=0){5L=2Y.5q(5L-pb.h-mb.h,0)}z.aL(E,g1,g0,5M,5L)};A fZ={l:0,t:0,w:0,h:0};z.lN=B(E,3G){A n=z.1D(E),s=1E(n),b=3G;C!b?z.au(n,s):z.fY(n,b.l,b.t,b.w,b.h,s)};z.lM=B(E,3G){A n=z.1D(E),s=1E(n),b=3G;C!b?z.aK(n,s):z.fX(n,b.w,b.h,s)};A 5H=B(E,1a){if(!(E=(E||0).1L)){C 0}A 1U,aJ=0,2h=z.3E();1s(E&&E.1c){if(1E(E).ax=="lL"){C 0}1U=E[1a];if(1U){aJ+=1U-0;if(E==2h){3f}}E=E.1L}C aJ};z.fQ=B(){A 2h=z.3E();A 3g=z.1W;A de=z.1e.5K;C{y:(3g.lK||de.5G||2h.5G||0),x:(3g.lJ||z.aH(de.5I)||2h.5I||0)}};z.aG=B(){C V z.aI=="1k"?(z.aI=z.3F(z.3E()).lI=="lH"):z.aI};z.aB=B(){A de=z.1e.5K;if(z.1l>=7){C{x:de.aC().2g,y:de.aC().5J}}I{C{x:z.aG()||26.am==26?de.fW:de.6v-de.aF-de.fW,y:de.lG}}};z.aH=B(aE){if(z.1l&&!z.aG()){A de=z.1e.5K;C aE+de.aF-de.lF}C aE};z.fP=B(E,aw){A ay=E.aD;A J={x:0,y:0};A 7w=U;A db=z.3E();if(z.1l){A aA=E.aC();A az=z.aB();J.x=aA.2g-az.x;J.y=aA.5J-az.y}I{if(ay["fV"]){A bo=ay.fV(E);J.x=bo.x-5H(E,"5I");J.y=bo.y-5H(E,"5G")}I{if(E["fR"]){7w=K;A 7x;if(z.3o&&(1E(E).ax=="fU")&&(E.1L==db)){7x=db}I{7x=db.1L}if(E.1L!=db){A nd=E;if(z.2M){nd=db}J.x-=5H(nd,"5I");J.y-=5H(nd,"5G")}A 4f=E;do{A n=4f["fT"];if(!z.2M||n>0){J.x+=2L(n)?0:n}A m=4f["fS"];J.y+=2L(m)?0:m;4f=4f.fR}1s((4f!=7x)&&4f)}I{if(E["x"]&&E["y"]){J.x+=2L(E.x)?0:E.x;J.y+=2L(E.y)?0:E.y}}}}if(7w||aw){A av=z.fQ();A m=7w?(!aw?-1:0):1;J.y+=m*av.y;J.x+=m*av.x}C J};z.af=B(E,fO){A n=z.1D(E),s=1E(n),mb=z.au(n,s);A at=z.fP(n,fO);mb.x=at.x;mb.y=at.y;C mb}})();z.fL=B(E,fN){C((" "+E.3A+" ").T(" "+fN+" ")>=0)};z.7s=B(E,ar){A 7v=E.3A;if((" "+7v+" ").T(" "+ar+" ")<0){E.3A=7v+(7v?" ":"")+ar}};z.7r=B(E,fM){A t=z.7g((" "+E.3A+" ").2f(" "+fM+" "," "));if(E.3A!=t){E.3A=t}};z.lE=B(E,aq,7u){if(V 7u=="1k"){7u=!z.fL(E,aq)}z[7u?"7s":"7r"](E,aq)}}if(!z.1h["z.X.1H"]){z.1h["z.X.1H"]=K;z.1Q("z.X.1H");(B(){A d=z;z.1H=B(){A F=P;if((F.G==1)&&(V F[0]=="4J")){D.G=eK(F[0])}I{if(F.G){d.1n(F,B(i){D.Y(i)},D)}}};z.1H.1C=S 4e;if(d.1l){A fK=B(al){C("A a2 = am."+al+"; "+"A ap = 4e.1C; "+"A ao = a2.1C; "+"R(A x in ao){ ap[x] = ao[x]; } "+"am."+al+" = 4e; ")};A fI=fK("z.1H");A aj=26.lD();aj.1q.fJ(""+fI+"");aj.lC(1,1,1,1)}z.4M(z.1H,{T:B(fH,fG){C d.T(D,fH,fG)},31:B(lB,lA){A aa=d.4d(P);aa.ae(D);C d.31.14(d,aa)},ah:B(fF,fE){C d.ah(D,fF,fE)},ag:B(fD,fC){C d.ag(D,fD,fC)},1n:B(fB,fA){d.1n(D,fB,fA);C D},23:B(7t,M){C d.23(D,7t,M,d.1H)},af:B(){C d.23(D,d.af)},1c:B(lz,ly){A aa=d.4d(P);aa.ae(D[0]);A s=d.1c.14(d,aa);C(P.G>1)?D:s},lx:B(lw,lv){A aa=d.4d(P);aa.ae(L);A s=D.23(B(i){aa[0]=i;C d.1c.14(d,aa)});C(P.G>1)?D:s},7s:B(fz){C D.1n(B(i){z.7s(i,fz)})},7r:B(fy){C D.1n(B(i){z.7r(i,fy)})},5E:B(fw,7q){A 1m=d.1r(fw)[0];7q=7q||"72";R(A x=0;x=0){if(i[x]<1d){1d=i[x]}}}C(1d<0)?ql:1d};A 6X=B(7l){A i=2I(7l);if(i[0]!=-1){C 7l.21(i[0]+1,a0(7l,1))}I{C""}};A 5r=B(7k){A 5D;A i=2I(7k);if((i[0]==0)||(i[1]==0)){5D=0}I{5D=a0(7k,0)}C((5D>0)?7k.3b(0,5D).1M():"*")};A fg=B(Q){A J=-1;R(A x=0;x=0){if((1S>J)||(J==-1)){J=1S}}}C J};A 9H=B(7i){A i=2I(7i);if(-1==i[1]){C""}A di=i[1]+1;A 7j=fg(i.2w(2));if(di<7j){C 7i.21(di,7j)}I{if(-1==7j){C 7i.3b(di)}I{C""}}};A f3=[{1i:"|=",1f:B(15,fe){C"[5z(3U(\' \',@"+15+",\' \'), \' "+fe+"-\')]"}},{1i:"~=",1f:B(15,fd){C"[5z(3U(\' \',@"+15+",\' \'), \' "+fd+" \')]"}},{1i:"^=",1f:B(15,fb){C"[li-4G(@"+15+", \'"+fb+"\')]"}},{1i:"*=",1f:B(15,fa){C"[5z(@"+15+", \'"+fa+"\')]"}},{1i:"$=",1f:B(15,9Z){C"[21(@"+15+", 3c-G(@"+15+")-"+(9Z.G-1)+")=\'"+9Z+"\']"}},{1i:"!=",1f:B(15,f9){C"[3O(@"+15+"=\'"+f9+"\')]"}},{1i:"=",1f:B(15,f8){C"[@"+15+"=\'"+f8+"\']"}}];A 9C=B(9Y,3Z,f7,f6){A 49;A i=2I(3Z);if(i[2]>=0){A 4L=3Z.T("]",i[2]);A 29=3Z.21(i[2]+1,4L);1s(29&&29.G){if(29.2s(0)=="@"){29=29.2w(1)}49=L;R(A x=0;x<9Y.G;x++){A 1S=9Y[x];A 7h=29.T(1S.1i);if(7h>=0){A 15=29.21(0,7h);A 4a=29.21(7h+1S.1i.G);if((4a.2s(0)=="\\"")||(4a.2s(0)=="\'")){4a=4a.21(1,4a.G-1)}49=1S.1f(d.7g(15),d.7g(4a));3f}}if((!49)&&(29.G)){49=f7(29)}if(49){f6(49)}29=L;A 7f=3Z.T("[",4L);if(0<=7f){4L=3Z.T("]",7f);if(0<=4L){29=3Z.21(7f+1,4L)}}}}};A f0=B(f5){A 4K=".";A 7e=f5.1A(" ");1s(7e.G){A 2K=7e.3a();A 7d;if(2K==">"){7d="/";2K=7e.3a()}I{7d="//"}A f4=5r(2K);4K+=7d+f4;A id=6X(2K);if(id.G){4K+="[@id=\'"+id+"\'][1]"}A cn=9H(2K);if(cn.G){A 9X=" ";if(cn.2s(cn.G-1)=="*"){9X="";cn=cn.3b(0,cn.G-1)}4K+="[5z(3U(\' \',@9P,\' \'), \' "+cn+9X+"\')]"}9C(f3,2K,B(f2){C"[@"+f2+"]"},B(f1){4K+=f1})}C 4K};A 7a={};A eC=B(28){if(7a[28]){C 7a[28]}A 1e=d.1e;A 9W=f0(28);A 4H=B(9V){A J=[];A 7b;1u{7b=1e.9x(9W,9V,L,lh.lg,L)}1y(e){1z.1K("lf in le:",9W,"lc:",9V);1z.1K(e)}A 7c=7b.eZ();1s(7c){J.Y(7c);7c=7b.eZ()}C J};C 7a[28]=4H};A 5x={};A 9B={};A 3y=B(79,78){if(!79){C 78}if(!78){C 79}C B(){C 79.14(26,P)&&78.14(26,P)}};A 75=B(9U,3Y,5B,2J){A 2v=2J+1;A 76=(3Y.G==2v);A 2K=3Y[2J];if(2K==">"){A 77=9U.3W;if(!77.G){C}2v++;76=(3Y.G==2v);A 4H=6O(3Y[2J+1]);R(A x=0,11;x<77.G,11=77[x];x++){if(4H(11)){if(76){5B.Y(11)}I{75(11,3Y,5B,2v)}}}}A 5C=6U(2K)(9U);if(76){1s(5C.G){5B.Y(5C.3a())}}I{1s(5C.G){75(5C.3a(),3Y,5B,2v)}}};A eE=B(9T,eY){A J=[];A x=9T.G-1,11;1s(11=9T[x--]){75(11,eY,J,0)}C J};A 6O=B(3D){if(5x[3D]){C 5x[3D]}A ff=L;A 9S=5r(3D);if(9S!="*"){ff=3y(ff,B(N){C((N.2t==1)&&(9S==N.5w.1M()))})}A 9R=6X(3D);if(9R.G){ff=3y(ff,B(N){C((N.2t==1)&&(N.id==9R))})}if(2Y.5q.14(D,2I(3D).2w(1))>=0){ff=3y(ff,9z(3D))}C 5x[3D]=ff};A 5y=B(E){A pn=E.1L;A 9Q=pn.3W;A 2v=-1;A 3C=pn.5A;if(!3C){C 2v}A ci=E["eW"];A cl=pn["eX"];if(((V cl=="4J")&&(cl!=9Q.G))||(V ci!="4J")){pn["eX"]=9Q.G;A 2J=1;do{if(3C===E){2v=2J}if(3C.2t==1){3C["eW"]=2J;2J++}3C=3C.71}1s(3C)}I{2v=ci}C 2v};A lb=0;A 3X=B(N,15){A 74="";if(15=="9P"){C N.3A||74}if(15=="R"){C N.la||74}C N.5t(15,2)||74};A eH=[{1i:"|=",1f:B(15,9O){A eV=" "+9O+"-";C B(N){A ea=" "+(N.5t(15,2)||"");C((ea==9O)||(ea.T(eV)==0))}}},{1i:"^=",1f:B(15,eU){C B(N){C(3X(N,15).T(eU)==0)}}},{1i:"*=",1f:B(15,eT){C B(N){C(3X(N,15).T(eT)>=0)}}},{1i:"~=",1f:B(15,eS){A 9N=" "+eS+" ";C B(N){A ea=" "+3X(N,15)+" ";C(ea.T(9N)>=0)}}},{1i:"$=",1f:B(15,73){A 9N=" "+73;C B(N){A ea=" "+3X(N,15);C(ea.31(73)==(ea.G-73.G))}}},{1i:"!=",1f:B(15,eR){C B(N){C(3X(N,15)!=eR)}}},{1i:"=",1f:B(15,eQ){C B(N){C(3X(N,15)==eQ)}}}];A 9E=[{1i:"9M-9K",1f:B(1p,l9){C B(N){if(N.2t!=1){C U}A fc=N.eP;1s(fc&&(fc.2t!=1)){fc=fc.eP}C(!fc)}}},{1i:"72-9K",1f:B(1p,l8){C B(N){if(N.2t!=1){C U}A nc=N.71;1s(nc&&(nc.2t!=1)){nc=nc.71}C(!nc)}}},{1i:"l7",1f:B(1p,l6){C B(N){A cn=N.3W;A eO=N.3W.G;R(A x=eO-1;x>=0;x--){A nt=cn[x].2t;if((nt==1)||(nt==3)){C U}}C K}}},{1i:"5z",1f:B(1p,eN){C B(N){C(N.9L.T(eN)>=0)}}},{1i:"3O",1f:B(1p,eM){A eL=6O(eM);C B(N){C(!eL(N))}}},{1i:"l5-9K",1f:B(1p,2u){A pi=eK;if(2u=="l4"){C B(N){C(((5y(N))%2)==1)}}I{if((2u=="2n")||(2u=="l3")){C B(N){C((5y(N)%2)==0)}}I{if(2u.T("l2+")==0){A 70=pi(2u.3b(3));C B(N){C(N.1L.3W[70-1]===N)}}I{if((2u.T("n+")>0)&&(2u.G>3)){A 9J=2u.1A("n+",2);A eJ=pi(9J[0]);A 2J=pi(9J[1]);C B(N){C((5y(N)%eJ)==2J)}}I{if(2u.T("n")==-1){A 70=pi(2u);C B(N){C(5y(N)==70)}}}}}}}}];A 9z=B(3e){A 9I=(9B[3e]||5x[3e]);if(9I){C 9I}A ff=L;A i=2I(3e);if(i[0]>=0){A 24=5r(3e);if(24!="*"){ff=3y(ff,B(N){C(N.5w.1M()==24)})}}A 5u;A 3B=9H(3e);if(3B.G){A 9F=3B.2s(3B.G-1)=="*";if(9F){3B=3B.3b(0,3B.G-1)}A re=S 9G("(?:^|\\\\s)"+3B+(9F?".*":"")+"(?:\\\\s|$)");ff=3y(ff,B(N){C re.6Z(N.3A)})}if(i[3]>=0){A 3z=3e.3b(i[3]+1);A 9D="";A 5v=3z.T("(");A 6Y=3z.31(")");if((0<=5v)&&(0<=6Y)&&(6Y>5v)){9D=3z.21(5v+1,6Y);3z=3z.3b(0,5v)}5u=L;R(A x=0;x<9E.G;x++){A 1S=9E[x];if(1S.1i==3z){5u=1S.1f(3z,9D);3f}}if(5u){ff=3y(ff,5u)}}A eG=(d.1l)?B(5s){A eI=5s.1M();C B(N){C N[5s]||N[eI]}}:B(5s){C B(N){C(N&&N.5t&&N.l1(5s))}};9C(eH,3e,eG,B(eF){ff=3y(ff,eF)});if(!ff){ff=B(){C K}}C 9B[3e]=ff};A 6W={};A 6U=B(3d,1B){A 9A=6W[3d];if(9A){C 9A}A i=2I(3d);A id=6X(3d);if(i[0]==0){C 6W[3d]=B(1B){C[d.1D(id)]}}A 9y=9z(3d);A 5p;if(i[0]>=0){5p=B(1B){A 11=d.1D(id);if(9y(11)){C[11]}}}I{A 3V;A 24=5r(3d);if(2Y.5q.14(D,2I(3d))==-1){5p=B(1B){A J=[];A 11,x=0,3V=1B.4I(24);1s(11=3V[x++]){J.Y(11)}C J}}I{5p=B(1B){A J=[];A 11,x=0,3V=1B.4I(24);1s(11=3V[x++]){if(9y(11)){J.Y(11)}}C J}}}C 6W[3d]=5p};A l0={};A 5o={">":B(1B){A J=[];A 11,x=0,3V=1B.3W;1s(11=3V[x++]){if(11.2t==1){J.Y(11)}}C J}};A 9w=B(6V){if(0>6V.T(" ")){C 6U(6V)}A eD=B(1B){A 6S=6V.1A(" ");A 6T;if(6S[0]==">"){6T=[1B]}I{6T=6U(6S.3a())(1B)}C eE(6T,6S)};C eD};A 9v=((1q["9x"]&&!d.3o)?B(3x){A 6R=3x.1A(" ");if((1q["9x"])&&(3x.T(":")==-1)&&((K))){if(((6R.G>2)&&(3x.T(">")==-1))||(6R.G>3)||(3x.T("[")>=0)||((1==6R.G)&&(0<=3x.T(".")))){C eC(3x)}}C 9w(3x)}:9w);A ey=B(3w){if(5o[3w]){C 5o[3w]}if(0>3w.T(",")){C 5o[3w]=9v(3w)}I{A eB=3w.1A(/\\s*,\\s*/);A 4H=B(1B){A eA=0;A J=[];A 6Q;1s(6Q=eB[eA++]){J=J.3U(9v(6Q,6Q.T(" "))(1B))}C J};C 5o[3w]=4H}};A 5n=0;A ez=B(Q){A J=S d.1H();if(!Q){C J}if(Q[0]){J.Y(Q[0])}if(Q.G<2){C J}5n++;Q[0]["9u"]=5n;R(A x=1,11;11=Q[x];x++){if(Q[x]["9u"]!=5n){J.Y(11)}11["9u"]=5n}C J};d.1r=B(6P,1B){if(V 6P!="3c"){C S d.1H(6P)}if(V 1B=="3c"){1B=d.1D(1B)}C ez(ey(6P)(1B||d.1e))};d.9t=B(ex,9s){A 9r=S d.1H();A ff=(9s)?6O(9s):B(){C K};R(A x=0,11;11=ex[x];x++){if(ff(11)){9r.Y(11)}}C 9r}})()}if(!z.1h["z.X.1b"]){z.1h["z.X.1b"]=K;z.1Q("z.X.1b");z.6K=B(ew){A J={};A iq="kZ[Z!=9q][Z!=kY][Z!=et][Z!=kX][Z!=kW], kV, kU";z.1r(iq,ew).3T(B(E){C(!E.kT)}).1n(B(1m){A 3v=1m.1p;A Z=(1m.Z||"").1M();if((Z=="kS")||(Z=="kR")){if(1m.kQ){J[3v]=1m.1Z}}I{if(1m.kP){A ev=J[3v]=[];z.1r("kO[kN]",1m).1n(B(eu){ev.Y(eu.1Z)})}I{J[3v]=1m.1Z;if(Z=="et"){J[3v+".x"]=J[3v+".y"]=J[3v].x=J[3v].y=0}}}});C J};z.9h=B(23){A ec=kM;A J="";A es={};R(A x in 23){if(23[x]!=es[x]){if(z.2l(23[x])){R(A y=0;y<23[x].G;y++){J+=ec(x)+"="+ec(23[x][y])+"&"}}I{J+=ec(x)+"="+ec(23[x])+"&"}}}if((J.G)&&(J.2s(J.G-1)=="&")){J=J.3b(0,J.G-1)}C J};z.kL=B(er){C z.9h(z.6K(er))};z.kK=B(ep){C z.eq(z.6K(ep))};z.kJ=B(2H){A J={};A qp=2H.1A("&");A dc=kI;z.1n(qp,B(1m){if(1m.G){A 9p=1m.1A("=");A 1p=dc(9p.3a());A 1U=dc(9p.22("="));if(z.1R(J[1p])){J[1p]=[J[1p]]}if(z.2l(J[1p])){J[1p].Y(1U)}I{J[1p]=1U}}});C J};z.e1=U;z.e6={"9g":B(1b){C 1b.2G},"2e":B(1b){if(!1o.eo){1z.1K("kH kG kF a kE of 9g/2e-6M-9m"+" 4F kD kC kB kA 4G en kz"+" (ky 1o.eo=K 4F kx kw D kv)")}C z.5m(1b.2G)},"2e-6M-ku":B(1b){A 6N=1b.2G;A 9o=6N.T("/*");A 9n=6N.31("*/");if((9o==-1)||(9n==-1)){C z.5m(1b.2G)}C z.5m(6N.21(9o+2,9n))},"2e-6M-9m":B(1b){A 6L=1b.2G;A 9l=6L.T("/*");A 9k=6L.31("*/");if((9l==-1)||(9k==-1)){1z.1K("kt en ks\'t 6M 9m!");C""}C z.5m(6L.21(9l+2,9k))},"kr":B(1b){C z.3u(1b.2G)},"kq":B(1b){if(z.1l&&!1b.el){z.1n(["ko","em","kn","km"],B(i){1u{A 1e=S 9j(kl[i]+".kk");1e.kj=U;1e.ki(1b.2G);C 1e}1y(e){}})}I{C 1b.el}}};(B(){z.e5=B(F,ej,ei,eh){A 2F={};2F.F=F;A 6J=L;if(F.3R){A 3R=z.1D(F.3R);A 9i=3R.kh("kg");2F.2E=F.2E||(9i?9i.1Z:L);6J=z.6K(3R)}I{2F.2E=F.2E}A 5l=[{}];if(6J){5l.Y(6J)}if(F.5g){5l.Y(F.5g)}if(F.ek){5l.Y({"z.ek":S 5d().8O()})}2F.1r=z.9h(z.1x.14(L,5l));2F.9d=F.9d||"9g";A d=S z.30(ej);d.5k(ei,B(eg){C eh(eg,d)});A ld=F.4E;if(ld&&z.1Y(ld)){d.ef(B(ee){C ld.2d(F,ee,2F)})}A 1G=F.9f;if(1G&&z.1Y(1G)){d.ed(B(e9){C 1G.2d(F,e9,2F)})}A 6I=F.kf;if(6I&&z.1Y(6I)){d.9e(B(e8){C 6I.2d(F,e8,2F)})}d.1F=2F;C d};A e4=B(O){O.e0=K;A 1b=O.1F.1b;if(V 1b.e7=="B"){1b.e7()}};A e3=B(O){C z.e6[O.1F.9d](O.1F.1b)};A e2=B(9c,O){1z.1K(9c);C 9c};A 3Q=B(F){A O=z.e5(F,e4,e3,e2);O.1F.1b=z.9b(O.1F.F);C O};A 5j=L;A 3t=[];A 94=B(){A dZ=(S 5d()).dU();if(!z.e1){z.1n(3t,B(4D,6H){if(!4D){C}A O=4D.O;1u{if(!O||O.e0||!4D.dT(O)){3t.3S(6H,1);C}if(4D.dR(O)){3t.3S(6H,1);4D.dP(O)}I{if(O.9a){if(O.9a+(O.1F.F.6G||0)0){5c(z.2p(D,B(){D.5b(L,8R)}),d);C D}D.4A=S 5d().8O();if(D.2Z){D.4A-=D.8Q*D.2o}D.8N=D.4A+D.8Q;D.2D=K;D.2Z=U;A 8P=D.2C.4x(D.2o);if(!D.2o){if(!D.4y){D.4y=D.4z}D.3q("dt",[8P])}D.3q("ds",[8P]);D.8M();C D},jS:B(){5e(D.3r);if(!D.2D){C D}D.2Z=K;D.3q("dr",[D.2C.4x(D.2o)]);C D},jR:B(dq,dp){5e(D.3r);D.2D=D.2Z=K;D.2o=dq*6D;if(dp){D.5b()}C D},jQ:B(dn){if(!D.3r){C}5e(D.3r);if(dn){D.2o=1}D.3q("dm",[D.2C.4x(D.2o)]);D.2D=D.2Z=U;C D},3N:B(){if(D.2D){C D.2Z?"3M":"jP"}C"jO"},8M:B(){5e(D.3r);if(D.2D){A dl=S 5d().8O();A 2q=(dl-D.4A)/(D.8N-D.4A);if(2q>=1){2q=1}D.2o=2q;if(D.5a){2q=D.5a(2q)}D.3q("8B",[D.2C.4x(2q)]);if(2q<1){D.3r=5c(z.2p(D,"8M"),D.dj)}I{D.2D=U;if(D.4z>0){D.4z--;D.5b(L,K)}I{if(D.4z==-1){D.5b(L,K)}I{if(D.4y){D.4z=D.4y;D.4y=0}}}D.2o=0;D.3q("dh")}}C D}});(B(){A df=B(E){if(z.1l){A ns=E.1c;if(!ns.8L.G&&z.1c(E,"8L")=="dg"){ns.8L="1"}if(!ns.3n.G&&z.1c(E,"3n")=="8K"){ns.3n="8K"}}};z.6C=B(F){if(V F.1d=="1k"){2m S 1O("z.6C jN an 1d 1Z")}F.E=z.1D(F.E);A 3p=z.1x({6w:{}},F);A 8J=(3p.6w.2W={});8J.1w=(V 3p.1w=="1k")?B(){C 2V(z.1c(3p.E,"2W"))}:3p.1w;8J.1d=3p.1d;A 2U=z.6y(3p);z.2c(2U,"6x",L,B(){df(3p.E)});C 2U};z.8I=B(F){C z.6C(z.1x({1d:1},F))};z.8H=B(F){C z.6C(z.1x({1d:0},F))};if(z.6B&&!z.3o){z.8E=B(n){C 2k("0.5")+((2Y.da((n+2k("1.5"))*2Y.d9))/2)}}I{z.8E=B(n){C 0.5+((2Y.da((n+1.5)*2Y.d9))/2)}}A d4=B(6A){D.8G=6A;R(A p in 6A){A 1a=6A[p];if(1a.1w 1N z.1J){1a.d7=S z.1J()}}D.4x=B(r){A J={};R(A p in D.8G){A 1a=D.8G[p];A 6z=L;if(1a.1w 1N z.1J){6z=z.d8(1a.1w,1a.1d,r,1a.d7).8F()}I{if(!z.2l(1a.1w)){6z=((1a.1d-1a.1w)*r)+1a.1w+(p!="2W"?1a.jM||"px":"")}}J[p]=6z}C J}};z.6y=B(F){F.E=z.1D(F.E);if(!F.5a){F.5a=z.8E}A 2U=S z.d6(F);z.2c(2U,"6x",2U,B(){A pm={};R(A p in D.6w){A 1a=pm[p]=z.1x({},D.6w[p]);if(z.1Y(1a.1w)){1a.1w=1a.1w()}if(z.1Y(1a.1d)){1a.1d=1a.1d()}A d5=(p.1M().T("jL")>=0);B 8C(E,p){4w(p){2X"58":C E.8D;2X"3n":C E.6v}A v=z.1c(E,p);C(p=="2W")?2V(v):2k(v)};if(V 1a.1d=="1k"){1a.1d=8C(D.E,p)}I{if(V 1a.1w=="1k"){1a.1w=8C(D.E,p)}}if(d5){1a.1w=S z.1J(1a.1w);1a.1d=S z.1J(1a.1d)}I{1a.1w=(p=="2W")?2V(1a.1w):2k(1a.1w)}}D.2C=S d4(pm)});z.2c(2U,"8B",2U,B(8A){R(A s in 8A){z.1c(D.E,s,8A[s])}});C 2U}})()}',62,1711,'|||||||||||||||||||||||||||||||||||dojo|var|function|return|this|node|args|length|evt|else|ret|true|null|obj|elem|dfd|arguments|arr|for|new|indexOf|false|typeof||_base|push|type||te|||apply|attr|||||prop|xhr|style|end|doc|match|uri|_hasResource|key|del|undefined|isIE|item|forEach|djConfig|name|document|query|while|_66|try|res|start|mixin|catch|console|split|root|prototype|byId|gcs|ioArgs|err|NodeList|_p|Color|debug|parentNode|toLowerCase|instanceof|Error|constructor|provide|isString|ta|255|val|_a|global|_69|isFunction|value||substring|join|map|tn||window||path|_343|_220|_listeners|connect|call|json|replace|left|_b|toString|128|parseFloat|isArray|throw||_percent|hitch|step|declare|charAt|nodeType|_3c3|nidx|slice|faux|fired|_c4|_7e|loc|curve|_active|url|_44c|responseText|str|_312|idx|tqp|isNaN|isOpera|_22d|callee|add|_18b|_f8|_e2|_41|anim|Number|opacity|case|Math|_paused|Deferred|lastIndexOf|||||||||shift|substr|string|_3e7|_3ce|break|_w|charCode|_listener|_d5|_c5|authority|_49|width|isSafari|_49e|fire|_timer|_47b|_465|eval|_in|_40c|_409|_362|_3d9|className|_3d5|_386|_37a|body|getComputedStyle|box|_221|keyCode|remove|_8d|_46|paused|status|not|_478|_461|form|splice|filter|concat|tret|childNodes|_38b|_367|_33d||||||||||_340|_348|keypress|appendChild|_toArray|Array|_2b0|_toPixelValue|ref|_fixEvent|_19f|_14c|_14a|_150|_141|declaredClass|_d4|_99|_Url|_83|scheme|_67|_3d|switch|getValue|_startRepeatCount|repeat|_startTime|_47e|cancel|tif|load|to|with|tf|getElementsByTagName|number|_34c|_342|extend|_1e3|_normalizeEventName|_14b|_14e|results|self|cbfn|_f9|_d8|_b2|src|_88|dav||baseUrl|fragment|_loadedModules|_44|_43|_loaders|mll|height||easing|play|setTimeout|Date|clearTimeout|hdr|content|code|errback|_464|addCallbacks|_450|fromJson|_413|_3fc|_3ee|max|_31e|cond|getAttribute|_3d4|obi|tagName|_360|_381|contains|firstChild|_368|_372|_320|place|_2fa|scrollTop|_299|scrollLeft|top|documentElement|_288|_287|_getBorderExtents|_23f|_23d|_239|_218|_216|_211|eles|target|keys|shiftKey|ctrlKey|event|192|iel|_1db|delete|_1cf||addEventListener|String|_1af|_157|array|_14d|continue|_14f|_137|_11f|_106|_findMethod|has|_delegate|_dc|_d3|loaded|_9a|_loadInit|_inFlightCount|getObject|tv|_4f|_postLoad|_2d|offsetWidth|properties|beforeBegin|animateProperty|_4ad|_4a6|isKhtml|_fade|100|headers|readyState|timeout|_469|_457|_44d|formToObject|_441|comment|_43d|_36f|_419|tp|_40a|_406|_407|_373|_403|_3e6|_31b|cbi|test|_3c7|nextSibling|last|_3a1|_38e|_365|_36b|ecn|_364|_363|_356|_35e|_35f|_34f|_34d|_349|trim|tci|_328|_32b|_31f|_31c|_anim|_300|_2ff|_2f5|_2e7|removeClass|addClass|func|_2c4|cls|_2a9|_2ae|_280|_27f|_getPadExtents|isMoz|none|_233|cssText|_214|_fixCallback|_synthesizeEvent|stopPropagation|preventDefault|_setKeyChar|_1e1|ieh|_1d7|_1be|colorFromArray|sanitize|bits|rgb|_156|_fire|_resback|_13d|partial|_13a|silentlyCancelled|_topics|_127|_f1|_f0|superclass|_ec|_e3|mct|setObject|_bf|_b3|object|require|_92|_khtmlTimer|location|XMLHTTP|locale|dua|_71|_modulePrefixes|_55|_loadModule|_51|_50|_4e|pop|_3f|_callLoaded|_unloaders|_loadNotifying|_loadedUrls|_27|_24|_1d|_5|_4b7|onAnimate|getStyle|offsetHeight|_defaultEasing|toCss|_properties|fadeOut|fadeIn|_49f|auto|zoom|_cycle|_endTime|valueOf|_494|duration|_492|DELETE|_ioAddQueryToUrl|putData|contentType|password|user|_isDocumentOk|application|||||_466||||||startTime|_xhrObj|_45f|handleAs|addBoth|error|text|objectToQuery|_44f|ActiveXObject|_443|_442|filtered|_43f|_43e|_437|file|tnl|_41c|_filterQueryResult|_zipIdx|_408|_402|evaluate|_3ed|_380|fHit|_361|_33b|_3da|_3ab|_3d6|RegExp|_327|_3cf|_3c9|child|innerHTML|first|tval|_391|class|pnc|_37e|_37c|_375|_366|_35c|_35a|_353|_33c|_336|_314|||_315|_oe|_307|_309|cloneNode|after|createElement||_2f8|_2ef|_2ee|unshift|coords|some|every||_2cb|script|_2c9|parent||a2p||_2c3|_2bd||abs|_getMarginBox|_2b3|_2a6|position|_2a7|_2ac|_2ab|_getIeDocumentElementOffset|getBoundingClientRect|ownerDocument|_2a3|clientWidth|_isBodyLtr|_fixIeBiDiScrollLeft|_bodyLtr|_29d|_getContentBox|_setBox|_getMarginExtents|_getPadBorderExtents|_usesBorderBox|boxModel|pcs|st|sl|_240|runtimeStyle|_dcm|BackCompat|compatMode|default|_21b|_d|html|_event_listener|handlers|PAGE_DOWN|PAGE_UP|RIGHT_ARROW|LEFT_ARROW|DOWN_ARROW|UP_ARROW|_preventDefault||_stopPropagation|returnValue||_trySetKeyCode|cancelBubble|currentTarget|106|_1ee|111||_1e8|_1e7|||se|srcElement|onkeydown||_1d0|_disconnect|lid|_1c0|_connect|_set|_195|_185|_183|_17d|_everyOrSome|_16b|_172|_15b|Function|_154|_escapeString|_140|chain|_check|canceller|_12d|_124|_11a|_10d|_107|inherited|_fa|_f2|_findMixin|_constructor|preamble|_de|clone|tmp|_c7|TMP|_be|_ba|_mixin|isBrowser|lang|firebug||param|modulePaths|_a7|_fireCallback|_a0|setContext||_9c|unloaded||||_96|_93|navigator|_90|_89||protocol|_84|_86|_XMLHTTP_PROGIDS|gears|google|setAttribute|_80|_77|cfg|_6f|_getModuleSymbols|_5a|_58|_53|_4d|_4c|_45|_40|_moduleHasPrefix|_loadUri|_28|_26|_21|_22|tests|doh|_20|_1f|_1c|version|_1b|_19|_getProp|_11|_4|_4a5|_4b3|_Animation|tempColor|blendColors|PI|sin|||||_49a|normal|onEnd||rate||curr|onStop|_497||_496|pct|onPause|onPlay|onBegin|delay||_491|_Line|_48b|wrapForm|PUT|_487|POST|GET|_476|_474|_472|_ioWatch|send|_471|setRequestHeader|open|callback|setInterval|_470|resHandle|_46f|ioCheck|_46e|validCheck|getTime|_ioCancelAll|addOnUnload|clearInterval|dojoType|now|canceled|_blockAsync|_45e|_45c|_459|_ioSetArgs|_contentHandlers|abort|_458|_456||||addErrback|_454|addCallback|_452|_44b|_44a|_449|preventCache|responseXML|Microsoft|JSON|usePlainJson|_431|toJson|_430|_42d|image|opt|ria|_421|_41b|_40b|_zip|_410|_40d|_357|sqf|_374|_3e5|_3df|_38f|clc|pred|parseInt|ntf|_3bf|_3bc|cnl|previousSibling|_3a9|_3a6|_39c|_399|_396|_392|__cachedIndex|__cachedLength|_376|iterateNext|_34a|_355|_354|_32c|_350|_34b|_33f|_33e|_33a|_338|_334|_332||_330|_32e||_322|_316|mousemove|mouseout|mouseover|_305|lastChild||_2f9||_2f2|_2f1|removeChild|_2ec|_2eb|_2ea|_2e6||_2e4|_2e2|_2d6|_2d5|_2d4|_2d3|_2d2|_2d1|_2cd|_2cc|scs|write|_2c8|hasClass|_2c0|_2bb|_2b5|_abs|_docScroll|offsetParent|offsetTop|offsetLeft|absolute|getBoxObjectFor|clientLeft|_setContentSize|_setMarginBox|_28d|_286|_285|_289|NaN|_281|border|_272|_26b|_260|_258|_253|_24c|_246|_23a|_getOpacity|_setOpacity|_238|td|tr|nodeName|FILTER|_22f|_22e|currentStyle|_22c|_22b|display|QuirksMode|unselectable|_217|isMozilla|getElementById|attributes|all|_ie_listener|_getIeDispatcher|_1fd|NUM_LOCK|SCROLL_LOCK|INSERT|END|HOME|PAUSE|F12|F11|F10|F9|F8|F7|F6|F5|F4|F3|F2|F1|63232|SHIFT_TAB|TAB|keyIdentifier|_1f3|stopEvent|_punctMap|222|219|186|onkeypress|_stealthKeyDown|_fixKeys|relatedTarget|_1e0|_1df|_stealthKeydown|_1d6|_1d5|_1d1|_1ca|_1c9|_1cb|_1c2|_1c1|_1c3|_1c4|_1bc|_1b3|_1b2|colorFromHex|colorFromRgb|named|colorFromString|mask|rgba|_19c|_197|_192|setColor|_180|_178|_177|_175|_174|_16d|_166|_164|_163|_162|_15c|_15d|_15e|index|__json__|toJsonIndentStr|_nextId|_12f|_12b|publish|_128|_126|_125|_122|_121|_123|_11c|_11b|_10c|_10b|_108|getDispatcher|argument|nom|_construct|_core|_makeCtor|_df|_db|deprecated|isObject|_cc||scope||_hitchArgs|_c2||pre|_c1|native|isDebug||registerModulePath|_a8||finally|||_a6|_a5|_a4|_a3|_a2|_a1|_9f|_9e|_9d|_9b|_98|_97|onbeforeunload|ipt|scr|complete|_95|userAgent|_modulesLoaded|initialized|_initFired|_8c|_8a|_getText|_87|ieForceActiveXXhr|Msxml2|isGears|_81|_gearsObject|googlegears|GearsFactory|isFF|_7d|Safari|_72|_name|_6c|ire|ore|_68|i18n|_5b|requireIf|_56|_52|loading|_4a|_loadPath|_47|_48|_global_omit_module_check|_getModulePrefix|_3c|_3a|_37|_30|Boolean|_loadUriAndCheck|_2e||cacheBust|_1e|_1a|_17|_16|_15|_14|_f|_10|_e|_9|_8|revision|flag|patch|minor|major|_6|color|units|needs|stopped|playing|stop|gotoPercent|pause|1000|implemented|yet|_48a|xhrDelete|rawXhrPut|xhrPut|postData|rawXhrPost|xhrPost|xhrGet|Type|Content|sync|response|http|bad|urlencoded|www|_watchInFlightError||exceeded|handle|action|getAttributeNode|loadXML|async|XMLDOM|prefixes|MSXML3|MSXML|MSXML2||xml|javascript|wasn|your|optional|message|off|turn|use|endpoints|issues|security|potential|avoid|mimetype|using|consider|please|decodeURIComponent|queryToObject|formToJson|formToQuery|encodeURIComponent|selected|option|multiple|checked|checkbox|radio|disabled|textarea|select|button|reset|submit|input|_3fb|hasAttribute|0n|even|odd|nth|_3b5|empty|_3b1|_3ad|htmlFor|_38a|under||exprssion|failure|ANY_TYPE|XPathResult|starts|keyup|keydown|mouseup|mousedown|blur|click|combine|span|addContent||adopt|orphan|_2de|_2dd|styles|_2da|_2d9|_2cf|_2ce|show|createPopup|toggleClass|scrollWidth|clientTop|ltr|direction|pageXOffset|pageYOffset|fixed|contentBox|marginBox|BUTTON|TABLE|_getBorderBox|clientHeight|visible|overflow|marginBottom|marginRight|marginTop|marginLeft|borderBottomWidth|borderBottomStyle|borderRightWidth|borderRightStyle|borderTopWidth|borderTopStyle|borderLeftWidth|borderLeftStyle|paddingBottom|paddingRight|paddingTop|paddingLeft|offset||min|padding||margin|Opacity|Alpha|alpha|filters|pixelLeft|medium|_22a|defaultView|before||insertBefore|KhtmlUserSelect|MozUserSelect|setSelectable|isDescendant|div|_destroyElement|BackgroundImageCache|execCommand|PageDown|PageUp|Right|Left|Down|Up|63289|63249|63248|PRINT_SCREEN|63302|63277|63276|63275|63273|63272|63250|63247|63246|63245|63244|63243|63242|63241|63240|63239|63238|63237|63236|63235|63234|63233|Enter|_1f9|which|_1f6|bubbledKeyCode|221|220||||191|190|189|188|187|toElement|fromElement|clientY|pageY||clientX|pageX|offsetY|||layerY|offsetX|layerX|parentWindow|_nop|_allow_leaks|145|144|126|F15|125|F14|124|F13|123|122|121|120|119|118|117|116|115|114|113|112|NUMPAD_DIVIDE|110|NUMPAD_PERIOD|109|NUMPAD_MINUS|108|NUMPAD_ENTER|107|NUMPAD_PLUS|NUMPAD_MULTIPLY|105|NUMPAD_9|104|NUMPAD_8|103|NUMPAD_7|102|NUMPAD_6|101|NUMPAD_5|NUMPAD_4||NUMPAD_3|NUMPAD_2|NUMPAD_1|NUMPAD_0||SELECT|RIGHT_WINDOW||LEFT_WINDOW||HELP|SPACE|ESCAPE|CAPS_LOCK|ALT|CTRL|SHIFT|ENTER|CLEAR|BACKSPACE|attachEvent|fixEvent|fromCharCode|keyChar|_1b9|removeEventListener|0x|round|toHex|toRgba|toRgb|aqua|teal|blue|navy|yellow|olive|lime|green|fuchsia|purple|red|maroon|white|gray|silver|black|boolean|called|already|Cancelled|connectPublisher|unsubscribe|subscribe|disconnect|_113|_112||_111|_110|||found|was||must|_|module|||required|likely|It|declaration|Mixin|separate|instead|property|initializer||pass|_c9|_bb|_b7|nfunction|isAlien|isFinite|isArrayLike|_firebug|withDoc|withGlobal|_writeIncludes|VML|behavior|addRule|createStyleSheet|vml|com|microsoft|schemas|urn|namespaces|onunload|onreadystatechange|defer|khtml|WebKit|DOMContentLoaded|enableMozDomContentLoaded|domcontentloaded|Unable|base|chrome|1223|304|300|200|available|XMLHttpRequest|_println|language|userLanguage|isQuirks|factory|mimeTypes|Factory|Gears|_7f|MSIE||Firefox|Gecko|Konqueror||Opera|appVersion|xd|browser|moduleUrl|port|host|hostenv|_requireLocalization|_5f|_5e|_5d|_5c|requireLocalization|requireAfterIf|_57|common|platformRequire|defined|symbol|_isXDomain|tried|Could|__package__|packageFileName|_42|useXDomain|flight|still|files|addOnLoad|failed|sourceURL|util|notice|without|change|subject|APIs|EXPERIMENTAL|experimental|removed|will|DEPRECATED|exists|10315|Rev|Mobile|Spidermonkey|Rhino||Browser|delayMozLoadingFix|preventBackButtonFix|libraryScriptUri|baseRelativePath|baseScriptUri|allowQueryConfig|warn|trace|timeEnd||time|profileEnd|profile|log|info|groupEnd|group|dirxml|dir|count|assert'.split('|'),0,{}); + + +/* + +Prototype 1.5 rc0 + - Adapted from Ruby on Rails - http://dev.rubyonrails.org/browser/spinoffs/prototype/src + - By Lunarmedia, 06 August, 2006 + - Available at (and packed with) JavascriptCompressor.com + +Please note this version is missing the selector.js component of the full Prototype library. +You can get the compressed version of selector at JavascriptCompressor.com + +*/ + +var decompressedPrototype = function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[(function(e){return d[e]})];e=(function(){return'\\w+'});c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('d T={4l:\'1.5.8P\',3E:\'(?:<3G.*?>)((\\n|\\r|.)*?)(?:<\\/3G>)\',2v:7(){},K:7(x){c x}};d 1b={17:7(){c 7(){6.1I.2n(6,N)}}};d 1e=z q();q.u=7(5d,O){G(d 1G 2M O){5d[1G]=O[1G]}c 5d};q.1U=7(U){1j{f(U==1v)c\'1v\';f(U==1L)c\'1L\';c U.1U?U.1U():U.2C()}1s(e){f(e 8R 9l)c\'...\';25 e}};7j.v.1d=7(){d 43=6,23=$A(N),U=23.8S();c 7(){c 43.2n(U,23.3s($A(N)))}};7j.v.8U=7(U){d 43=6;c 7(C){c 43.8V(U,C||1W.C)}};q.u(8Q.v,{8W:7(){d 4Z=6.2C(16);f(6<16)c\'0\'+4Z;c 4Z},5j:7(){c 6+1},8Y:7(o){$R(0,6,11).V(o);c 6}});d 6s={6j:7(){d 48;G(d i=0;i0){f(I=O.I(1A)){L+=O.47(0,I.w);L+=(1z(I)||\'\').2C();O=O.47(I.w+I[0].t)}1D{L+=O,O=\'\'}}c L},92:7(1A,1z,3i){1z=6.2T.52(1z);3i=3i===1v?1:3i;c 6.2T(1A,7(I){f(--3i<0)c I[0];c 1z(I)})},93:7(1A,o){6.2T(1A,o);c 6},94:7(t,2S){t=t||30;2S=2S===1v?\'...\':2S;c 6.t>t?6.47(0,t-2S.t)+2S:6},9F:7(){c 6.2y(/^\\s+/,\'\').2y(/\\s+$/,\'\')},71:7(){c 6.2y(/<\\/?[^>]+>/7Y,\'\')},2Q:7(){c 6.2y(z 3O(T.3E,\'5P\'),\'\')},70:7(){d 6Y=z 3O(T.3E,\'5P\');d 5p=z 3O(T.3E,\'98\');c(6.I(6Y)||[]).1C(7(5o){c(5o.I(5p)||[\'\',\'\'])[1]})},3q:7(){c 6.70().1C(7(3G){c 4q(3G)})},9E:7(){d 1q=J.4Y(\'1q\');d 1Y=J.9D(6);1q.75(1Y);c 1q.3h},9c:7(){d 1q=J.4Y(\'1q\');1q.3h=6.71();c 1q.2z[0]?1q.2z[0].6q:\'\'},78:7(){d 7i=6.I(/^\\??(.*)$/)[1].3j(\'&\');c 7i.36({},7(5b,72){d 1i=72.3j(\'=\');5b[1i[0]]=1i[1];c 5b})},1Z:7(){c 6.3j(\'\')},3P:7(){d 2l=6.3j(\'-\');f(2l.t==1)c 2l[0];d 54=6.5g(\'-\')==0?2l[0].7e(0).3Y()+2l[0].7g(1):2l[0];G(d i=1,73=2l.t;i<73;i++){d s=2l[i];54+=s.7e(0).3Y()+s.7g(1)}c 54},1U:7(){c"\'"+6.2y(/\\\\/g,\'\\\\\\\\\').2y(/\'/g,\'\\\\\\\'\')+"\'"}});4b.v.2T.52=7(1z){f(2i 1z==\'7\')c 1z;d 2U=z 3n(1z);c 7(I){c 2U.7a(I)}};4b.v.9h=4b.v.78;d 3n=1b.17();3n.79=/(^|.|\\r|\\n)(#\\{(.*?)\\})/;3n.v={1I:7(2U,1A){6.2U=2U.2C();6.1A=1A||3n.79},7a:7(U){c 6.2U.2T(6.1A,7(I){d 53=I[1];f(53==\'\\\\\')c I[2];c 53+(U[I[3]]||\'\').2C()})}};d $1y=z q();d $49=z q();d 1p={V:7(o){d w=0;1j{6.2m(7(h){1j{o(h,w++)}1s(e){f(e!=$49)25 e}})}1s(e){f(e!=$1y)25 e}},9n:7(o){d L=11;6.V(7(h,w){L=L&&!!(o||T.K)(h,w);f(!L)25 $1y});c L},9o:7(o){d L=11;6.V(7(h,w){f(L=!!(o||T.K)(h,w))25 $1y});c L},3e:7(o){d P=[];6.V(7(h,w){P.W(o(h,w))});c P},7n:7(o){d L;6.V(7(h,w){f(o(h,w)){L=h;25 $1y}});c L},7o:7(o){d P=[];6.V(7(h,w){f(o(h,w))P.W(h)});c P},9p:7(1A,o){d P=[];6.V(7(h,w){d 7c=h.2C();f(7c.I(1A))P.W((o||T.K)(h,w))});c P},1M:7(U){d 51=Y;6.V(7(h){f(h==U){51=11;25 $1y}});c 51},36:7(45,o){6.V(7(h,w){45=o(45,h,w)});c 45},9q:7(1F){d 23=$A(N).47(1);c 6.3e(7(h){c h[1F].2n(h,23)})},9s:7(o){d L;6.V(7(h,w){h=(o||T.K)(h,w);f(L==1v||h>=L)L=h});c L},9u:7(o){d L;6.V(7(h,w){h=(o||T.K)(h,w);f(L==1v||hb?1:0}).3r(\'h\')},1Z:7(){c 6.3e(T.K)},9B:7(){d o=T.K,23=$A(N);f(2i 23.5e()==\'7\')o=23.9C();d 7l=[6].3s(23).1C($A);c 6.1C(7(h,w){c o(7l.3r(w))})},1U:7(){c\'#<1p:\'+6.1Z().1U()+\'>\'}};q.u(1p,{1C:1p.3e,5v:1p.7n,1k:1p.7o,8M:1p.1M,7p:1p.1Z});d $A=1E.7q=7(2R){f(!2R)c[];f(2R.1Z){c 2R.1Z()}1D{d P=[];G(d i=0;i<2R.t;i++)P.W(2R[i]);c P}};q.u(1E.v,1p);f(!1E.v.4d)1E.v.4d=1E.v.4m;q.u(1E.v,{2m:7(o){G(d i=0;i<6.t;i++)o(6[i])},5i:7(){6.t=0;c 6},7r:7(){c 6[0]},5e:7(){c 6[6.t-1]},7s:7(){c 6.1k(7(h){c h!=1v||h!=1L})},6J:7(){c 6.36([],7(6H,h){c 6H.3s(h&&h.5D==1E?h.6J():[h])})},5s:7(){d 4N=$A(N);c 6.1k(7(h){c!4N.1M(h)})},5g:7(U){G(d i=0;i<6.t;i++)f(6[i]==U)c i;c-1},4m:7(5h){c(5h!==Y?6:6.1Z()).4d()},1U:7(){c\'[\'+6.1C(q.1U).1N(\', \')+\']\'}});d 4h={2m:7(o){G(d 1O 2M 6){d h=6[1O];f(2i h==\'7\')49;d 1i=[1O,h];1i.1O=1O;1i.h=h;o(1i)}},7t:7(){c 6.3r(\'1O\')},4N:7(){c 6.3r(\'h\')},7u:7(2N){c $H(2N).36($H(6),7(4Q,1i){4Q[1i.1O]=1i.h;c 4Q})},7w:7(){c 6.1C(7(1i){c 1i.1C(4n).1N(\'=\')}).1N(\'&\')},1U:7(){c\'#<4h:{\'+6.1C(7(1i){c 1i.1C(q.1U).1N(\': \')}).1N(\', \')+\'}>\'}};7 $H(U){d 2N=q.u({},U||{});q.u(2N,1p);q.u(2N,4h);c 2N};3L=1b.17();q.u(3L.v,1p);q.u(3L.v,{1I:7(22,2x,2H){6.22=22;6.2x=2x;6.2H=2H},2m:7(o){d h=6.22;2q{o(h);h=h.5j()}1H(6.1M(h))},1M:7(h){f(h<6.22)c Y;f(6.2H)c h<6.2x;c h<=6.2x}});d $R=7(22,2x,2H){c z 3L(22,2x,2H)};d M={4w:7(){c 6s.6j(7(){c z 5C()},7(){c z 5n(\'7y.6d\')},7(){c z 5n(\'7z.6d\')})||Y},4s:0};M.2W={3b:[],2m:7(o){6.3b.2m(o)},69:7(4F){f(!6.1M(4F))6.3b.W(4F)},7A:7(5t){6.3b=6.3b.5s(5t)},3y:7(1a,26,E,2Z){6.V(7(3o){f(3o[1a]&&2i 3o[1a]==\'7\'){1j{3o[1a].2n(3o,[26,E,2Z])}1s(e){}}})}};q.u(M.2W,1p);M.2W.69({5G:7(){M.4s++},1B:7(){M.4s--}});M.44=7(){};M.44.v={4a:7(m){6.m={1F:\'4j\',4p:11,5H:\'5E/x-86-Q-7C\',28:\'\'};q.u(6.m,m||{})},3l:7(){c 6.E.32==1v||6.E.32==0||(6.E.32>=84&&6.E.32<7E)},7G:7(){c!6.3l()}};M.3t=1b.17();M.3t.5L=[\'7H\',\'80\',\'7I\',\'7J\',\'4t\'];M.3t.v=q.u(z M.44(),{1I:7(1l,m){6.E=M.4w();6.4a(m);6.26(1l)},26:7(1l){d 28=6.m.28||\'\';f(28.t>0)28+=\'&7K=\';1j{6.1l=1l;f(6.m.1F==\'7L\'&&28.t>0)6.1l+=(6.1l.I(/\\?/)?\'&\':\'?\')+28;M.2W.3y(\'5G\',6,6.E);6.E.7N(6.m.1F,6.1l,6.m.4p);f(6.m.4p){6.E.5T=6.5J.1d(6);2Y((7(){6.4r(1)}).1d(6),10)}6.5A();d 1c=6.m.5V?6.m.5V:28;6.E.7O(6.m.1F==\'4j\'?1c:1L)}1s(e){6.3p(e)}},5A:7(){d 1P=[\'X-7P-7Q\',\'5C\',\'X-T-4l\',T.4l,\'7R\',\'1Y/7m, 1Y/2e, 5E/5F, 1Y/5F, */*\'];f(6.m.1F==\'4j\'){1P.W(\'5Q-2g\',6.m.5H);f(6.E.7S)1P.W(\'7T\',\'7U\')}f(6.m.1P)1P.W.2n(1P,6.m.1P);G(d i=0;i<1P.t;i+=2)6.E.7V(1P[i],1P[i+1])},5J:7(){d 2F=6.E.2F;f(2F!=1)6.4r(6.E.2F)},4A:7(B){1j{c 6.E.7W(B)}1s(e){}},5M:7(){1j{c 4q(\'(\'+6.4A(\'X-7X\')+\')\')}1s(e){}},5R:7(){1j{c 4q(6.E.3F)}1s(e){6.3p(e)}},4r:7(2F){d C=M.3t.5L[2F];d E=6.E,2Z=6.5M();f(C==\'4t\'){1j{(6.m[\'2I\'+6.E.32]||6.m[\'2I\'+(6.3l()?\'81\':\'82\')]||T.2v)(E,2Z)}1s(e){6.3p(e)}f((6.4A(\'5Q-2g\')||\'\').I(/^1Y\\/7m/i))6.5R()}1j{(6.m[\'2I\'+C]||T.2v)(E,2Z);M.2W.3y(\'2I\'+C,6,E,2Z)}1s(e){6.3p(e)}f(C==\'4t\')6.E.5T=T.2v},3p:7(57){(6.m.5W||T.2v)(6,57);M.2W.3y(\'5W\',6,57)}});M.4C=1b.17();q.u(q.u(M.4C.v,M.3t.v),{1I:7(1w,1l,m){6.4x={3m:1w.3m?$(1w.3m):$(1w),3z:1w.3z?$(1w.3z):(1w.3m?1L:$(1w))};6.E=M.4w();6.4a(m);d 1B=6.m.1B||T.2v;6.m.1B=(7(E,U){6.5Y();1B(E,U)}).1d(6);6.26(1l)},5Y:7(){d 3A=6.3l()?6.4x.3m:6.4x.3z;d 3k=6.E.3F;f(!6.m.3q)3k=3k.2Q();f(3A){f(6.m.60){z 6.m.60(3A,3k)}1D{k.6h(3A,3k)}}f(6.3l()){f(6.1B)2Y(6.1B.1d(6),10)}}});M.61=1b.17();M.61.v=q.u(z M.44(),{1I:7(1w,1l,m){6.4a(m);6.1B=6.m.1B;6.1J=(6.m.1J||2);6.2s=(6.m.2s||1);6.4B={};6.1w=1w;6.1l=1l;6.22()},22:7(){6.m.1B=6.63.1d(6);6.2D()},7b:7(){6.4B.1B=1v;89(6.65);(6.1B||T.2v).2n(6,N)},63:7(26){f(6.m.2s){6.2s=(26.3F==6.64?6.2s*6.m.2s:1);6.64=26.3F}6.65=2Y(6.2D.1d(6),6.2s*6.1J*4z)},2D:7(){6.4B=z M.4C(6.1w,6.1l,6.m)}});7 $(){d P=[],4;G(d i=0;i<4V>\'+6.2t+\'\';c $A(1q.2z[0].2z[0].2z)}};d 1g=z q();1g.6W=1b.17();1g.6W.v=q.u(z 1e.1g(\'96\'),{2V:7(){6.1K.97(6.4)},2X:7(2h){2h.V((7(2j){6.4.1X.55(2j,6.4)}).1d(6))}});1g.5m=1b.17();1g.5m.v=q.u(z 1e.1g(\'99\'),{2V:7(){6.1K.56(6.4);6.1K.74(11)},2X:7(2h){2h.4m(Y).V((7(2j){6.4.55(2j,6.4.9a)}).1d(6))}});1g.7h=1b.17();1g.7h.v=q.u(z 1e.1g(\'9d\'),{2V:7(){6.1K.56(6.4);6.1K.74(6.4)},2X:7(2h){2h.V((7(2j){6.4.75(2j)}).1d(6))}});1g.76=1b.17();1g.76.v=q.u(z 1e.1g(\'9i\'),{2V:7(){6.1K.9m(6.4)},2X:7(2h){2h.V((7(2j){6.4.1X.55(2j,6.4.9t)}).1d(6))}});k.3S=1b.17();k.3S.v={1I:7(4){6.4=$(4)},2m:7(o){6.4.1f.3j(/\\s+/).1k(7(B){c B.t>0}).2m(o)},5c:7(1f){6.4.1f=1f},7k:7(5a){f(6.1M(5a))c;6.5c(6.1Z().3s(5a).1N(\' \'))},42:7(4c){f(!6.1M(4c))c;6.5c(6.1k(7(1f){c 1f!=4c}).1N(\' \'))},2C:7(){c 6.1Z().1N(\' \')}};q.u(k.3S.v,1p);d 5I={5i:7(){G(d i=0;i=0){2b=4.m[w];h=2b.h||2b.1Y}c[4.B,h]},5X:7(4){d h=[];G(d i=0;i<4.t;i++){d 2b=4.m[i];f(2b.87)h.W(2b.h||2b.1Y)}c[4.B,h]}};d $F=D.k.1x;1e.3D=7(){};1e.3D.v={1I:7(4,1J,1a){6.1J=1J;6.4=$(4);6.1a=1a;6.2K=6.1x();6.2A()},2A:7(){5Z(6.2D.1d(6),6.1J*4z)},2D:7(){d h=6.1x();f(6.2K!=h){6.1a(6.4,h);6.2K=h}}};D.k.3C=1b.17();D.k.3C.v=q.u(z 1e.3D(),{1x:7(){c D.k.1x(6.4)}});D.3C=1b.17();D.3C.v=q.u(z 1e.3D(),{1x:7(){c D.3a(6.4)}});1e.2c=7(){};1e.2c.v={1I:7(4,1a){6.4=$(4);6.1a=1a;6.2K=6.1x();f(6.4.1h.2w()==\'Q\')6.67();1D 6.2A(6.4)},4K:7(){d h=6.1x();f(6.2K!=h){6.1a(6.4,h);6.2K=h}},67:7(){d 12=D.2L(6.4);G(d i=0;i<12.t;i++)6.2A(12[i])},2A:7(4){f(4.2g){6c(4.2g.2w()){1r\'6g\':1r\'6i\':1o.3B(4,\'8j\',6.4K.1d(6));1y;1r\'6l\':1r\'1Y\':1r\'3J\':1r\'1k-6n\':1r\'1k-8t\':1o.3B(4,\'8u\',6.4K.1d(6));1y}}}};D.k.2c=1b.17();D.k.2c.v=q.u(z 1e.2c(),{1x:7(){c D.k.1x(6.4)}});D.2c=1b.17();D.2c.v=q.u(z 1e.2c(),{1x:7(){c D.3a(6.4)}});f(!1W.1o){d 1o=z q()}q.u(1o,{8C:8,8F:9,8H:13,8I:27,8J:37,8L:38,8O:39,8T:40,8X:46,4:7(C){c C.Z||C.91},95:7(C){c(((C.6X)&&(C.6X==1))||((C.6Z)&&(C.6Z==1)))},9b:7(C){c C.9e||(C.9f+(J.3R.2G||J.1c.2G))},9g:7(C){c C.9j||(C.9k+(J.3R.2O||J.1c.2O))},7b:7(C){f(C.7d){C.7d();C.9r()}1D{C.48=Y;C.9w=11}},9A:7(C,1h){d 4=1o.4(C);1H(4.1X&&(!4.1h||(4.1h.3Y()!=1h.3Y())))4=4.1X;c 4},1T:Y,5u:7(4,B,1V,1u){f(!6.1T)6.1T=[];f(4.5f){6.1T.W([4,B,1V,1u]);4.5f(B,1V,1u)}1D f(4.4i){6.1T.W([4,B,1V,1u]);4.4i(\'2I\'+B,1V)}},66:7(){f(!1o.1T)c;G(d i=0;i<1o.1T.t;i++){1o.5N.2n(6,1o.1T[i]);1o.1T[i][0]=1L}1o.1T=Y},3B:7(4,B,1V,1u){d 4=$(4);1u=1u||Y;f(B==\'5U\'&&(33.4u.I(/3x|3w|3u/)||4.4i))B=\'5K\';6.5u(4,B,1V,1u)},5N:7(4,B,1V,1u){d 4=$(4);1u=1u||Y;f(B==\'5U\'&&(33.4u.I(/3x|3w|3u/)||4.4k))B=\'5K\';f(4.5x){4.5x(B,1V,1u)}1D f(4.4k){1j{4.4k(\'2I\'+B,1V)}1s(e){}}}});f(33.4u.I(/\\88\\b/))1o.3B(1W,\'8a\',1o.66,Y);d 2d={6o:Y,4P:7(){6.6z=1W.8e||J.3R.2G||J.1c.2G||0;6.6F=1W.8g||J.3R.2O||J.1c.2O||0},6u:7(4){d 19=0,15=0;2q{19+=4.2O||0;15+=4.2G||0;4=4.1X}1H(4);c[15,19]},35:7(4){d 19=0,15=0;2q{19+=4.29||0;15+=4.2f||0;4=4.1Q}1H(4);c[15,19]},68:7(4){d 19=0,15=0;2q{19+=4.29||0;15+=4.2f||0;4=4.1Q;f(4){p=k.1R(4,\'14\');f(p==\'3T\'||p==\'2o\')1y}}1H(4);c[15,19]},1Q:7(4){f(4.1Q)c 4.1Q;f(4==J.1c)c 4;1H((4=4.1X)&&4!=J.1c)f(k.1R(4,\'14\')!=\'4G\')c 4;c J.1c},8o:7(4,x,y){f(6.6o)c 6.6r(4,x,y);6.3g=x;6.34=y;6.1t=6.35(4);c(y>=6.1t[1]&&y<6.1t[1]+4.2k&&x>=6.1t[0]&&x<6.1t[0]+4.2p)},6r:7(4,x,y){d 4S=6.6u(4);6.3g=x+4S[0]-6.6z;6.34=y+4S[1]-6.6F;6.1t=6.35(4);c(6.34>=6.1t[1]&&6.34<6.1t[1]+4.2k&&6.3g>=6.1t[0]&&6.3g<6.1t[0]+4.2p)},8E:7(3Z,4){f(!3Z)c 0;f(3Z==\'8G\')c((6.1t[1]+4.2k)-6.34)/4.2k;f(3Z==\'8K\')c((6.1t[0]+4.2p)-6.3g)/4.2p},77:7(O,Z){O=$(O);Z=$(Z);Z.l.14=\'2o\';d 2P=6.35(O);Z.l.1n=2P[1]+\'1m\';Z.l.18=2P[0]+\'1m\';Z.l.21=O.2p+\'1m\';Z.l.24=O.2k+\'1m\'},4e:7(4M){d 19=0,15=0;d 4=4M;2q{19+=4.29||0;15+=4.2f||0;f(4.1Q==J.1c)f(k.1R(4,\'14\')==\'2o\')1y}1H(4=4.1Q);4=4M;2q{19-=4.2O||0;15-=4.2G||0}1H(4=4.1X);c[15,19]},77:7(O,Z){d m=q.u({5l:11,5r:11,5B:11,5q:11,29:0,2f:0},N[2]||{});O=$(O);d p=2d.4e(O);Z=$(Z);d 2J=[0,0];d 3v=1L;f(k.1R(Z,\'14\')==\'2o\'){3v=2d.1Q(Z);2J=2d.4e(3v)}f(3v==J.1c){2J[0]-=J.1c.2f;2J[1]-=J.1c.29}f(m.5l)Z.l.18=(p[0]-2J[0]+m.2f)+\'1m\';f(m.5r)Z.l.1n=(p[1]-2J[1]+m.29)+\'1m\';f(m.5B)Z.l.21=O.2p+\'1m\';f(m.5q)Z.l.24=O.2k+\'1m\'},8b:7(4){4=$(4);f(4.l.14==\'2o\')c;2d.4P();d 2P=2d.68(4);d 1n=2P[1];d 18=2P[0];d 21=4.6m;d 24=4.6p;4.6P=18-3X(4.l.18||0);4.6I=1n-3X(4.l.1n||0);4.5k=4.l.21;4.7f=4.l.24;4.l.14=\'2o\';4.l.1n=1n+\'1m\';4.l.18=18+\'1m\';4.l.21=21+\'1m\';4.l.24=24+\'1m\'},8w:7(4){4=$(4);f(4.l.14==\'3T\')c;2d.4P();4.l.14=\'3T\';d 1n=3X(4.l.1n||0)-(4.6I||0);d 18=3X(4.l.18||0)-(4.6P||0);4.l.1n=1n+\'1m\';4.l.18=18+\'1m\';4.l.24=4.7f;4.l.21=4.5k}};f(/3x|3w|3u/.4v(33.62)){2d.35=7(4){d 19=0,15=0;2q{19+=4.29||0;15+=4.2f||0;f(4.1Q==J.1c)f(k.1R(4,\'14\')==\'2o\')1y;4=4.1Q}1H(4);c[15,19]}};',62,600,'||||element||this|function|||||return|var||if||value|||Element|style|options||iterator||Object|||length|extend|prototype|index|||new||name|event|Form|transport||for||match|document||result|Ajax|arguments|source|results|form|||Prototype|object|each|push||false|target||true|elements||position|valueL||create|left|valueT|callback|Class|body|bind|Abstract|className|Insertion|tagName|pair|try|select|url|px|top|Event|Enumerable|div|case|catch|offset|useCapture|undefined|container|getValue|break|replacement|pattern|onComplete|map|else|Array|method|property|while|initialize|frequency|range|null|include|join|key|requestHeaders|offsetParent|getStyle|parameter|observers|inspect|observer|window|parentNode|text|toArray|els|width|start|args|height|throw|request||parameters|offsetTop|methods|opt|EventObserver|Position|html|offsetLeft|type|fragments|typeof|fragment|offsetHeight|oStringList|_each|apply|absolute|offsetWidth|do|cache|decay|content|input|emptyFunction|toLowerCase|end|replace|childNodes|registerCallback|display|toString|onTimerEvent|Serializers|readyState|scrollLeft|exclusive|on|delta|lastValue|getElements|in|hash|scrollTop|offsets|stripScripts|iterable|truncation|gsub|template|initializeRange|Responders|insertContent|setTimeout|json||hidden|status|navigator|ycomp|cumulativeOffset|inject||||serialize|responders|_overflow|Methods|collect|adjacency|xcomp|innerHTML|count|split|response|responseIsSuccess|success|Template|responder|dispatchException|evalScripts|pluck|concat|Request|KHTML|parent|Safari|Konqueror|dispatch|failure|receiver|observe|Observer|TimedObserver|ScriptFragment|responseText|script|inputs|ancestor|textarea|classNames|ObjectRange|node|typeName|RegExp|camelize|none|documentElement|ClassNames|relative|right|overflow|HTMLElement|parseFloat|toUpperCase|mode||currentlyExecuting|remove|__method|Base|memo||slice|returnValue|continue|setOptions|String|classNameToRemove|_reverse|page|focus|queryComponent|Hash|attachEvent|post|detachEvent|Version|reverse|encodeURIComponent|disabled|asynchronous|eval|respondToReadyState|activeRequestCount|Complete|appVersion|test|getTransport|containers|matchingInputs|1000|header|updater|Updater|getElementsByTagName|child|responderToAdd|static|tagElements|queryComponents|defaultView|onElementEvent|css|forElement|values|visibility|prepare|mergedHash|pos|offsetcache|_madePositioned|visible|tbody|findOrStore|_nativeExtensions|createElement|digits|trues|found|prepareReplacement|before|camelizedString|insertBefore|selectNodeContents|exception|falses|criteria|classNameToAdd|params|set|destination|last|addEventListener|indexOf|inline|clear|succ|_originalWidth|setLeft|Top|ActiveXObject|scriptTag|matchOne|setHeight|setTop|without|responderToRemove|_observeAndCache|find|reset|removeEventListener|activate|findFirstElement|setRequestHeaders|setWidth|XMLHttpRequest|constructor|application|xml|onCreate|contentType|Field|onStateChange|keydown|Events|evalJSON|stopObserving|inputSelector|img|Content|evalResponse|selectOne|onreadystatechange|keypress|postBody|onException|selectMany|updateContent|setInterval|insertion|PeriodicalUpdater|userAgent|updateComplete|lastText|timer|unloadCache|registerFormCallbacks|positionedOffset|register|parentElement|children|switch|XMLHTTP|_extended|hide|checkbox|update|radio|these|outerHTML|password|clientWidth|one|includeScrollOffsets|clientHeight|nodeValue|withinIncludingScrolloffsets|Try|scrollTo|realOffset|getComputedStyle|show|currentStyle|auto|deltaX|originalPosition|originalVisibility|originalWidth|originalHeight|opera|deltaY|bottom|array|_originalTop|flatten|addMethods|lambda|Toggle|toggle|insertAdjacentHTML|_originalLeft|PeriodicalExecuter|ownerDocument|createRange|createContextualFragment|contentFromAnonymousTable|table|Before|which|matchAll|button|extractScripts|stripTags|pairString|len|collapse|appendChild|After|clone|toQueryParams|Pattern|evaluate|stop|stringValue|preventDefault|charAt|_originalHeight|substring|Bottom|pairs|Function|add|collections|javascript|detect|findAll|entries|from|first|compact|keys|merge|present|toQueryString|getInputs|Msxml2|Microsoft|unregister|disable|urlencoded|blur|300|enable|responseIsFailure|Uninitialized|Loaded|Interactive|_|get|focusFirstElement|open|send|Requested|With|Accept|overrideMimeType|Connection|close|setRequestHeader|getResponseHeader|JSON|gi|submit|Loading|Success|Failure|checked|200|selectedIndex|www|selected|bMSIE|clearTimeout|unload|absolutize|string|getElementById|pageXOffset|getElementsByClassName|pageYOffset|removeChild|replaceChild|click|getHeight|hasClassName|addClassName|removeClassName|within|cleanWhitespace|nodeType|empty|childOf|multiple|change|getPropertyValue|relativize|setStyle|getDimensions|makePositioned|undoPositioned|makeClipping|KEY_BACKSPACE|undoClipping|overlap|KEY_TAB|vertical|KEY_RETURN|KEY_ESC|KEY_LEFT|horizontal|KEY_UP|member|tr|KEY_RIGHT|0_RC_0|Number|instanceof|shift|KEY_DOWN|bindAsEventListener|call|toColorPart|KEY_DELETE|times|finally|callee|srcElement|sub|scan|truncate|isLeftClick|beforeBegin|setStartBefore|im|afterBegin|firstChild|pointerX|unescapeHTML|beforeEnd|pageX|clientX|pointerY|parseQuery|afterEnd|pageY|clientY|RangeError|setStartAfter|all|any|grep|invoke|stopPropagation|max|nextSibling|min|partition|cancelBubble|reject|sortBy|sort|findElement|zip|pop|createTextNode|escapeHTML|strip'.split('|'),0,{}) + +} \ No newline at end of file diff --git a/tests/benchmarks/script/sunspider/tests/string-validate-input.js b/tests/benchmarks/script/sunspider/tests/string-validate-input.js new file mode 100644 index 0000000..3455b32 --- /dev/null +++ b/tests/benchmarks/script/sunspider/tests/string-validate-input.js @@ -0,0 +1,89 @@ +letters = new Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"); +numbers = new Array(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); +colors = new Array("FF","CC","99","66","33","00"); + +var endResult; + +function doTest() +{ + endResult = ""; + + // make up email address + for (var k=0;k<4000;k++) + { + name = makeName(6); + (k%2)?email=name+"@mac.com":email=name+"(at)mac.com"; + + // validate the email address + var pattern = /^[a-zA-Z0-9\-\._]+@[a-zA-Z0-9\-_]+(\.?[a-zA-Z0-9\-_]*)\.[a-zA-Z]{2,3}$/; + + if(pattern.test(email)) + { + var r = email + " appears to be a valid email address."; + addResult(r); + } + else + { + r = email + " does NOT appear to be a valid email address."; + addResult(r); + } + } + + // make up ZIP codes + for (var s=0;s<4000;s++) + { + var zipGood = true; + var zip = makeNumber(4); + (s%2)?zip=zip+"xyz":zip=zip.concat("7"); + + // validate the zip code + for (var i = 0; i < zip.length; i++) { + var ch = zip.charAt(i); + if (ch < "0" || ch > "9") { + zipGood = false; + r = zip + " contains letters."; + addResult(r); + } + } + if (zipGood && zip.length>5) + { + zipGood = false; + r = zip + " is longer than five characters."; + addResult(r); + } + if (zipGood) + { + r = zip + " appears to be a valid ZIP code."; + addResult(r); + } + } +} + +function makeName(n) +{ + var tmp = ""; + for (var i=0;i +#include +#include +#include +#include +#include + +#if defined(Q_OS_SYMBIAN) +# define SRCDIR "" +#endif + +//TESTED_FILES= + +static QString readFile(const QString &filename) +{ + QFile file(filename); + if (!file.open(QFile::ReadOnly)) + return QString(); + QTextStream stream(&file); + stream.setCodec("UTF-8"); + return stream.readAll(); +} + +class tst_SunSpider : public QObject +{ + Q_OBJECT + +public: + tst_SunSpider(); + virtual ~tst_SunSpider(); + +public slots: + void init(); + void cleanup(); + +private slots: + void benchmark_data(); + void benchmark(); + +private: + QDir testsDir; +}; + +tst_SunSpider::tst_SunSpider() +{ + testsDir = QDir(SRCDIR); + bool testsFound = testsDir.cd("tests"); + if (!testsFound) + qWarning("*** no tests/ dir!"); +} + +tst_SunSpider::~tst_SunSpider() +{ +} + +void tst_SunSpider::init() +{ +} + +void tst_SunSpider::cleanup() +{ +} + +void tst_SunSpider::benchmark_data() +{ + QTest::addColumn("testName"); + QFileInfoList testFileInfos = testsDir.entryInfoList(QStringList() << "*.js", QDir::Files); + foreach (QFileInfo tfi, testFileInfos) { + QString name = tfi.baseName(); + QTest::newRow(name.toLatin1().constData()) << name; + } +} + +void tst_SunSpider::benchmark() +{ + QFETCH(QString, testName); + QString testContents = readFile(testsDir.absoluteFilePath(testName + ".js")); + QVERIFY(!testContents.isEmpty()); + + QScriptEngine engine; + QBENCHMARK { + engine.evaluate(testContents); + } + QVERIFY(!engine.hasUncaughtException()); +} + +QTEST_MAIN(tst_SunSpider) +#include "tst_sunspider.moc" -- cgit v0.12 From f293b98de2b08abf9fe083db9f9a299c87608f35 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 1 Oct 2010 18:38:01 +0200 Subject: Silence preprocessor warnings about __TARGET_ARCH_ARM not being defined. Reviewed-by: Bradley T. Hughes --- src/corelib/arch/qatomic_arm.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/arch/qatomic_arm.h b/src/corelib/arch/qatomic_arm.h index 1c1c8a5..0513af2 100644 --- a/src/corelib/arch/qatomic_arm.h +++ b/src/corelib/arch/qatomic_arm.h @@ -59,7 +59,7 @@ QT_END_INCLUDE_HEADER || defined(__ARM_ARCH_6K__) \ || defined(__ARM_ARCH_6ZK__) \ || defined(__ARM_ARCH_6M__) \ - || (__TARGET_ARCH_ARM-0 >= 6) + || (defined(__TARGET_ARCH_ARM) && (__TARGET_ARCH_ARM-0 >= 6)) # define QT_ARCH_ARMV6 QT_BEGIN_INCLUDE_HEADER # include "QtCore/qatomic_armv6.h" -- cgit v0.12 From aa88b7044dd86850e6986aa80104bb38bb7b12eb Mon Sep 17 00:00:00 2001 From: Philip Van Hoof Date: Mon, 1 Nov 2010 16:59:44 +0100 Subject: Push and pop the thread-default context for the current thread Merge-request: 869 Reviewed-by: Thiago Macieira --- src/corelib/kernel/qeventdispatcher_glib.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/corelib/kernel/qeventdispatcher_glib.cpp b/src/corelib/kernel/qeventdispatcher_glib.cpp index e5136f9..8d25780 100644 --- a/src/corelib/kernel/qeventdispatcher_glib.cpp +++ b/src/corelib/kernel/qeventdispatcher_glib.cpp @@ -313,6 +313,10 @@ QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(GMainContext *context) } } +#if GLIB_CHECK_VERSION (2, 22, 0) + g_main_context_push_thread_default (mainContext); +#endif + // setup post event source postEventSource = reinterpret_cast(g_source_new(&postEventSourceFuncs, sizeof(GPostEventSource))); @@ -391,6 +395,9 @@ QEventDispatcherGlib::~QEventDispatcherGlib() d->postEventSource = 0; Q_ASSERT(d->mainContext != 0); +#if GLIB_CHECK_VERSION (2, 22, 0) + g_main_context_pop_thread_default (d->mainContext); +#endif g_main_context_unref(d->mainContext); d->mainContext = 0; } -- cgit v0.12 From ae1ac1d7410b7c258d89e8c5fdf630b54d833743 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Tue, 2 Nov 2010 08:38:07 +0100 Subject: Add SunSpider and V8 benchmarks to benchmarks/script.pro --- tests/benchmarks/script/script.pro | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/benchmarks/script/script.pro b/tests/benchmarks/script/script.pro index 34910f7..dd17012 100644 --- a/tests/benchmarks/script/script.pro +++ b/tests/benchmarks/script/script.pro @@ -2,7 +2,9 @@ TEMPLATE = subdirs SUBDIRS = \ qscriptclass \ qscriptengine \ - qscriptvalue + qscriptvalue \ + sunspider \ + v8 TRUSTED_BENCHMARKS += \ qscriptclass \ -- cgit v0.12 From 56039e26397daaa5f8fa8c6f5d63792632281545 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Tue, 2 Nov 2010 09:22:07 +0100 Subject: Split monolithic QScriptEngine autotests into smaller tests Each test was testing too much. Split them into more manageable chunks. Reviewed-by: Jedrzej Nowacki --- tests/auto/qscriptengine/tst_qscriptengine.cpp | 143 ++++++++++++++++++++++--- 1 file changed, 128 insertions(+), 15 deletions(-) diff --git a/tests/auto/qscriptengine/tst_qscriptengine.cpp b/tests/auto/qscriptengine/tst_qscriptengine.cpp index 7d3d35f..5f38c22 100644 --- a/tests/auto/qscriptengine/tst_qscriptengine.cpp +++ b/tests/auto/qscriptengine/tst_qscriptengine.cpp @@ -95,16 +95,33 @@ private slots: void pushPopContext(); void getSetDefaultPrototype(); void newFunction(); + void newFunctionWithArg(); + void newFunctionWithProto(); void newObject(); void newArray(); + void newArray_HooliganTask218092(); + void newArray_HooliganTask233836(); void newVariant(); + void newVariant_defaultPrototype(); + void newVariant_promoteObject(); + void newVariant_replaceValue(); + void newVariant_valueOfToString(); + void newVariant_promoteNonObject(); + void newVariant_promoteNonQScriptObject(); void newRegExp(); void newDate(); void newQObject(); + void newQObject_ownership(); + void newQObject_promoteObject(); + void newQObject_sameQObject(); + void newQObject_defaultPrototype(); + void newQObject_promoteNonObject(); + void newQObject_promoteNonQScriptObject(); void newQMetaObject(); void newActivationObject(); void getSetGlobalObject(); void globalObjectProperties(); + void createGlobalObjectProperty(); void globalObjectGetterSetterProperty(); void customGlobalObjectWithPrototype(); void globalObjectWithCustomPrototype(); @@ -146,7 +163,10 @@ private slots: void forInStatement(); void functionExpression(); void stringObjects(); - void getterSetterThisObject(); + void getterSetterThisObject_global(); + void getterSetterThisObject_plain(); + void getterSetterThisObject_prototypeChain(); + void getterSetterThisObject_activation(); void continueInSwitch(); void readOnlyPrototypeProperty(); void toObject(); @@ -169,6 +189,11 @@ private slots: void functionScopes(); void nativeFunctionScopes(); void evaluateProgram(); + void evaluateProgram_customScope(); + void evaluateProgram_closure(); + void evaluateProgram_executeLater(); + void evaluateProgram_multipleEngines(); + void evaluateProgram_empty(); void collectGarbageAfterConnect(); void promoteThisObjectToQObjectInConstructor(); void scriptValueFromQMetaObject(); @@ -291,8 +316,11 @@ void tst_QScriptEngine::newFunction() QCOMPARE(fun.call().isNull(), true); QCOMPARE(fun.construct().isObject(), true); } +} - // the overload that takes a void* +void tst_QScriptEngine::newFunctionWithArg() +{ + QScriptEngine eng; { QScriptValue fun = eng.newFunction(myFunctionWithVoidArg, (void*)this); QVERIFY(fun.isFunction()); @@ -313,8 +341,11 @@ void tst_QScriptEngine::newFunction() QCOMPARE(fun.call().isNull(), true); QCOMPARE(fun.construct().isObject(), true); } +} - // the overload that takes a prototype +void tst_QScriptEngine::newFunctionWithProto() +{ + QScriptEngine eng; { QScriptValue proto = eng.newObject(); QScriptValue fun = eng.newFunction(myFunction, proto); @@ -364,8 +395,11 @@ void tst_QScriptEngine::newArray() QCOMPARE(array.prototype().isValid(), true); QCOMPARE(array.prototype().isArray(), true); QCOMPARE(array.prototype().strictlyEquals(eng.evaluate("Array.prototype")), true); +} - // task 218092 +void tst_QScriptEngine::newArray_HooliganTask218092() +{ + QScriptEngine eng; { QScriptValue ret = eng.evaluate("[].splice(0, 0, 'a')"); QVERIFY(ret.isArray()); @@ -391,8 +425,11 @@ void tst_QScriptEngine::newArray() QVERIFY(ret.isArray()); QCOMPARE(ret.property("length").toInt32(), 2); } +} - // task 233836 +void tst_QScriptEngine::newArray_HooliganTask233836() +{ + QScriptEngine eng; { QScriptValue ret = eng.evaluate("a = new Array(4294967295); a.push('foo')"); QVERIFY(ret.isNumber()); @@ -426,7 +463,12 @@ void tst_QScriptEngine::newVariant() QCOMPARE(opaque.prototype().isVariant(), true); QVERIFY(opaque.property("valueOf").call(opaque).isUndefined()); } +} + +void tst_QScriptEngine::newVariant_defaultPrototype() +{ // default prototype should be set automatically + QScriptEngine eng; { QScriptValue proto = eng.newObject(); eng.setDefaultPrototype(qMetaTypeId(), proto); @@ -439,7 +481,12 @@ void tst_QScriptEngine::newVariant() QVERIFY(ret2.isVariant()); QVERIFY(!ret2.prototype().strictlyEquals(proto)); } +} + +void tst_QScriptEngine::newVariant_promoteObject() +{ // "promote" plain object to variant + QScriptEngine eng; { QScriptValue object = eng.newObject(); object.setProperty("foo", eng.newObject()); @@ -456,7 +503,12 @@ void tst_QScriptEngine::newVariant() QCOMPARE(ret.toVariant(), QVariant(123)); QVERIFY(ret.prototype().strictlyEquals(originalProto)); } +} + +void tst_QScriptEngine::newVariant_replaceValue() +{ // replace value of existing object + QScriptEngine eng; { QScriptValue object = eng.newVariant(QVariant(123)); for (int x = 0; x < 2; ++x) { @@ -467,8 +519,12 @@ void tst_QScriptEngine::newVariant() QCOMPARE(ret.toVariant(), QVariant(456)); } } +} +void tst_QScriptEngine::newVariant_valueOfToString() +{ // valueOf() and toString() + QScriptEngine eng; { QScriptValue object = eng.newVariant(QVariant(123)); QScriptValue value = object.property("valueOf").call(object); @@ -500,14 +556,22 @@ void tst_QScriptEngine::newVariant() QVERIFY(value.strictlyEquals(object)); QCOMPARE(object.toString(), QString::fromLatin1("QVariant(QPoint)")); } +} +void tst_QScriptEngine::newVariant_promoteNonObject() +{ + QScriptEngine eng; { QVariant var(456); QScriptValue ret = eng.newVariant(123, var); QVERIFY(ret.isVariant()); QCOMPARE(ret.toVariant(), var); } +} +void tst_QScriptEngine::newVariant_promoteNonQScriptObject() +{ + QScriptEngine eng; { QTest::ignoreMessage(QtWarningMsg, "QScriptEngine::newVariant(): changing class of non-QScriptObject not supported"); QScriptValue ret = eng.newVariant(eng.newArray(), 123); @@ -663,8 +727,11 @@ void tst_QScriptEngine::newQObject() QCOMPARE(qobject.prototype().isQObject(), true); QCOMPARE(qobject.scriptClass(), (QScriptClass*)0); } +} - // test ownership +void tst_QScriptEngine::newQObject_ownership() +{ + QScriptEngine eng; { QPointer ptr = new QObject(); QVERIFY(ptr != 0); @@ -719,7 +786,11 @@ void tst_QScriptEngine::newQObject() QVERIFY(child != 0); delete parent; } +} +void tst_QScriptEngine::newQObject_promoteObject() +{ + QScriptEngine eng; // "promote" plain object to QObject { QScriptValue obj = eng.newObject(); @@ -760,7 +831,11 @@ void tst_QScriptEngine::newQObject() QVERIFY(ret.prototype().strictlyEquals(originalProto)); } } +} +void tst_QScriptEngine::newQObject_sameQObject() +{ + QScriptEngine eng; // calling newQObject() several times with same object for (int x = 0; x < 2; ++x) { QObject qobj; @@ -791,7 +866,11 @@ void tst_QScriptEngine::newQObject() QScriptEngine::ExcludeSuperClassMethods | opt); QCOMPARE(obj8.strictlyEquals(obj7), preferExisting); } +} +void tst_QScriptEngine::newQObject_defaultPrototype() +{ + QScriptEngine eng; // newQObject() should set the default prototype, if one has been registered { QScriptValue oldQObjectProto = eng.defaultPrototype(qMetaTypeId()); @@ -813,13 +892,21 @@ void tst_QScriptEngine::newQObject() eng.setDefaultPrototype(qMetaTypeId(), oldQObjectProto); eng.setDefaultPrototype(typeId, QScriptValue()); } +} +void tst_QScriptEngine::newQObject_promoteNonObject() +{ + QScriptEngine eng; { QScriptValue ret = eng.newQObject(123, this); QVERIFY(ret.isQObject()); QCOMPARE(ret.toQObject(), this); } +} +void tst_QScriptEngine::newQObject_promoteNonQScriptObject() +{ + QScriptEngine eng; { QTest::ignoreMessage(QtWarningMsg, "QScriptEngine::newQObject(): changing class of non-QScriptObject not supported"); QScriptValue ret = eng.newQObject(eng.newArray(), this); @@ -1235,7 +1322,12 @@ void tst_QScriptEngine::globalObjectProperties() } } QVERIFY(remainingNames.isEmpty()); +} +void tst_QScriptEngine::createGlobalObjectProperty() +{ + QScriptEngine eng; + QScriptValue global = eng.globalObject(); // create property with no attributes { QString name = QString::fromLatin1("foo"); @@ -3810,9 +3902,8 @@ void tst_QScriptEngine::stringObjects() } } -void tst_QScriptEngine::getterSetterThisObject() +void tst_QScriptEngine::getterSetterThisObject_global() { - // Global Object { QScriptEngine eng; // read @@ -3870,8 +3961,10 @@ void tst_QScriptEngine::getterSetterThisObject() QCOMPARE(ret.toString(), QString::fromLatin1("foo")); } } +} - // other object +void tst_QScriptEngine::getterSetterThisObject_plain() +{ { QScriptEngine eng; eng.evaluate("o = {}"); @@ -3888,8 +3981,10 @@ void tst_QScriptEngine::getterSetterThisObject() QVERIFY(eng.evaluate("with (o) x = 'foo'").equals("foo")); QVERIFY(eng.evaluate("with (o) with (q) x = 'foo'").equals("foo")); } +} - // getter+setter in prototype chain +void tst_QScriptEngine::getterSetterThisObject_prototypeChain() +{ { QScriptEngine eng; eng.evaluate("o = {}; p = {}; o.__proto__ = p"); @@ -3907,8 +4002,10 @@ void tst_QScriptEngine::getterSetterThisObject() QVERIFY(eng.evaluate("with (o) x = 'foo'").equals("foo")); QVERIFY(eng.evaluate("with (o) with (q) x = 'foo'").equals("foo")); } +} - // getter+setter in activation +void tst_QScriptEngine::getterSetterThisObject_activation() +{ { QScriptEngine eng; QScriptContext *ctx = eng.pushContext(); @@ -5030,8 +5127,11 @@ void tst_QScriptEngine::evaluateProgram() QVERIFY(differentProgram != program); QVERIFY(!eng.evaluate(differentProgram).equals(expected)); } +} - // Program that accesses variable in the scope +void tst_QScriptEngine::evaluateProgram_customScope() +{ + QScriptEngine eng; { QScriptProgram program("a"); QVERIFY(!program.isNull()); @@ -5068,8 +5168,11 @@ void tst_QScriptEngine::evaluateProgram() ctx->popScope(); } +} - // Program that creates closure +void tst_QScriptEngine::evaluateProgram_closure() +{ + QScriptEngine eng; { QScriptProgram program("(function() { var count = 0; return function() { return count++; }; })"); QVERIFY(!program.isNull()); @@ -5089,7 +5192,11 @@ void tst_QScriptEngine::evaluateProgram() QVERIFY(ret.isNumber()); } } +} +void tst_QScriptEngine::evaluateProgram_executeLater() +{ + QScriptEngine eng; // Program created in a function call, then executed later { QScriptValue fun = eng.newFunction(createProgram); @@ -5110,8 +5217,11 @@ void tst_QScriptEngine::evaluateProgram() QCOMPARE(ret.toInt32(), 123); } } +} - // Same program run in different engines +void tst_QScriptEngine::evaluateProgram_multipleEngines() +{ + QScriptEngine eng; { QString code("1 + 2"); QScriptProgram program(code); @@ -5125,8 +5235,11 @@ void tst_QScriptEngine::evaluateProgram() } } } +} - // No program +void tst_QScriptEngine::evaluateProgram_empty() +{ + QScriptEngine eng; { QScriptProgram program; QVERIFY(program.isNull()); -- cgit v0.12 From 0c7143d83d1de082ca8a5d2a7dd33cb85c7857c9 Mon Sep 17 00:00:00 2001 From: Jedrzej Nowacki Date: Tue, 2 Nov 2010 10:06:12 +0200 Subject: Fix regression in tst_maketestselftest::naming_convention. Change tst_QScriptValueGenerated test to obey the naming_convention test Reviewed-by: Kent Hansen --- .../qscriptvaluegenerated/tst_qscriptvalue.cpp | 18 ++-- .../auto/qscriptvaluegenerated/tst_qscriptvalue.h | 16 ++-- .../tst_qscriptvalue_generated_cast.cpp | 36 ++++---- .../tst_qscriptvalue_generated_comparison.cpp | 24 +++--- .../tst_qscriptvalue_generated_init.cpp | 2 +- .../tst_qscriptvalue_generated_isXXX.cpp | 96 +++++++++++----------- .../tst_qscriptvalue_generated_toXXX.cpp | 48 +++++------ 7 files changed, 120 insertions(+), 120 deletions(-) diff --git a/tests/auto/qscriptvaluegenerated/tst_qscriptvalue.cpp b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue.cpp index 3856a6d..962a2af 100644 --- a/tests/auto/qscriptvaluegenerated/tst_qscriptvalue.cpp +++ b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue.cpp @@ -49,17 +49,17 @@ QT_BEGIN_NAMESPACE extern bool qt_script_isJITEnabled(); QT_END_NAMESPACE -tst_QScriptValue::tst_QScriptValue() +tst_QScriptValueGenerated::tst_QScriptValueGenerated() : engine(0) { } -tst_QScriptValue::~tst_QScriptValue() +tst_QScriptValueGenerated::~tst_QScriptValueGenerated() { delete engine; } -void tst_QScriptValue::dataHelper(InitDataFunction init, DefineDataFunction define) +void tst_QScriptValueGenerated::dataHelper(InitDataFunction init, DefineDataFunction define) { QTest::addColumn("__expression__"); (this->*init)(); @@ -71,30 +71,30 @@ void tst_QScriptValue::dataHelper(InitDataFunction init, DefineDataFunction defi m_currentExpression = QString(); } -QTestData &tst_QScriptValue::newRow(const char *tag) +QTestData &tst_QScriptValueGenerated::newRow(const char *tag) { return QTest::newRow(tag) << m_currentExpression; } -void tst_QScriptValue::testHelper(TestFunction fun) +void tst_QScriptValueGenerated::testHelper(TestFunction fun) { QFETCH(QString, __expression__); QScriptValue value = m_values.value(__expression__); (this->*fun)(__expression__.toLatin1(), value); } -void tst_QScriptValue::assignAndCopyConstruct_initData() +void tst_QScriptValueGenerated::assignAndCopyConstruct_initData() { QTest::addColumn("dummy"); initScriptValues(); } -void tst_QScriptValue::assignAndCopyConstruct_makeData(const char *expr) +void tst_QScriptValueGenerated::assignAndCopyConstruct_makeData(const char *expr) { newRow(expr) << 0; } -void tst_QScriptValue::assignAndCopyConstruct_test(const char *, const QScriptValue &value) +void tst_QScriptValueGenerated::assignAndCopyConstruct_test(const char *, const QScriptValue &value) { QScriptValue copy(value); QCOMPARE(copy.strictlyEquals(value), !value.isNumber() || !qIsNaN(value.toNumber())); @@ -113,4 +113,4 @@ void tst_QScriptValue::assignAndCopyConstruct_test(const char *, const QScriptVa DEFINE_TEST_FUNCTION(assignAndCopyConstruct) -QTEST_MAIN(tst_QScriptValue) +QTEST_MAIN(tst_QScriptValueGenerated) diff --git a/tests/auto/qscriptvaluegenerated/tst_qscriptvalue.h b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue.h index 50ab878..8248ef3 100644 --- a/tests/auto/qscriptvaluegenerated/tst_qscriptvalue.h +++ b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue.h @@ -54,13 +54,13 @@ Q_DECLARE_METATYPE(QVariant) Q_DECLARE_METATYPE(QScriptValue) -class tst_QScriptValue : public QObject +class tst_QScriptValueGenerated : public QObject { Q_OBJECT public: - tst_QScriptValue(); - virtual ~tst_QScriptValue(); + tst_QScriptValueGenerated(); + virtual ~tst_QScriptValueGenerated(); private slots: // Generated test functions @@ -185,12 +185,12 @@ private slots: void qscriptvalue_castquint16(); private: - typedef void (tst_QScriptValue::*InitDataFunction)(); - typedef void (tst_QScriptValue::*DefineDataFunction)(const char *); + typedef void (tst_QScriptValueGenerated::*InitDataFunction)(); + typedef void (tst_QScriptValueGenerated::*DefineDataFunction)(const char *); void dataHelper(InitDataFunction init, DefineDataFunction define); QTestData &newRow(const char *tag); - typedef void (tst_QScriptValue::*TestFunction)(const char *, const QScriptValue &); + typedef void (tst_QScriptValueGenerated::*TestFunction)(const char *, const QScriptValue &); void testHelper(TestFunction fun); // Generated functions @@ -364,7 +364,7 @@ private: }; #define DEFINE_TEST_FUNCTION(name) \ -void tst_QScriptValue::name##_data() { dataHelper(&tst_QScriptValue::name##_initData, &tst_QScriptValue::name##_makeData); } \ -void tst_QScriptValue::name() { testHelper(&tst_QScriptValue::name##_test); } +void tst_QScriptValueGenerated::name##_data() { dataHelper(&tst_QScriptValueGenerated::name##_initData, &tst_QScriptValueGenerated::name##_makeData); } \ +void tst_QScriptValueGenerated::name() { testHelper(&tst_QScriptValueGenerated::name##_test); } #endif diff --git a/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_cast.cpp b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_cast.cpp index e651810..90bc104 100644 --- a/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_cast.cpp +++ b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_cast.cpp @@ -47,7 +47,7 @@ -void tst_QScriptValue::qscriptvalue_castQString_initData() +void tst_QScriptValueGenerated::qscriptvalue_castQString_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -268,7 +268,7 @@ static QString qscriptvalue_castQString_valueArray [] = { "[object QMetaObject]", "undefined", "123", "false", "", "QScriptEngine(name = \"\")", }; -void tst_QScriptValue::qscriptvalue_castQString_makeData(const char* expr) +void tst_QScriptValueGenerated::qscriptvalue_castQString_makeData(const char* expr) { static QHash value; if (value.isEmpty()) { @@ -279,7 +279,7 @@ void tst_QScriptValue::qscriptvalue_castQString_makeData(const char* expr) newRow(expr) << value.value(expr); } -void tst_QScriptValue::qscriptvalue_castQString_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::qscriptvalue_castQString_test(const char*, const QScriptValue& value) { QFETCH(QString, expected); QCOMPARE(qscriptvalue_cast(value), expected); @@ -289,7 +289,7 @@ void tst_QScriptValue::qscriptvalue_castQString_test(const char*, const QScriptV DEFINE_TEST_FUNCTION(qscriptvalue_castQString) -void tst_QScriptValue::qscriptvalue_castqsreal_initData() +void tst_QScriptValueGenerated::qscriptvalue_castqsreal_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -454,7 +454,7 @@ static qsreal qscriptvalue_castqsreal_valueArray [] = { 65536, 65537, qQNaN(), qInf(), qInf(), qQNaN(), 0, 0, 123, 12.4, 0, qQNaN(), qQNaN(), 0, qQNaN(), qQNaN(), qQNaN(), qQNaN(), 123, 0, 0, qQNaN(), }; -void tst_QScriptValue::qscriptvalue_castqsreal_makeData(const char* expr) +void tst_QScriptValueGenerated::qscriptvalue_castqsreal_makeData(const char* expr) { static QHash value; if (value.isEmpty()) { @@ -465,7 +465,7 @@ void tst_QScriptValue::qscriptvalue_castqsreal_makeData(const char* expr) newRow(expr) << value.value(expr); } -void tst_QScriptValue::qscriptvalue_castqsreal_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::qscriptvalue_castqsreal_test(const char*, const QScriptValue& value) { QFETCH(qsreal, expected); if (qIsNaN(expected)) { @@ -485,7 +485,7 @@ void tst_QScriptValue::qscriptvalue_castqsreal_test(const char*, const QScriptVa DEFINE_TEST_FUNCTION(qscriptvalue_castqsreal) -void tst_QScriptValue::qscriptvalue_castbool_initData() +void tst_QScriptValueGenerated::qscriptvalue_castbool_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -706,7 +706,7 @@ static bool qscriptvalue_castbool_valueArray [] = { true, true, true, true, false, true, }; -void tst_QScriptValue::qscriptvalue_castbool_makeData(const char* expr) +void tst_QScriptValueGenerated::qscriptvalue_castbool_makeData(const char* expr) { static QHash value; if (value.isEmpty()) { @@ -717,7 +717,7 @@ void tst_QScriptValue::qscriptvalue_castbool_makeData(const char* expr) newRow(expr) << value.value(expr); } -void tst_QScriptValue::qscriptvalue_castbool_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::qscriptvalue_castbool_test(const char*, const QScriptValue& value) { QFETCH(bool, expected); QCOMPARE(qscriptvalue_cast(value), expected); @@ -727,7 +727,7 @@ void tst_QScriptValue::qscriptvalue_castbool_test(const char*, const QScriptValu DEFINE_TEST_FUNCTION(qscriptvalue_castbool) -void tst_QScriptValue::qscriptvalue_castqint32_initData() +void tst_QScriptValueGenerated::qscriptvalue_castqint32_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -948,7 +948,7 @@ static qint32 qscriptvalue_castqint32_valueArray [] = { 0, 0, 123, 0, 0, 0, }; -void tst_QScriptValue::qscriptvalue_castqint32_makeData(const char* expr) +void tst_QScriptValueGenerated::qscriptvalue_castqint32_makeData(const char* expr) { static QHash value; if (value.isEmpty()) { @@ -959,7 +959,7 @@ void tst_QScriptValue::qscriptvalue_castqint32_makeData(const char* expr) newRow(expr) << value.value(expr); } -void tst_QScriptValue::qscriptvalue_castqint32_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::qscriptvalue_castqint32_test(const char*, const QScriptValue& value) { QFETCH(qint32, expected); QCOMPARE(qscriptvalue_cast(value), expected); @@ -969,7 +969,7 @@ void tst_QScriptValue::qscriptvalue_castqint32_test(const char*, const QScriptVa DEFINE_TEST_FUNCTION(qscriptvalue_castqint32) -void tst_QScriptValue::qscriptvalue_castquint32_initData() +void tst_QScriptValueGenerated::qscriptvalue_castquint32_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -1190,7 +1190,7 @@ static quint32 qscriptvalue_castquint32_valueArray [] = { 0, 0, 123, 0, 0, 0, }; -void tst_QScriptValue::qscriptvalue_castquint32_makeData(const char* expr) +void tst_QScriptValueGenerated::qscriptvalue_castquint32_makeData(const char* expr) { static QHash value; if (value.isEmpty()) { @@ -1201,7 +1201,7 @@ void tst_QScriptValue::qscriptvalue_castquint32_makeData(const char* expr) newRow(expr) << value.value(expr); } -void tst_QScriptValue::qscriptvalue_castquint32_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::qscriptvalue_castquint32_test(const char*, const QScriptValue& value) { QFETCH(quint32, expected); QCOMPARE(qscriptvalue_cast(value), expected); @@ -1211,7 +1211,7 @@ void tst_QScriptValue::qscriptvalue_castquint32_test(const char*, const QScriptV DEFINE_TEST_FUNCTION(qscriptvalue_castquint32) -void tst_QScriptValue::qscriptvalue_castquint16_initData() +void tst_QScriptValueGenerated::qscriptvalue_castquint16_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -1432,7 +1432,7 @@ static quint16 qscriptvalue_castquint16_valueArray [] = { 0, 0, 123, 0, 0, 0, }; -void tst_QScriptValue::qscriptvalue_castquint16_makeData(const char* expr) +void tst_QScriptValueGenerated::qscriptvalue_castquint16_makeData(const char* expr) { static QHash value; if (value.isEmpty()) { @@ -1443,7 +1443,7 @@ void tst_QScriptValue::qscriptvalue_castquint16_makeData(const char* expr) newRow(expr) << value.value(expr); } -void tst_QScriptValue::qscriptvalue_castquint16_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::qscriptvalue_castquint16_test(const char*, const QScriptValue& value) { QFETCH(quint16, expected); QCOMPARE(qscriptvalue_cast(value), expected); diff --git a/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_comparison.cpp b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_comparison.cpp index 6e1f8ee..02243de 100644 --- a/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_comparison.cpp +++ b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_comparison.cpp @@ -47,7 +47,7 @@ -void tst_QScriptValue::equals_initData() +void tst_QScriptValueGenerated::equals_initData() { QTest::addColumn("other"); QTest::addColumn("expected"); @@ -1273,7 +1273,7 @@ static QString equals_array [] = { "engine->newQObject(0) <=> engine->newQObject(0)", "engine->newQObject(engine) <=> engine->newQObject(engine)",}; -void tst_QScriptValue::equals_makeData(const char *expr) +void tst_QScriptValueGenerated::equals_makeData(const char *expr) { static QSet equals; if (equals.isEmpty()) { @@ -1288,7 +1288,7 @@ void tst_QScriptValue::equals_makeData(const char *expr) } } -void tst_QScriptValue::equals_test(const char *, const QScriptValue& value) +void tst_QScriptValueGenerated::equals_test(const char *, const QScriptValue& value) { QFETCH(QScriptValue, other); QFETCH(bool, expected); @@ -1298,7 +1298,7 @@ void tst_QScriptValue::equals_test(const char *, const QScriptValue& value) DEFINE_TEST_FUNCTION(equals) -void tst_QScriptValue::strictlyEquals_initData() +void tst_QScriptValueGenerated::strictlyEquals_initData() { QTest::addColumn("other"); QTest::addColumn("expected"); @@ -1830,7 +1830,7 @@ static QString strictlyEquals_array [] = { "engine->newQObject(0) <=> engine->newQObject(0)", "engine->newQObject(engine) <=> engine->newQObject(engine)",}; -void tst_QScriptValue::strictlyEquals_makeData(const char *expr) +void tst_QScriptValueGenerated::strictlyEquals_makeData(const char *expr) { static QSet equals; if (equals.isEmpty()) { @@ -1845,7 +1845,7 @@ void tst_QScriptValue::strictlyEquals_makeData(const char *expr) } } -void tst_QScriptValue::strictlyEquals_test(const char *, const QScriptValue& value) +void tst_QScriptValueGenerated::strictlyEquals_test(const char *, const QScriptValue& value) { QFETCH(QScriptValue, other); QFETCH(bool, expected); @@ -1855,7 +1855,7 @@ void tst_QScriptValue::strictlyEquals_test(const char *, const QScriptValue& val DEFINE_TEST_FUNCTION(strictlyEquals) -void tst_QScriptValue::lessThan_initData() +void tst_QScriptValueGenerated::lessThan_initData() { QTest::addColumn("other"); QTest::addColumn("expected"); @@ -6927,7 +6927,7 @@ static QString lessThan_array [] = { "engine->newQObject(engine) <=> engine->newObject()", "engine->newQObject(engine) <=> engine->newQMetaObject(&QObject::staticMetaObject)",}; -void tst_QScriptValue::lessThan_makeData(const char *expr) +void tst_QScriptValueGenerated::lessThan_makeData(const char *expr) { static QSet equals; if (equals.isEmpty()) { @@ -6942,7 +6942,7 @@ void tst_QScriptValue::lessThan_makeData(const char *expr) } } -void tst_QScriptValue::lessThan_test(const char *, const QScriptValue& value) +void tst_QScriptValueGenerated::lessThan_test(const char *, const QScriptValue& value) { QFETCH(QScriptValue, other); QFETCH(bool, expected); @@ -6952,7 +6952,7 @@ void tst_QScriptValue::lessThan_test(const char *, const QScriptValue& value) DEFINE_TEST_FUNCTION(lessThan) -void tst_QScriptValue::instanceOf_initData() +void tst_QScriptValueGenerated::instanceOf_initData() { QTest::addColumn("other"); QTest::addColumn("expected"); @@ -7001,7 +7001,7 @@ static QString instanceOf_array [] = { "engine->newVariant(QVariant(false)) <=> engine->evaluate(\"Object\")", "engine->newQObject(engine) <=> engine->evaluate(\"Object\")",}; -void tst_QScriptValue::instanceOf_makeData(const char *expr) +void tst_QScriptValueGenerated::instanceOf_makeData(const char *expr) { static QSet equals; if (equals.isEmpty()) { @@ -7016,7 +7016,7 @@ void tst_QScriptValue::instanceOf_makeData(const char *expr) } } -void tst_QScriptValue::instanceOf_test(const char *, const QScriptValue& value) +void tst_QScriptValueGenerated::instanceOf_test(const char *, const QScriptValue& value) { QFETCH(QScriptValue, other); QFETCH(bool, expected); diff --git a/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_init.cpp b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_init.cpp index a9eb2ca..8c8a7d1 100644 --- a/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_init.cpp +++ b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_init.cpp @@ -46,7 +46,7 @@ #include "tst_qscriptvalue.h" -void tst_QScriptValue::initScriptValues() +void tst_QScriptValueGenerated::initScriptValues() { m_values.clear(); if (engine) diff --git a/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_isXXX.cpp b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_isXXX.cpp index 106043b..71a5c1d 100644 --- a/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_isXXX.cpp +++ b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_isXXX.cpp @@ -46,7 +46,7 @@ #include "tst_qscriptvalue.h" -void tst_QScriptValue::isValid_initData() +void tst_QScriptValueGenerated::isValid_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -195,7 +195,7 @@ static QString isValid_array [] = { "engine->newQObject(0)", "engine->newQObject(engine)",}; -void tst_QScriptValue::isValid_makeData(const char* expr) +void tst_QScriptValueGenerated::isValid_makeData(const char* expr) { static QSet isValid; if (isValid.isEmpty()) { @@ -206,7 +206,7 @@ void tst_QScriptValue::isValid_makeData(const char* expr) newRow(expr) << isValid.contains(expr); } -void tst_QScriptValue::isValid_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::isValid_test(const char*, const QScriptValue& value) { QFETCH(bool, expected); QCOMPARE(value.isValid(), expected); @@ -216,7 +216,7 @@ void tst_QScriptValue::isValid_test(const char*, const QScriptValue& value) DEFINE_TEST_FUNCTION(isValid) -void tst_QScriptValue::isBool_initData() +void tst_QScriptValueGenerated::isBool_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -232,7 +232,7 @@ static QString isBool_array [] = { "engine->evaluate(\"true\")", "engine->evaluate(\"false\")",}; -void tst_QScriptValue::isBool_makeData(const char* expr) +void tst_QScriptValueGenerated::isBool_makeData(const char* expr) { static QSet isBool; if (isBool.isEmpty()) { @@ -243,7 +243,7 @@ void tst_QScriptValue::isBool_makeData(const char* expr) newRow(expr) << isBool.contains(expr); } -void tst_QScriptValue::isBool_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::isBool_test(const char*, const QScriptValue& value) { QFETCH(bool, expected); QCOMPARE(value.isBool(), expected); @@ -253,7 +253,7 @@ void tst_QScriptValue::isBool_test(const char*, const QScriptValue& value) DEFINE_TEST_FUNCTION(isBool) -void tst_QScriptValue::isBoolean_initData() +void tst_QScriptValueGenerated::isBoolean_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -269,7 +269,7 @@ static QString isBoolean_array [] = { "engine->evaluate(\"true\")", "engine->evaluate(\"false\")",}; -void tst_QScriptValue::isBoolean_makeData(const char* expr) +void tst_QScriptValueGenerated::isBoolean_makeData(const char* expr) { static QSet isBoolean; if (isBoolean.isEmpty()) { @@ -280,7 +280,7 @@ void tst_QScriptValue::isBoolean_makeData(const char* expr) newRow(expr) << isBoolean.contains(expr); } -void tst_QScriptValue::isBoolean_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::isBoolean_test(const char*, const QScriptValue& value) { QFETCH(bool, expected); QCOMPARE(value.isBoolean(), expected); @@ -290,7 +290,7 @@ void tst_QScriptValue::isBoolean_test(const char*, const QScriptValue& value) DEFINE_TEST_FUNCTION(isBoolean) -void tst_QScriptValue::isNumber_initData() +void tst_QScriptValueGenerated::isNumber_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -354,7 +354,7 @@ static QString isNumber_array [] = { "engine->evaluate(\"Infinity\")", "engine->evaluate(\"-Infinity\")",}; -void tst_QScriptValue::isNumber_makeData(const char* expr) +void tst_QScriptValueGenerated::isNumber_makeData(const char* expr) { static QSet isNumber; if (isNumber.isEmpty()) { @@ -365,7 +365,7 @@ void tst_QScriptValue::isNumber_makeData(const char* expr) newRow(expr) << isNumber.contains(expr); } -void tst_QScriptValue::isNumber_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::isNumber_test(const char*, const QScriptValue& value) { QFETCH(bool, expected); QCOMPARE(value.isNumber(), expected); @@ -375,7 +375,7 @@ void tst_QScriptValue::isNumber_test(const char*, const QScriptValue& value) DEFINE_TEST_FUNCTION(isNumber) -void tst_QScriptValue::isFunction_initData() +void tst_QScriptValueGenerated::isFunction_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -393,7 +393,7 @@ static QString isFunction_array [] = { "engine->evaluate(\"/foo/\")", "engine->newQMetaObject(&QObject::staticMetaObject)",}; -void tst_QScriptValue::isFunction_makeData(const char* expr) +void tst_QScriptValueGenerated::isFunction_makeData(const char* expr) { static QSet isFunction; if (isFunction.isEmpty()) { @@ -404,7 +404,7 @@ void tst_QScriptValue::isFunction_makeData(const char* expr) newRow(expr) << isFunction.contains(expr); } -void tst_QScriptValue::isFunction_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::isFunction_test(const char*, const QScriptValue& value) { QFETCH(bool, expected); QCOMPARE(value.isFunction(), expected); @@ -414,7 +414,7 @@ void tst_QScriptValue::isFunction_test(const char*, const QScriptValue& value) DEFINE_TEST_FUNCTION(isFunction) -void tst_QScriptValue::isNull_initData() +void tst_QScriptValueGenerated::isNull_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -428,7 +428,7 @@ static QString isNull_array [] = { "engine->nullValue()", "engine->newQObject(0)",}; -void tst_QScriptValue::isNull_makeData(const char* expr) +void tst_QScriptValueGenerated::isNull_makeData(const char* expr) { static QSet isNull; if (isNull.isEmpty()) { @@ -439,7 +439,7 @@ void tst_QScriptValue::isNull_makeData(const char* expr) newRow(expr) << isNull.contains(expr); } -void tst_QScriptValue::isNull_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::isNull_test(const char*, const QScriptValue& value) { QFETCH(bool, expected); QCOMPARE(value.isNull(), expected); @@ -449,7 +449,7 @@ void tst_QScriptValue::isNull_test(const char*, const QScriptValue& value) DEFINE_TEST_FUNCTION(isNull) -void tst_QScriptValue::isString_initData() +void tst_QScriptValueGenerated::isString_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -492,7 +492,7 @@ static QString isString_array [] = { "engine->evaluate(\"'123'\")", "engine->evaluate(\"'12.4'\")",}; -void tst_QScriptValue::isString_makeData(const char* expr) +void tst_QScriptValueGenerated::isString_makeData(const char* expr) { static QSet isString; if (isString.isEmpty()) { @@ -503,7 +503,7 @@ void tst_QScriptValue::isString_makeData(const char* expr) newRow(expr) << isString.contains(expr); } -void tst_QScriptValue::isString_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::isString_test(const char*, const QScriptValue& value) { QFETCH(bool, expected); QCOMPARE(value.isString(), expected); @@ -513,7 +513,7 @@ void tst_QScriptValue::isString_test(const char*, const QScriptValue& value) DEFINE_TEST_FUNCTION(isString) -void tst_QScriptValue::isUndefined_initData() +void tst_QScriptValueGenerated::isUndefined_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -527,7 +527,7 @@ static QString isUndefined_array [] = { "engine->evaluate(\"undefined\")", "engine->undefinedValue()",}; -void tst_QScriptValue::isUndefined_makeData(const char* expr) +void tst_QScriptValueGenerated::isUndefined_makeData(const char* expr) { static QSet isUndefined; if (isUndefined.isEmpty()) { @@ -538,7 +538,7 @@ void tst_QScriptValue::isUndefined_makeData(const char* expr) newRow(expr) << isUndefined.contains(expr); } -void tst_QScriptValue::isUndefined_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::isUndefined_test(const char*, const QScriptValue& value) { QFETCH(bool, expected); QCOMPARE(value.isUndefined(), expected); @@ -548,7 +548,7 @@ void tst_QScriptValue::isUndefined_test(const char*, const QScriptValue& value) DEFINE_TEST_FUNCTION(isUndefined) -void tst_QScriptValue::isVariant_initData() +void tst_QScriptValueGenerated::isVariant_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -559,7 +559,7 @@ static QString isVariant_array [] = { "engine->newVariant(QVariant(123))", "engine->newVariant(QVariant(false))",}; -void tst_QScriptValue::isVariant_makeData(const char* expr) +void tst_QScriptValueGenerated::isVariant_makeData(const char* expr) { static QSet isVariant; if (isVariant.isEmpty()) { @@ -570,7 +570,7 @@ void tst_QScriptValue::isVariant_makeData(const char* expr) newRow(expr) << isVariant.contains(expr); } -void tst_QScriptValue::isVariant_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::isVariant_test(const char*, const QScriptValue& value) { QFETCH(bool, expected); QCOMPARE(value.isVariant(), expected); @@ -580,7 +580,7 @@ void tst_QScriptValue::isVariant_test(const char*, const QScriptValue& value) DEFINE_TEST_FUNCTION(isVariant) -void tst_QScriptValue::isQObject_initData() +void tst_QScriptValueGenerated::isQObject_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -589,7 +589,7 @@ void tst_QScriptValue::isQObject_initData() static QString isQObject_array [] = { "engine->newQObject(engine)",}; -void tst_QScriptValue::isQObject_makeData(const char* expr) +void tst_QScriptValueGenerated::isQObject_makeData(const char* expr) { static QSet isQObject; if (isQObject.isEmpty()) { @@ -600,7 +600,7 @@ void tst_QScriptValue::isQObject_makeData(const char* expr) newRow(expr) << isQObject.contains(expr); } -void tst_QScriptValue::isQObject_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::isQObject_test(const char*, const QScriptValue& value) { QFETCH(bool, expected); QCOMPARE(value.isQObject(), expected); @@ -610,7 +610,7 @@ void tst_QScriptValue::isQObject_test(const char*, const QScriptValue& value) DEFINE_TEST_FUNCTION(isQObject) -void tst_QScriptValue::isQMetaObject_initData() +void tst_QScriptValueGenerated::isQMetaObject_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -619,7 +619,7 @@ void tst_QScriptValue::isQMetaObject_initData() static QString isQMetaObject_array [] = { "engine->newQMetaObject(&QObject::staticMetaObject)",}; -void tst_QScriptValue::isQMetaObject_makeData(const char* expr) +void tst_QScriptValueGenerated::isQMetaObject_makeData(const char* expr) { static QSet isQMetaObject; if (isQMetaObject.isEmpty()) { @@ -630,7 +630,7 @@ void tst_QScriptValue::isQMetaObject_makeData(const char* expr) newRow(expr) << isQMetaObject.contains(expr); } -void tst_QScriptValue::isQMetaObject_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::isQMetaObject_test(const char*, const QScriptValue& value) { QFETCH(bool, expected); QCOMPARE(value.isQMetaObject(), expected); @@ -640,7 +640,7 @@ void tst_QScriptValue::isQMetaObject_test(const char*, const QScriptValue& value DEFINE_TEST_FUNCTION(isQMetaObject) -void tst_QScriptValue::isObject_initData() +void tst_QScriptValueGenerated::isObject_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -678,7 +678,7 @@ static QString isObject_array [] = { "engine->newVariant(QVariant(false))", "engine->newQObject(engine)",}; -void tst_QScriptValue::isObject_makeData(const char* expr) +void tst_QScriptValueGenerated::isObject_makeData(const char* expr) { static QSet isObject; if (isObject.isEmpty()) { @@ -689,7 +689,7 @@ void tst_QScriptValue::isObject_makeData(const char* expr) newRow(expr) << isObject.contains(expr); } -void tst_QScriptValue::isObject_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::isObject_test(const char*, const QScriptValue& value) { QFETCH(bool, expected); QCOMPARE(value.isObject(), expected); @@ -699,7 +699,7 @@ void tst_QScriptValue::isObject_test(const char*, const QScriptValue& value) DEFINE_TEST_FUNCTION(isObject) -void tst_QScriptValue::isDate_initData() +void tst_QScriptValueGenerated::isDate_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -709,7 +709,7 @@ static QString isDate_array [] = { "engine->evaluate(\"Date.prototype\")", "engine->newDate(QDateTime())",}; -void tst_QScriptValue::isDate_makeData(const char* expr) +void tst_QScriptValueGenerated::isDate_makeData(const char* expr) { static QSet isDate; if (isDate.isEmpty()) { @@ -720,7 +720,7 @@ void tst_QScriptValue::isDate_makeData(const char* expr) newRow(expr) << isDate.contains(expr); } -void tst_QScriptValue::isDate_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::isDate_test(const char*, const QScriptValue& value) { QFETCH(bool, expected); QCOMPARE(value.isDate(), expected); @@ -730,7 +730,7 @@ void tst_QScriptValue::isDate_test(const char*, const QScriptValue& value) DEFINE_TEST_FUNCTION(isDate) -void tst_QScriptValue::isRegExp_initData() +void tst_QScriptValueGenerated::isRegExp_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -739,7 +739,7 @@ void tst_QScriptValue::isRegExp_initData() static QString isRegExp_array [] = { "engine->evaluate(\"/foo/\")",}; -void tst_QScriptValue::isRegExp_makeData(const char* expr) +void tst_QScriptValueGenerated::isRegExp_makeData(const char* expr) { static QSet isRegExp; if (isRegExp.isEmpty()) { @@ -750,7 +750,7 @@ void tst_QScriptValue::isRegExp_makeData(const char* expr) newRow(expr) << isRegExp.contains(expr); } -void tst_QScriptValue::isRegExp_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::isRegExp_test(const char*, const QScriptValue& value) { QFETCH(bool, expected); QCOMPARE(value.isRegExp(), expected); @@ -760,7 +760,7 @@ void tst_QScriptValue::isRegExp_test(const char*, const QScriptValue& value) DEFINE_TEST_FUNCTION(isRegExp) -void tst_QScriptValue::isArray_initData() +void tst_QScriptValueGenerated::isArray_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -773,7 +773,7 @@ static QString isArray_array [] = { "engine->newArray()", "engine->newArray(10)",}; -void tst_QScriptValue::isArray_makeData(const char* expr) +void tst_QScriptValueGenerated::isArray_makeData(const char* expr) { static QSet isArray; if (isArray.isEmpty()) { @@ -784,7 +784,7 @@ void tst_QScriptValue::isArray_makeData(const char* expr) newRow(expr) << isArray.contains(expr); } -void tst_QScriptValue::isArray_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::isArray_test(const char*, const QScriptValue& value) { QFETCH(bool, expected); QCOMPARE(value.isArray(), expected); @@ -794,7 +794,7 @@ void tst_QScriptValue::isArray_test(const char*, const QScriptValue& value) DEFINE_TEST_FUNCTION(isArray) -void tst_QScriptValue::isError_initData() +void tst_QScriptValueGenerated::isError_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -808,7 +808,7 @@ static QString isError_array [] = { "engine->evaluate(\"True\")", "engine->evaluate(\"False\")",}; -void tst_QScriptValue::isError_makeData(const char* expr) +void tst_QScriptValueGenerated::isError_makeData(const char* expr) { static QSet isError; if (isError.isEmpty()) { @@ -819,7 +819,7 @@ void tst_QScriptValue::isError_makeData(const char* expr) newRow(expr) << isError.contains(expr); } -void tst_QScriptValue::isError_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::isError_test(const char*, const QScriptValue& value) { QFETCH(bool, expected); QCOMPARE(value.isError(), expected); diff --git a/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_toXXX.cpp b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_toXXX.cpp index 754f4e0..cb75ded 100644 --- a/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_toXXX.cpp +++ b/tests/auto/qscriptvaluegenerated/tst_qscriptvalue_generated_toXXX.cpp @@ -47,7 +47,7 @@ -void tst_QScriptValue::toString_initData() +void tst_QScriptValueGenerated::toString_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -270,7 +270,7 @@ static QString toString_valueArray [] = { "123", "false", "null", "QScriptEngine(name = \"\")", }; -void tst_QScriptValue::toString_makeData(const char* expr) +void tst_QScriptValueGenerated::toString_makeData(const char* expr) { static QHash toString; if (toString.isEmpty()) { @@ -281,7 +281,7 @@ void tst_QScriptValue::toString_makeData(const char* expr) newRow(expr) << toString.value(expr); } -void tst_QScriptValue::toString_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::toString_test(const char*, const QScriptValue& value) { QFETCH(QString, expected); QCOMPARE(value.toString(), expected); @@ -291,7 +291,7 @@ void tst_QScriptValue::toString_test(const char*, const QScriptValue& value) DEFINE_TEST_FUNCTION(toString) -void tst_QScriptValue::toNumber_initData() +void tst_QScriptValueGenerated::toNumber_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -456,7 +456,7 @@ static qsreal toNumber_valueArray [] = { 65536, 65537, qQNaN(), qInf(), qInf(), qQNaN(), 0, 0, 123, 12.4, 0, qQNaN(), qQNaN(), 0, qQNaN(), qQNaN(), qQNaN(), qQNaN(), 123, 0, 0, qQNaN(), }; -void tst_QScriptValue::toNumber_makeData(const char* expr) +void tst_QScriptValueGenerated::toNumber_makeData(const char* expr) { static QHash toNumber; if (toNumber.isEmpty()) { @@ -467,7 +467,7 @@ void tst_QScriptValue::toNumber_makeData(const char* expr) newRow(expr) << toNumber.value(expr); } -void tst_QScriptValue::toNumber_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::toNumber_test(const char*, const QScriptValue& value) { QFETCH(qsreal, expected); if (qIsNaN(expected)) { @@ -486,7 +486,7 @@ void tst_QScriptValue::toNumber_test(const char*, const QScriptValue& value) DEFINE_TEST_FUNCTION(toNumber) -void tst_QScriptValue::toBool_initData() +void tst_QScriptValueGenerated::toBool_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -709,7 +709,7 @@ static bool toBool_valueArray [] = { true, true, false, true, }; -void tst_QScriptValue::toBool_makeData(const char* expr) +void tst_QScriptValueGenerated::toBool_makeData(const char* expr) { static QHash toBool; if (toBool.isEmpty()) { @@ -720,7 +720,7 @@ void tst_QScriptValue::toBool_makeData(const char* expr) newRow(expr) << toBool.value(expr); } -void tst_QScriptValue::toBool_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::toBool_test(const char*, const QScriptValue& value) { QFETCH(bool, expected); QCOMPARE(value.toBool(), expected); @@ -730,7 +730,7 @@ void tst_QScriptValue::toBool_test(const char*, const QScriptValue& value) DEFINE_TEST_FUNCTION(toBool) -void tst_QScriptValue::toBoolean_initData() +void tst_QScriptValueGenerated::toBoolean_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -953,7 +953,7 @@ static bool toBoolean_valueArray [] = { true, true, false, true, }; -void tst_QScriptValue::toBoolean_makeData(const char* expr) +void tst_QScriptValueGenerated::toBoolean_makeData(const char* expr) { static QHash toBoolean; if (toBoolean.isEmpty()) { @@ -964,7 +964,7 @@ void tst_QScriptValue::toBoolean_makeData(const char* expr) newRow(expr) << toBoolean.value(expr); } -void tst_QScriptValue::toBoolean_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::toBoolean_test(const char*, const QScriptValue& value) { QFETCH(bool, expected); QCOMPARE(value.toBoolean(), expected); @@ -974,7 +974,7 @@ void tst_QScriptValue::toBoolean_test(const char*, const QScriptValue& value) DEFINE_TEST_FUNCTION(toBoolean) -void tst_QScriptValue::toInteger_initData() +void tst_QScriptValueGenerated::toInteger_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -1139,7 +1139,7 @@ static qsreal toInteger_valueArray [] = { 65536, 65537, 0, qInf(), qInf(), 0, 0, 0, 123, 12, 0, 0, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, }; -void tst_QScriptValue::toInteger_makeData(const char* expr) +void tst_QScriptValueGenerated::toInteger_makeData(const char* expr) { static QHash toInteger; if (toInteger.isEmpty()) { @@ -1150,7 +1150,7 @@ void tst_QScriptValue::toInteger_makeData(const char* expr) newRow(expr) << toInteger.value(expr); } -void tst_QScriptValue::toInteger_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::toInteger_test(const char*, const QScriptValue& value) { QFETCH(qsreal, expected); if (qIsInf(expected)) { @@ -1165,7 +1165,7 @@ void tst_QScriptValue::toInteger_test(const char*, const QScriptValue& value) DEFINE_TEST_FUNCTION(toInteger) -void tst_QScriptValue::toInt32_initData() +void tst_QScriptValueGenerated::toInt32_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -1388,7 +1388,7 @@ static qint32 toInt32_valueArray [] = { 123, 0, 0, 0, }; -void tst_QScriptValue::toInt32_makeData(const char* expr) +void tst_QScriptValueGenerated::toInt32_makeData(const char* expr) { static QHash toInt32; if (toInt32.isEmpty()) { @@ -1399,7 +1399,7 @@ void tst_QScriptValue::toInt32_makeData(const char* expr) newRow(expr) << toInt32.value(expr); } -void tst_QScriptValue::toInt32_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::toInt32_test(const char*, const QScriptValue& value) { QFETCH(qint32, expected); QCOMPARE(value.toInt32(), expected); @@ -1409,7 +1409,7 @@ void tst_QScriptValue::toInt32_test(const char*, const QScriptValue& value) DEFINE_TEST_FUNCTION(toInt32) -void tst_QScriptValue::toUInt32_initData() +void tst_QScriptValueGenerated::toUInt32_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -1632,7 +1632,7 @@ static quint32 toUInt32_valueArray [] = { 123, 0, 0, 0, }; -void tst_QScriptValue::toUInt32_makeData(const char* expr) +void tst_QScriptValueGenerated::toUInt32_makeData(const char* expr) { static QHash toUInt32; if (toUInt32.isEmpty()) { @@ -1643,7 +1643,7 @@ void tst_QScriptValue::toUInt32_makeData(const char* expr) newRow(expr) << toUInt32.value(expr); } -void tst_QScriptValue::toUInt32_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::toUInt32_test(const char*, const QScriptValue& value) { QFETCH(quint32, expected); QCOMPARE(value.toUInt32(), expected); @@ -1653,7 +1653,7 @@ void tst_QScriptValue::toUInt32_test(const char*, const QScriptValue& value) DEFINE_TEST_FUNCTION(toUInt32) -void tst_QScriptValue::toUInt16_initData() +void tst_QScriptValueGenerated::toUInt16_initData() { QTest::addColumn("expected"); initScriptValues(); @@ -1876,7 +1876,7 @@ static quint16 toUInt16_valueArray [] = { 123, 0, 0, 0, }; -void tst_QScriptValue::toUInt16_makeData(const char* expr) +void tst_QScriptValueGenerated::toUInt16_makeData(const char* expr) { static QHash toUInt16; if (toUInt16.isEmpty()) { @@ -1887,7 +1887,7 @@ void tst_QScriptValue::toUInt16_makeData(const char* expr) newRow(expr) << toUInt16.value(expr); } -void tst_QScriptValue::toUInt16_test(const char*, const QScriptValue& value) +void tst_QScriptValueGenerated::toUInt16_test(const char*, const QScriptValue& value) { QFETCH(quint16, expected); QCOMPARE(value.toUInt16(), expected); -- cgit v0.12 From 3cad94f2b2b2b76a1eafd8ed5bb27492ef7362f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Mon, 1 Nov 2010 17:47:28 +0100 Subject: Don't put Objective-C sources in SOURCES Reviewed-by: Andreas Kling --- config.tests/mac/corewlan/corewlan.pro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.tests/mac/corewlan/corewlan.pro b/config.tests/mac/corewlan/corewlan.pro index 8451af3..a9c2560 100644 --- a/config.tests/mac/corewlan/corewlan.pro +++ b/config.tests/mac/corewlan/corewlan.pro @@ -1,3 +1,3 @@ -SOURCES = corewlantest.mm +OBJECTIVE_SOURCES = corewlantest.mm LIBS += -framework CoreWLAN -framework Foundation CONFIG -= app_bundle qt -- cgit v0.12 From 0956624f7f20665fa4b789654a022a97cdda90c9 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Tue, 2 Nov 2010 15:18:37 +0100 Subject: Fixed destination path for the S60 feedback plugin. Reviewed-by: axis --- src/plugins/s60/feedback/feedback.pro | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/s60/feedback/feedback.pro b/src/plugins/s60/feedback/feedback.pro index 32ddf6f..accff15 100644 --- a/src/plugins/s60/feedback/feedback.pro +++ b/src/plugins/s60/feedback/feedback.pro @@ -2,6 +2,8 @@ include(../../qpluginbase.pri) TARGET = qtactilefeedback$${QT_LIBINFIX} +QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/s60/feedback + INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE contains(S60_VERSION, 5.0)|contains(S60_VERSION, symbian3) { -- cgit v0.12 From a969cc4375186a6875ef450f042dad77f62ee3a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Tue, 2 Nov 2010 15:23:04 +0100 Subject: Don't use scopes in mkspecs as configure does not support them Configure has very basic parsing of mkspecs where it traverses includes, but assumes that the last seen value is the right one. Since this parsing does not take scopes into account we can't use tricks like isEmpty(). Reviewed-by: ossi --- configure | 2 +- mkspecs/common/clang.conf | 3 +++ mkspecs/common/gcc-base.conf | 5 ++--- mkspecs/common/llvm.conf | 3 +++ mkspecs/linux-llvm/qmake.conf | 2 +- mkspecs/macx-g++40/qmake.conf | 11 ++++++++--- mkspecs/macx-g++42/qmake.conf | 11 ++++++++--- mkspecs/macx-llvm/qmake.conf | 2 +- mkspecs/unsupported/linux-clang/qmake.conf | 2 +- mkspecs/unsupported/macx-clang/qmake.conf | 2 +- 10 files changed, 29 insertions(+), 14 deletions(-) diff --git a/configure b/configure index da48dba..115df87 100755 --- a/configure +++ b/configure @@ -3290,7 +3290,7 @@ else CFG_FRAMEWORK=no fi -QMAKE_CONF_COMPILER=`getQMakeConf "$XQMAKESPEC" | grep "\(^\| \)QMAKE_CXX[^_A-Z0-9]" | sed "s,.* *= *\(.*\)$,\1," | tail -1` +QMAKE_CONF_COMPILER=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_CXX[^_A-Z0-9]" | sed "s,.* *= *\(.*\)$,\1," | tail -1` TEST_COMPILER="$CXX" [ -z "$TEST_COMPILER" ] && TEST_COMPILER=$QMAKE_CONF_COMPILER diff --git a/mkspecs/common/clang.conf b/mkspecs/common/clang.conf index f8ab0fe..069cdfa 100644 --- a/mkspecs/common/clang.conf +++ b/mkspecs/common/clang.conf @@ -5,6 +5,9 @@ QMAKE_CC = clang QMAKE_CXX = clang++ +QMAKE_LINK = $$QMAKE_CXX +QMAKE_LINK_SHLIB = $$QMAKE_CXX + CONFIG += clang_pch_style QMAKE_PCH_OUTPUT_EXT = .pch diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf index 2d8a02f..5ba0c31 100644 --- a/mkspecs/common/gcc-base.conf +++ b/mkspecs/common/gcc-base.conf @@ -31,8 +31,7 @@ # you can use the manual test in tests/manual/mkspecs. # -# Allow including configurations to override -isEmpty(QMAKE_CC): QMAKE_CC = gcc +QMAKE_CC = gcc QMAKE_CFLAGS += -pipe QMAKE_CFLAGS_DEPS += -M @@ -45,7 +44,7 @@ QMAKE_CFLAGS_STATIC_LIB += -fPIC QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden -isEmpty(QMAKE_CXX): QMAKE_CXX = g++ +QMAKE_CXX = g++ QMAKE_CXXFLAGS += $$QMAKE_CFLAGS QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS diff --git a/mkspecs/common/llvm.conf b/mkspecs/common/llvm.conf index 3d66357..86e0ab4 100644 --- a/mkspecs/common/llvm.conf +++ b/mkspecs/common/llvm.conf @@ -5,6 +5,9 @@ QMAKE_CC = llvm-gcc QMAKE_CXX = llvm-g++ +QMAKE_LINK = $$QMAKE_CXX +QMAKE_LINK_SHLIB = $$QMAKE_CXX + QMAKE_PCH_OUTPUT_EXT = .gch QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} diff --git a/mkspecs/linux-llvm/qmake.conf b/mkspecs/linux-llvm/qmake.conf index 17db1bb..46ea2aa 100644 --- a/mkspecs/linux-llvm/qmake.conf +++ b/mkspecs/linux-llvm/qmake.conf @@ -10,6 +10,6 @@ QT += core gui QMAKE_INCREMENTAL_STYLE = sublib include(../common/linux.conf) -include(../common/llvm.conf) include(../common/gcc-base-unix.conf) +include(../common/llvm.conf) load(qt_config) diff --git a/mkspecs/macx-g++40/qmake.conf b/mkspecs/macx-g++40/qmake.conf index aa10fa2..07663c6 100644 --- a/mkspecs/macx-g++40/qmake.conf +++ b/mkspecs/macx-g++40/qmake.conf @@ -13,11 +13,16 @@ CONFIG += qt warn_on release app_bundle incremental global_init_link_order lib QT += core gui QMAKE_INCREMENTAL_STYLE = sublib -QMAKE_CC = gcc-4.0 -QMAKE_CXX = g++-4.0 - include(../common/mac.conf) include(../common/gcc-base-macx.conf) include(../common/g++-macx.conf) +QMAKE_CC = gcc-4.0 +QMAKE_CXX = g++-4.0 + +QMAKE_LINK = $$QMAKE_CXX +QMAKE_LINK_SHLIB = $$QMAKE_CXX +QMAKE_LINK_C = $$QMAKE_CC +QMAKE_LINK_C_SHLIB = $$QMAKE_CC + load(qt_config) diff --git a/mkspecs/macx-g++42/qmake.conf b/mkspecs/macx-g++42/qmake.conf index b2be5ed..3d31305 100644 --- a/mkspecs/macx-g++42/qmake.conf +++ b/mkspecs/macx-g++42/qmake.conf @@ -13,11 +13,16 @@ CONFIG += qt warn_on release app_bundle incremental global_init_link_order lib QT += core gui QMAKE_INCREMENTAL_STYLE = sublib -QMAKE_CC = gcc-4.2 -QMAKE_CXX = g++-4.2 - include(../common/mac.conf) include(../common/gcc-base-macx.conf) include(../common/g++-macx.conf) +QMAKE_CC = gcc-4.2 +QMAKE_CXX = g++-4.2 + +QMAKE_LINK = $$QMAKE_CXX +QMAKE_LINK_SHLIB = $$QMAKE_CXX +QMAKE_LINK_C = $$QMAKE_CC +QMAKE_LINK_C_SHLIB = $$QMAKE_CC + load(qt_config) diff --git a/mkspecs/macx-llvm/qmake.conf b/mkspecs/macx-llvm/qmake.conf index 94f9688..d794701 100644 --- a/mkspecs/macx-llvm/qmake.conf +++ b/mkspecs/macx-llvm/qmake.conf @@ -14,8 +14,8 @@ QT += core gui QMAKE_INCREMENTAL_STYLE = sublib include(../common/mac.conf) -include(../common/llvm.conf) include(../common/gcc-base-macx.conf) +include(../common/llvm.conf) QMAKE_OBJCFLAGS_PRECOMPILE = -x objective-c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE diff --git a/mkspecs/unsupported/linux-clang/qmake.conf b/mkspecs/unsupported/linux-clang/qmake.conf index 65eba7b..6b63b7a 100644 --- a/mkspecs/unsupported/linux-clang/qmake.conf +++ b/mkspecs/unsupported/linux-clang/qmake.conf @@ -11,8 +11,8 @@ QT += core gui QMAKE_INCREMENTAL_STYLE = sublib include(../../common/linux.conf) -include(../../common/clang.conf) include(../../common/gcc-base-unix.conf) +include(../../common/clang.conf) QMAKE_LFLAGS += -ccc-gcc-name g++ diff --git a/mkspecs/unsupported/macx-clang/qmake.conf b/mkspecs/unsupported/macx-clang/qmake.conf index aaabf27..3191344 100644 --- a/mkspecs/unsupported/macx-clang/qmake.conf +++ b/mkspecs/unsupported/macx-clang/qmake.conf @@ -10,8 +10,8 @@ QT += core gui QMAKE_INCREMENTAL_STYLE = sublib include(../../common/mac.conf) -include(../../common/clang.conf) include(../../common/gcc-base-macx.conf) +include(../../common/clang.conf) QMAKE_OBJCFLAGS_PRECOMPILE = -x objective-c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -- cgit v0.12 From 43e55352e1daae6b22f55ee58ea9551edd1ebe08 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Tue, 2 Nov 2010 15:35:13 +0100 Subject: Fixed whitespace. --- src/plugins/s60/feedback/feedback.pro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/s60/feedback/feedback.pro b/src/plugins/s60/feedback/feedback.pro index accff15..1069220 100644 --- a/src/plugins/s60/feedback/feedback.pro +++ b/src/plugins/s60/feedback/feedback.pro @@ -2,7 +2,7 @@ include(../../qpluginbase.pri) TARGET = qtactilefeedback$${QT_LIBINFIX} -QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/s60/feedback +QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/s60/feedback INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE -- cgit v0.12 From c04c3fe2bc6a7ffd02052e0c0208b8716907063a Mon Sep 17 00:00:00 2001 From: Jedrzej Nowacki Date: Wed, 3 Nov 2010 10:53:20 +0200 Subject: Refactor tst_QScriptContext::throwError test. The test should use a data set instead of executing the same code block one by one. New function returning a string was added to the check. New case, replacing QSE::evaluate call by QSV::call, was added. Reviewed-by: Kent Hansen --- tests/auto/qscriptcontext/tst_qscriptcontext.cpp | 120 ++++++++++++----------- 1 file changed, 61 insertions(+), 59 deletions(-) diff --git a/tests/auto/qscriptcontext/tst_qscriptcontext.cpp b/tests/auto/qscriptcontext/tst_qscriptcontext.cpp index 99558eb..cbcd16a 100644 --- a/tests/auto/qscriptcontext/tst_qscriptcontext.cpp +++ b/tests/auto/qscriptcontext/tst_qscriptcontext.cpp @@ -68,7 +68,11 @@ private slots: void arguments(); void thisObject(); void returnValue(); - void throwError(); + void throwError_data(); + void throwError_fromEvaluate_data(); + void throwError_fromEvaluate(); + void throwError_fromCpp_data(); + void throwError_fromCpp(); void throwValue(); void evaluateInFunction(); void pushAndPopContext(); @@ -362,73 +366,71 @@ static QScriptValue throw_ErrorAndReturnUndefined(QScriptContext *ctx, QScriptEn return eng->undefinedValue(); } -void tst_QScriptContext::throwError() +static QScriptValue throw_ErrorAndReturnString(QScriptContext *ctx, QScriptEngine *) { - QScriptEngine eng; + return ctx->throwError(QScriptContext::UnknownError, "foo").toString(); +} - { - QScriptValue fun = eng.newFunction(throw_Error); - eng.globalObject().setProperty("throw_Error", fun); - QScriptValue result = eng.evaluate("throw_Error()"); - QCOMPARE(eng.hasUncaughtException(), true); - QCOMPARE(result.isError(), true); - QCOMPARE(result.toString(), QString("Error: foo")); - } +static QScriptValue throw_ErrorAndReturnObject(QScriptContext *ctx, QScriptEngine *eng) +{ + ctx->throwError(QScriptContext::UnknownError, "foo"); + return eng->newObject(); +} - { - QScriptValue fun = eng.newFunction(throw_TypeError); - eng.globalObject().setProperty("throw_TypeError", fun); - QScriptValue result = eng.evaluate("throw_TypeError()"); - QCOMPARE(eng.hasUncaughtException(), true); - QCOMPARE(result.isError(), true); - QCOMPARE(result.toString(), QString("TypeError: foo")); - } +void tst_QScriptContext::throwError_data() +{ + QTest::addColumn("nativeFunctionPtr"); + QTest::addColumn("stringRepresentation"); + + QTest::newRow("Error") << reinterpret_cast(throw_Error) << QString("Error: foo"); + QTest::newRow("TypeError") << reinterpret_cast(throw_TypeError) << QString("TypeError: foo"); + QTest::newRow("ReferenceError") << reinterpret_cast(throw_ReferenceError) << QString("ReferenceError: foo"); + QTest::newRow("SyntaxError") << reinterpret_cast(throw_SyntaxError) << QString("SyntaxError: foo"); + QTest::newRow("RangeError") << reinterpret_cast(throw_RangeError) << QString("RangeError: foo"); + QTest::newRow("URIError") << reinterpret_cast(throw_URIError) << QString("URIError: foo"); + QTest::newRow("ErrorAndReturnUndefined") << reinterpret_cast(throw_ErrorAndReturnUndefined) << QString("Error: foo"); + QTest::newRow("ErrorAndReturnString") << reinterpret_cast(throw_ErrorAndReturnString) << QString("Error: foo"); + QTest::newRow("ErrorAndReturnObject") << reinterpret_cast(throw_ErrorAndReturnObject) << QString("Error: foo"); +} - { - QScriptValue fun = eng.newFunction(throw_ReferenceError); - eng.globalObject().setProperty("throw_ReferenceError", fun); - QScriptValue result = eng.evaluate("throw_ReferenceError()"); - QCOMPARE(eng.hasUncaughtException(), true); - QCOMPARE(result.isError(), true); - QCOMPARE(result.toString(), QString("ReferenceError: foo")); - } +void tst_QScriptContext::throwError_fromEvaluate_data() +{ + throwError_data(); +} - { - QScriptValue fun = eng.newFunction(throw_SyntaxError); - eng.globalObject().setProperty("throw_SyntaxError", fun); - QScriptValue result = eng.evaluate("throw_SyntaxError()"); - QCOMPARE(eng.hasUncaughtException(), true); - QCOMPARE(result.isError(), true); - QCOMPARE(result.toString(), QString("SyntaxError: foo")); - } +void tst_QScriptContext::throwError_fromEvaluate() +{ + QFETCH(void*, nativeFunctionPtr); + QScriptEngine::FunctionSignature nativeFunction = reinterpret_cast(nativeFunctionPtr); + QFETCH(QString, stringRepresentation); + QScriptEngine engine; - { - QScriptValue fun = eng.newFunction(throw_RangeError); - eng.globalObject().setProperty("throw_RangeError", fun); - QScriptValue result = eng.evaluate("throw_RangeError()"); - QCOMPARE(eng.hasUncaughtException(), true); - QCOMPARE(result.isError(), true); - QCOMPARE(result.toString(), QString("RangeError: foo")); - } + QScriptValue fun = engine.newFunction(nativeFunction); + engine.globalObject().setProperty("throw_Error", fun); + QScriptValue result = engine.evaluate("throw_Error()"); + QCOMPARE(engine.hasUncaughtException(), true); + QCOMPARE(result.isError(), true); + QCOMPARE(result.toString(), stringRepresentation); +} - { - QScriptValue fun = eng.newFunction(throw_URIError); - eng.globalObject().setProperty("throw_URIError", fun); - QScriptValue result = eng.evaluate("throw_URIError()"); - QCOMPARE(eng.hasUncaughtException(), true); - QCOMPARE(result.isError(), true); - QCOMPARE(result.toString(), QString("URIError: foo")); - } +void tst_QScriptContext::throwError_fromCpp_data() +{ + throwError_data(); +} - { - QScriptValue fun = eng.newFunction(throw_ErrorAndReturnUndefined); - eng.globalObject().setProperty("throw_ErrorAndReturnUndefined", fun); - QScriptValue result = eng.evaluate("throw_ErrorAndReturnUndefined()"); - QVERIFY(eng.hasUncaughtException()); - QVERIFY(result.isError()); - QCOMPARE(result.toString(), QString("Error: foo")); - } +void tst_QScriptContext::throwError_fromCpp() +{ + QFETCH(void*, nativeFunctionPtr); + QScriptEngine::FunctionSignature nativeFunction = reinterpret_cast(nativeFunctionPtr); + QFETCH(QString, stringRepresentation); + QScriptEngine engine; + QScriptValue fun = engine.newFunction(nativeFunction); + engine.globalObject().setProperty("throw_Error", fun); + QScriptValue result = fun.call(); + QCOMPARE(engine.hasUncaughtException(), true); + QCOMPARE(result.isError(), true); + QCOMPARE(result.toString(), stringRepresentation); } static QScriptValue throw_value(QScriptContext *ctx, QScriptEngine *) -- cgit v0.12 From f0c467b6c5dd060f25fdce08c480c3955d340998 Mon Sep 17 00:00:00 2001 From: Robert Griebl Date: Thu, 28 Oct 2010 17:18:24 +0200 Subject: There is no predefined qmake x11 scope for x11 builds. All the autotests that are using a x11{} scope to add QMAKE_LIBS_X11 to LIBS are actually not adding anything at all, but just happen to build correctly because the standard GNU ld resolves symbols in shared libraries recursively (and libQtGui depends on all those X libs already). Building those tests with GNU gold will lead to undefined X* symbols, since gold doesn't use implicitly dependant libs to resolve symbols. Reviewed-by: Harald Fernengel --- mkspecs/features/qttest_p4.prf | 3 +++ tests/auto/guiapplauncher/guiapplauncher.pro | 1 + 2 files changed, 4 insertions(+) diff --git a/mkspecs/features/qttest_p4.prf b/mkspecs/features/qttest_p4.prf index d1c7c2b..2ee148b 100644 --- a/mkspecs/features/qttest_p4.prf +++ b/mkspecs/features/qttest_p4.prf @@ -1,6 +1,9 @@ isEmpty(TEMPLATE):TEMPLATE=app CONFIG += qt warn_on console depend_includepath testcase +# x11 is not defined by configure (the following line is copied from gui.pro) +!win32:!embedded:!mac:!symbian:CONFIG += x11 + qtAddLibrary(QtTest) symbian:{ diff --git a/tests/auto/guiapplauncher/guiapplauncher.pro b/tests/auto/guiapplauncher/guiapplauncher.pro index 30f5cf4..1fe9c8b 100644 --- a/tests/auto/guiapplauncher/guiapplauncher.pro +++ b/tests/auto/guiapplauncher/guiapplauncher.pro @@ -3,6 +3,7 @@ # ------------------------------------------------- # Link against gui for X11,etc. +load(qttest_p4) DEFINES += SRCDIR=\\\"$$PWD/\\\" TARGET = tst_guiapplauncher -- cgit v0.12 From 6d6b27203a5d28d7ed546110e9103d62b9060814 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Thu, 4 Nov 2010 13:14:47 +0100 Subject: Optimize and clean up QClipData::fixup() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit WebKit was hitting this function pretty hard in SVG space invaders demo: http://croczilla.com/bits_and_pieces/svg/samples/invaders/invaders.svg This patch cuts time spent in QClipData::fixup() from 6% to 2%. Reviewed-by: Samuel Rødal --- src/gui/painting/qpaintengine_raster.cpp | 38 +++++++++++++++++--------------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp index a2da94c..8088e63 100644 --- a/src/gui/painting/qpaintengine_raster.cpp +++ b/src/gui/painting/qpaintengine_raster.cpp @@ -4629,38 +4629,40 @@ void QClipData::fixup() return; } -// qDebug("QClipData::fixup: count=%d",count); int y = -1; ymin = m_spans[0].y; ymax = m_spans[count-1].y + 1; xmin = INT_MAX; xmax = 0; + const int firstLeft = m_spans[0].x; + const int firstRight = m_spans[0].x + m_spans[0].len; bool isRect = true; - int left = m_spans[0].x; - int right = m_spans[0].x + m_spans[0].len; for (int i = 0; i < count; ++i) { - if (m_spans[i].y != y) { - if (m_spans[i].y != y + 1 && y != -1) { + QT_FT_Span_& span = m_spans[i]; + + if (span.y != y) { + if (span.y != y + 1 && y != -1) isRect = false; - } - y = m_spans[i].y; - m_clipLines[y].spans = m_spans+i; - m_clipLines[y].count = 0; -// qDebug() << " new line: y=" << y; - } - ++m_clipLines[y].count; - int sl = (int) m_spans[i].x; - int sr = sl + m_spans[i].len; + y = span.y; + m_clipLines[y].spans = &span; + m_clipLines[y].count = 1; + } else + ++m_clipLines[y].count; + + const int spanLeft = span.x; + const int spanRight = spanLeft + span.len; + + if (spanLeft < xmin) + xmin = spanLeft; - xmin = qMin(xmin, (int)m_spans[i].x); - xmax = qMax(xmax, (int)m_spans[i].x + m_spans[i].len); + if (spanRight > xmax) + xmax = spanRight; - if (sl != left || sr != right) + if (spanLeft != firstLeft || spanRight != firstRight) isRect = false; } -// qDebug("xmin=%d,xmax=%d,ymin=%d,ymax=%d %s", xmin, xmax, ymin, ymax, isRect ? "rectangular" : ""); if (isRect) { hasRectClip = true; -- cgit v0.12 From 0fe5cbce817529bbf05f07e34f38d6116e89f819 Mon Sep 17 00:00:00 2001 From: Jedrzej Nowacki Date: Fri, 5 Nov 2010 12:11:50 +0200 Subject: Split QScriptValue::call autotest into smaller tests. The test was testing too much. Split them into more manageable chunks. Reviewed-by: Kent Hansen --- tests/auto/qscriptvalue/tst_qscriptvalue.cpp | 293 +++++++++++++++------------ tests/auto/qscriptvalue/tst_qscriptvalue.h | 11 + 2 files changed, 173 insertions(+), 131 deletions(-) diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp index c7f496b..be51cf2 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp @@ -2562,83 +2562,89 @@ static QScriptValue returnInvalidValue(QScriptContext *, QScriptEngine *) return QScriptValue(); } -void tst_QScriptValue::call() +void tst_QScriptValue::call_function() { QScriptEngine eng; + QScriptValue fun = eng.evaluate("(function() { return 1; })"); + QVERIFY(fun.isFunction()); + QScriptValue result = fun.call(); + QVERIFY(result.isNumber()); + QCOMPARE(result.toInt32(), 1); +} - { - QScriptValue fun = eng.evaluate("(function() { return 1; })"); - QVERIFY(fun.isFunction()); - QScriptValue result = fun.call(); - QVERIFY(result.isNumber()); - QCOMPARE(result.toInt32(), 1); - } - +void tst_QScriptValue::call_object() +{ + QScriptEngine eng; QScriptValue Object = eng.evaluate("Object"); QCOMPARE(Object.isFunction(), true); - { - QScriptValue result = Object.call(Object); - QCOMPARE(result.isObject(), true); - } + QScriptValue result = Object.call(Object); + QCOMPARE(result.isObject(), true); +} +void tst_QScriptValue::call_newObjects() +{ + QScriptEngine eng; // test that call() doesn't construct new objects QScriptValue Number = eng.evaluate("Number"); + QScriptValue Object = eng.evaluate("Object"); QCOMPARE(Object.isFunction(), true); - { - QScriptValueList args; - args << QScriptValue(&eng, 123); - QScriptValue result = Number.call(Object, args); - QCOMPARE(result.strictlyEquals(args.at(0)), true); - } + QScriptValueList args; + args << QScriptValue(&eng, 123); + QScriptValue result = Number.call(Object, args); + QCOMPARE(result.strictlyEquals(args.at(0)), true); +} +void tst_QScriptValue::call_this() +{ + QScriptEngine eng; // test that correct "this" object is used - { - QScriptValue fun = eng.evaluate("(function() { return this; })"); - QCOMPARE(fun.isFunction(), true); + QScriptValue fun = eng.evaluate("(function() { return this; })"); + QCOMPARE(fun.isFunction(), true); - { - QScriptValue numberObject = QScriptValue(&eng, 123.0).toObject(); - QScriptValue result = fun.call(numberObject); - QCOMPARE(result.isObject(), true); - QCOMPARE(result.toNumber(), 123.0); - } - } + QScriptValue numberObject = QScriptValue(&eng, 123.0).toObject(); + QScriptValue result = fun.call(numberObject); + QCOMPARE(result.isObject(), true); + QCOMPARE(result.toNumber(), 123.0); +} +void tst_QScriptValue::call_arguments() +{ + QScriptEngine eng; // test that correct arguments are passed - { - QScriptValue fun = eng.evaluate("(function() { return arguments[0]; })"); - QCOMPARE(fun.isFunction(), true); - { - QScriptValue result = fun.call(eng.undefinedValue()); - QCOMPARE(result.isUndefined(), true); - } - - { - QScriptValueList args; - args << QScriptValue(&eng, 123.0); - QScriptValue result = fun.call(eng.undefinedValue(), args); - QCOMPARE(result.isNumber(), true); - QCOMPARE(result.toNumber(), 123.0); - } - - // V2 constructors - { - QScriptValueList args; - args << QScriptValue(123.0); - QScriptValue result = fun.call(eng.undefinedValue(), args); - QCOMPARE(result.isNumber(), true); - QCOMPARE(result.toNumber(), 123.0); - } - { - QScriptValue args = eng.newArray(); - args.setProperty(0, 123); - QScriptValue result = fun.call(eng.undefinedValue(), args); - QVERIFY(result.isNumber()); - QCOMPARE(result.toNumber(), 123.0); - } + QScriptValue fun = eng.evaluate("(function() { return arguments[0]; })"); + QCOMPARE(fun.isFunction(), true); + { + QScriptValue result = fun.call(eng.undefinedValue()); + QCOMPARE(result.isUndefined(), true); + } + { + QScriptValueList args; + args << QScriptValue(&eng, 123.0); + QScriptValue result = fun.call(eng.undefinedValue(), args); + QCOMPARE(result.isNumber(), true); + QCOMPARE(result.toNumber(), 123.0); + } + // V2 constructors + { + QScriptValueList args; + args << QScriptValue(123.0); + QScriptValue result = fun.call(eng.undefinedValue(), args); + QCOMPARE(result.isNumber(), true); + QCOMPARE(result.toNumber(), 123.0); + } + { + QScriptValue args = eng.newArray(); + args.setProperty(0, 123); + QScriptValue result = fun.call(eng.undefinedValue(), args); + QVERIFY(result.isNumber()); + QCOMPARE(result.toNumber(), 123.0); } +} +void tst_QScriptValue::call() +{ + QScriptEngine eng; { QScriptValue fun = eng.evaluate("(function() { return arguments[1]; })"); QCOMPARE(fun.isFunction(), true); @@ -2659,7 +2665,6 @@ void tst_QScriptValue::call() QCOMPARE(result.toNumber(), 456.0); } } - { QScriptValue fun = eng.evaluate("(function() { throw new Error('foo'); })"); QCOMPARE(fun.isFunction(), true); @@ -2672,7 +2677,6 @@ void tst_QScriptValue::call() QVERIFY(result.strictlyEquals(eng.uncaughtException())); } } - { eng.clearExceptions(); QScriptValue fun = eng.newFunction(getArg); @@ -2700,7 +2704,6 @@ void tst_QScriptValue::call() QCOMPARE(result.toNumber(), 123.0); } } - { QScriptValue fun = eng.newFunction(evaluateArg); { @@ -2712,11 +2715,12 @@ void tst_QScriptValue::call() QCOMPARE(result.toNumber(), 123.0); } } +} - QScriptValue inv; - QCOMPARE(inv.call().isValid(), false); - +void tst_QScriptValue::call_invalidArguments() +{ // test that invalid arguments are handled gracefully + QScriptEngine eng; { QScriptValue fun = eng.newFunction(getArg); { @@ -2749,6 +2753,35 @@ void tst_QScriptValue::call() QCOMPARE(qIsNaN(ret.toNumber()), true); } } +} + +void tst_QScriptValue::call_invalidReturn() +{ + // test that invalid return value is handled gracefully + QScriptEngine eng; + QScriptValue fun = eng.newFunction(returnInvalidValue); + eng.globalObject().setProperty("returnInvalidValue", fun); + QScriptValue ret = eng.evaluate("returnInvalidValue() + returnInvalidValue()"); + QCOMPARE(ret.isValid(), true); + QCOMPARE(ret.isNumber(), true); + QCOMPARE(qIsNaN(ret.toNumber()), true); +} + +void tst_QScriptValue::call_twoEngines() +{ + QScriptEngine eng; + QScriptValue object = eng.evaluate("Object"); + QScriptEngine otherEngine; + QScriptValue fun = otherEngine.evaluate("(function() { return 1; })"); + QVERIFY(fun.isFunction()); + QTest::ignoreMessage(QtWarningMsg, "QScriptValue::call() failed: " + "cannot call function with thisObject created in " + "a different engine"); + QCOMPARE(fun.call(object).isValid(), false); + QTest::ignoreMessage(QtWarningMsg, "QScriptValue::call() failed: " + "cannot call function with argument created in " + "a different engine"); + QCOMPARE(fun.call(QScriptValue(), QScriptValueList() << QScriptValue(&eng, 123)).isValid(), false); { QScriptValue fun = eng.evaluate("Object"); QVERIFY(fun.isFunction()); @@ -2759,76 +2792,74 @@ void tst_QScriptValue::call() QTest::ignoreMessage(QtWarningMsg, "QScriptValue::call() failed: cannot call function with argument created in a different engine"); fun.call(QScriptValue(), args); } +} - // test that invalid return value is handled gracefully - { - QScriptValue fun = eng.newFunction(returnInvalidValue); - eng.globalObject().setProperty("returnInvalidValue", fun); - QScriptValue ret = eng.evaluate("returnInvalidValue() + returnInvalidValue()"); - QCOMPARE(ret.isValid(), true); - QCOMPARE(ret.isNumber(), true); - QCOMPARE(qIsNaN(ret.toNumber()), true); - } +void tst_QScriptValue::call_array() +{ + QScriptEngine eng; + QScriptValue fun = eng.evaluate("(function() { return arguments; })"); + QVERIFY(fun.isFunction()); + QScriptValue array = eng.newArray(3); + array.setProperty(0, QScriptValue(&eng, 123.0)); + array.setProperty(1, QScriptValue(&eng, 456.0)); + array.setProperty(2, QScriptValue(&eng, 789.0)); + // call with single array object as arguments + QScriptValue ret = fun.call(QScriptValue(), array); + QVERIFY(!eng.hasUncaughtException()); + QCOMPARE(ret.isError(), false); + QCOMPARE(ret.property(0).strictlyEquals(array.property(0)), true); + QCOMPARE(ret.property(1).strictlyEquals(array.property(1)), true); + QCOMPARE(ret.property(2).strictlyEquals(array.property(2)), true); + // call with arguments object as arguments + QScriptValue ret2 = fun.call(QScriptValue(), ret); + QCOMPARE(ret2.isError(), false); + QCOMPARE(ret2.property(0).strictlyEquals(ret.property(0)), true); + QCOMPARE(ret2.property(1).strictlyEquals(ret.property(1)), true); + QCOMPARE(ret2.property(2).strictlyEquals(ret.property(2)), true); + // call with null as arguments + QScriptValue ret3 = fun.call(QScriptValue(), eng.nullValue()); + QCOMPARE(ret3.isError(), false); + QCOMPARE(ret3.property("length").isNumber(), true); + QCOMPARE(ret3.property("length").toNumber(), 0.0); + // call with undefined as arguments + QScriptValue ret4 = fun.call(QScriptValue(), eng.undefinedValue()); + QCOMPARE(ret4.isError(), false); + QCOMPARE(ret4.property("length").isNumber(), true); + QCOMPARE(ret4.property("length").toNumber(), 0.0); + // call with something else as arguments + QScriptValue ret5 = fun.call(QScriptValue(), QScriptValue(&eng, 123.0)); + QCOMPARE(ret5.isError(), true); + // call with a non-array object as arguments + QScriptValue ret6 = fun.call(QScriptValue(), eng.globalObject()); + QVERIFY(ret6.isError()); + QCOMPARE(ret6.toString(), QString::fromLatin1("TypeError: Arguments must be an array")); +} + + +void tst_QScriptValue::call_nonFunction_data() +{ + newEngine(); + QTest::addColumn("value"); - { - QScriptEngine otherEngine; - QScriptValue fun = otherEngine.evaluate("(function() { return 1; })"); - QVERIFY(fun.isFunction()); - QTest::ignoreMessage(QtWarningMsg, "QScriptValue::call() failed: " - "cannot call function with thisObject created in " - "a different engine"); - QCOMPARE(fun.call(Object).isValid(), false); - QTest::ignoreMessage(QtWarningMsg, "QScriptValue::call() failed: " - "cannot call function with argument created in " - "a different engine"); - QCOMPARE(fun.call(QScriptValue(), QScriptValueList() << QScriptValue(&eng, 123)).isValid(), false); - } + QTest::newRow("invalid") << QScriptValue(); + QTest::newRow("bool") << QScriptValue(false); + QTest::newRow("int") << QScriptValue(123); + QTest::newRow("string") << QScriptValue(QString::fromLatin1("ciao")); + QTest::newRow("undefined") << QScriptValue(QScriptValue::UndefinedValue); + QTest::newRow("null") << QScriptValue(QScriptValue::NullValue); - { - QScriptValue fun = eng.evaluate("(function() { return arguments; })"); - QVERIFY(fun.isFunction()); - QScriptValue array = eng.newArray(3); - array.setProperty(0, QScriptValue(&eng, 123.0)); - array.setProperty(1, QScriptValue(&eng, 456.0)); - array.setProperty(2, QScriptValue(&eng, 789.0)); - // call with single array object as arguments - QScriptValue ret = fun.call(QScriptValue(), array); - QVERIFY(!eng.hasUncaughtException()); - QCOMPARE(ret.isError(), false); - QCOMPARE(ret.property(0).strictlyEquals(array.property(0)), true); - QCOMPARE(ret.property(1).strictlyEquals(array.property(1)), true); - QCOMPARE(ret.property(2).strictlyEquals(array.property(2)), true); - // call with arguments object as arguments - QScriptValue ret2 = fun.call(QScriptValue(), ret); - QCOMPARE(ret2.isError(), false); - QCOMPARE(ret2.property(0).strictlyEquals(ret.property(0)), true); - QCOMPARE(ret2.property(1).strictlyEquals(ret.property(1)), true); - QCOMPARE(ret2.property(2).strictlyEquals(ret.property(2)), true); - // call with null as arguments - QScriptValue ret3 = fun.call(QScriptValue(), eng.nullValue()); - QCOMPARE(ret3.isError(), false); - QCOMPARE(ret3.property("length").isNumber(), true); - QCOMPARE(ret3.property("length").toNumber(), 0.0); - // call with undefined as arguments - QScriptValue ret4 = fun.call(QScriptValue(), eng.undefinedValue()); - QCOMPARE(ret4.isError(), false); - QCOMPARE(ret4.property("length").isNumber(), true); - QCOMPARE(ret4.property("length").toNumber(), 0.0); - // call with something else as arguments - QScriptValue ret5 = fun.call(QScriptValue(), QScriptValue(&eng, 123.0)); - QCOMPARE(ret5.isError(), true); - // call with a non-array object as arguments - QScriptValue ret6 = fun.call(QScriptValue(), eng.globalObject()); - QVERIFY(ret6.isError()); - QCOMPARE(ret6.toString(), QString::fromLatin1("TypeError: Arguments must be an array")); - } + QTest::newRow("bool bound") << QScriptValue(engine, false); + QTest::newRow("int bound") << QScriptValue(engine, 123); + QTest::newRow("string bound") << QScriptValue(engine, QString::fromLatin1("ciao")); + QTest::newRow("undefined bound") << engine->undefinedValue(); + QTest::newRow("null bound") << engine->nullValue(); +} +void tst_QScriptValue::call_nonFunction() +{ // calling things that are not functions - QVERIFY(!QScriptValue(false).call().isValid()); - QVERIFY(!QScriptValue(123).call().isValid()); - QVERIFY(!QScriptValue(QString::fromLatin1("ciao")).call().isValid()); - QVERIFY(!QScriptValue(QScriptValue::UndefinedValue).call().isValid()); - QVERIFY(!QScriptValue(QScriptValue::NullValue).call().isValid()); + QFETCH(QScriptValue, value); + QVERIFY(!value.call().isValid()); } static QScriptValue ctorReturningUndefined(QScriptContext *ctx, QScriptEngine *) diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.h b/tests/auto/qscriptvalue/tst_qscriptvalue.h index 977b3a5..45a109e 100644 --- a/tests/auto/qscriptvalue/tst_qscriptvalue.h +++ b/tests/auto/qscriptvalue/tst_qscriptvalue.h @@ -140,7 +140,18 @@ private slots: 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(); void construct_constructorThrowsPrimitive(); void castToPointer(); -- cgit v0.12 From 65a2801c18b5de9f3eec941837e4999b989eed20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Fri, 5 Nov 2010 14:32:54 +0100 Subject: configure: Deal with multiple redefinitions of qmake variables The function setBootstrapVariable() did not account for multiple definitions of the same variable, eg. QMAKE_CC=foo; QMAKE_CC=bar We now look for '+=' and only append the values if this is found, otherwise we reset the variable to the given value, and continue looking for extra values. Reviewed-by: ossi --- configure | 38 ++++++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/configure b/configure index 80ebd9e..dae167c 100755 --- a/configure +++ b/configure @@ -4696,27 +4696,37 @@ fi # $2: optional transformation # relies on $QMAKESPEC, $COMPILER_CONF and $mkfile being set correctly, as the latter # is where the resulting variable is written to +# Assumes that the optional transformation produces the same variable name for each hit setBootstrapVariable() { getQMakeConf | $AWK '/^('"$1"')[^_A-Z0-9]/ { print $0; }' | ( [ -n "$2" ] && sed "$2" ; [ -z "$2" ] && cat ) | $AWK ' +BEGIN { + variable = "" + combinedValue = "" +} { - varLength = index($0, "=") - 1 - valStart = varLength + 2 - if (substr($0, varLength, 1) == "+") { - varLength = varLength - 1 - valStart = valStart + 1 + valStart = index($0, "=") + 1 + + append = 0 + if (substr($0, valStart - 2, 1) == "+") { + append = 1 + } + + variable = substr($0, 0, valStart - 2 - append) + value = substr($0, valStart) + gsub("[ \t]+", "", variable) + gsub("^[ \t]+", "", value) + gsub("[ \t]+$", "", value) + + if (append == 1 && length(combinedValue) > 0) { + combinedValue = combinedValue " " value + } else { + combinedValue = value } - var = substr($0, 0, varLength) - gsub("[ \t]+", "", var) - val = substr($0, valStart) - printf "%s_%s = %s\n", var, NR, val } END { - if (length(var) > 0) { - printf "%s =", var - for (i = 1; i <= NR; ++i) - printf " $(%s_%s)", var, i - printf "\n" + if (length(combinedValue) > 0) { + printf "%s = %s\n", variable, combinedValue } }' >> "$mkfile" } -- cgit v0.12 From 9ffa8e5585bb7469034149c28f8d4f639f58f1f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Fri, 5 Nov 2010 15:50:00 +0100 Subject: mkspecs: Include gcc-base-unix.conf from g++.conf to match old behavior Reviewed-by: ossi --- mkspecs/common/g++.conf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mkspecs/common/g++.conf b/mkspecs/common/g++.conf index 0ca4fbd..c5a34a9 100644 --- a/mkspecs/common/g++.conf +++ b/mkspecs/common/g++.conf @@ -7,5 +7,6 @@ warning($$escape_expand("Your mkspec is including 'common/g++.conf', but the mkspecs have been refactored\\n\\tTo fix this include 'common/gcc-base-$${TARGET_PLATFORM}.conf and 'common/g++-$${TARGET_PLATFORM}.conf' instead")) -# We include g++-unix.conf to keep the behavior of the old g++.conf -include(g++-unix.conf) \ No newline at end of file +# We include gcc-base-unix.conf and g++-unix.conf to keep the behavior of the old g++.conf +include(gcc-base-unix.conf) +include(g++-unix.conf) -- cgit v0.12 From 722f4c34bdd4a2f2fa067b7c4c84b2dbe2f2033c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Fri, 5 Nov 2010 15:53:24 +0100 Subject: mkspecs: Make linux-x86-openkode-g++ not include g++.conf directly Reviewed-by: ossi --- mkspecs/unsupported/qws/linux-x86-openkode-g++/qmake.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mkspecs/unsupported/qws/linux-x86-openkode-g++/qmake.conf b/mkspecs/unsupported/qws/linux-x86-openkode-g++/qmake.conf index 36ad503..b891c5e 100644 --- a/mkspecs/unsupported/qws/linux-x86-openkode-g++/qmake.conf +++ b/mkspecs/unsupported/qws/linux-x86-openkode-g++/qmake.conf @@ -2,7 +2,8 @@ # qmake configuration for building with linux-g++ # -include(../../../common/g++.conf) +include(../../../common/gcc-base-unix.conf) +include(../../../common/g++-unix.conf) include(../../../common/linux.conf) include(../../../common/qws.conf) -- cgit v0.12 From 3d1b93ce6a48ee4c305c052e165e7b16f6326bd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Fri, 5 Nov 2010 15:54:54 +0100 Subject: mkspecs: Move QMAKE_CC and QMAKE_CXX from gcc-base.conf to g++-base.conf Since gcc-base is used for Clang and LLVM as well, we should not define QMAKE_CC and QMAKE_CXX there. Moving it to g++-base.conf reduces the risk of parsing errors in configure such as the one in dacda67ee449b6291. Reviewed-by: ossi --- mkspecs/common/g++-base.conf | 13 ++++++++++--- mkspecs/common/gcc-base.conf | 7 ------- mkspecs/macx-g++/qmake.conf | 3 --- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/mkspecs/common/g++-base.conf b/mkspecs/common/g++-base.conf index d73b38f..eb5b7d6 100644 --- a/mkspecs/common/g++-base.conf +++ b/mkspecs/common/g++-base.conf @@ -8,13 +8,20 @@ # you can use the manual test in tests/manual/mkspecs. # -QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -g - -QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO +QMAKE_CC = gcc QMAKE_LINK_C = $$QMAKE_CC QMAKE_LINK_C_SHLIB = $$QMAKE_CC +QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -g + +QMAKE_CXX = g++ + +QMAKE_LINK = $$QMAKE_CXX +QMAKE_LINK_SHLIB = $$QMAKE_CXX + +QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO + QMAKE_PCH_OUTPUT_EXT = .gch QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf index 5ba0c31..0e90666 100644 --- a/mkspecs/common/gcc-base.conf +++ b/mkspecs/common/gcc-base.conf @@ -31,8 +31,6 @@ # you can use the manual test in tests/manual/mkspecs. # -QMAKE_CC = gcc - QMAKE_CFLAGS += -pipe QMAKE_CFLAGS_DEPS += -M QMAKE_CFLAGS_WARN_ON += -Wall -W @@ -44,8 +42,6 @@ QMAKE_CFLAGS_STATIC_LIB += -fPIC QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden -QMAKE_CXX = g++ - QMAKE_CXXFLAGS += $$QMAKE_CFLAGS QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON @@ -57,9 +53,6 @@ QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden -QMAKE_LINK = $$QMAKE_CXX -QMAKE_LINK_SHLIB = $$QMAKE_CXX - QMAKE_LFLAGS += QMAKE_LFLAGS_DEBUG += QMAKE_LFLAGS_APP += diff --git a/mkspecs/macx-g++/qmake.conf b/mkspecs/macx-g++/qmake.conf index 0fd2c74..e402e54 100644 --- a/mkspecs/macx-g++/qmake.conf +++ b/mkspecs/macx-g++/qmake.conf @@ -13,9 +13,6 @@ CONFIG += qt warn_on release app_bundle incremental global_init_link_order lib QT += core gui QMAKE_INCREMENTAL_STYLE = sublib -QMAKE_CC = gcc -QMAKE_CXX = g++ - include(../common/mac.conf) include(../common/gcc-base-macx.conf) include(../common/g++-macx.conf) -- cgit v0.12