aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix return type checks in test.Erik Verbruggen2013-09-091-4/+16
| | | | | | | | | | | | When calling into JavaScript, the specific type of the return value can differ if that return value is a number. This is not only the case for non-integral numbers, or numbers that do not fit into the (signed) integer range, but it also depends on which optimizations are run. to check if the return value is of a number type, use this method instead of checking against a specific userType. Change-Id: I0464c062bd617c83b7a1e887f7853aa5cd8f43e4 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Merge branch 'stable' into devSergio Ahumada2013-09-061-1/+0
|\ | | | | | | | | | | | | | | | | Conflicts: src/qml/debugger/qv8debugservice.cpp src/qml/qml/v8/qv8engine.cpp tests/auto/quick/qquickitem/qquickitem.pro Change-Id: Ic4a1dcdd8b8a84155d2f2abefdf1da5c3a56af31
| * Fix crash tst_qqmllanguageDominik Holland2013-09-051-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | qmlClearTypeRegistrations() shouldn't be called when instances of QQmlEngine are still open. This can lead to unexpected behavior. For the qmlClearTypeRegistrations() function there is separate autotest Task-number: QTBUG-32078 Change-Id: I32612bc82602593d902bbffc58911e427b50524f Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* | The fast and the furious, register drift.Erik Verbruggen2013-08-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable the register allocator for X86_64 on Linux and MacOS. The implications are: - handle as much as possible with current code with as few changes as possible - temporarily force the register allocator to spill unop/binop arguments to the stack by doing a call in the implementation (as is the current case), so no change is needed here - only have loadThis and loadConst handle registers - have any method that might need to handle registrers actually cope with them - the inline versions of binops are not generated, as they cannot cope with registers. This will change when ISel for binops is added in the next patch. This means that we are still running with the handbrakes on, but allow for full-throttle in certain/limited cases. Note about the changed test: multiplication always returns a Number (double), so the operands are passed as doubles, so __qmljs_mul will return a double. For addition this is different: because it might return a Number or a String, the operands are passed as whatever fits best. So __qmljs_add will return an int when both operands are ints. Hence the change to the tests. Change-Id: If5bd7dffca8f7de5ba45af700b9c7bb568fc74b7 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Merge branch 'dev' of ssh://codereview.qt-project.org/qt/qtdeclarative into ↵Simon Hausmann2013-07-261-0/+12
|\| | | | | | | | | | | merge Change-Id: I5824a3eb624b325de10acfd5109c4c1bdabcf780
| * Forward port auto test for fix in QtQuick1Simon Hausmann2013-07-171-0/+12
| | | | | | | | | | | | | | | | | | | | This is the auto-test part of https://codereview.qt-project.org/#change,61117 The test passes as-is but we should forward the fix to ensure that we don't regress. Change-Id: Ief8fcfc29d671f33cd1b2c3bab7acfd4fcd1df2b Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
* | Merge branch 'dev' of ssh://codereview.qt-project.org/qt/qtdeclarative into ↵Simon Hausmann2013-06-241-0/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | wip/v4 Conflicts: src/imports/qtquick2/plugins.qmltypes src/qml/debugger/qv8debugservice.cpp src/qml/qml/qml.pri src/qml/qml/qqmlcompiler.cpp src/qml/qml/qqmlcomponent.cpp src/qml/qml/qqmlcontext.cpp src/qml/qml/qqmldata_p.h src/qml/qml/qqmlengine_p.h src/qml/qml/qqmljavascriptexpression.cpp src/qml/qml/qqmlxmlhttprequest.cpp src/qml/qml/v4/qv4bindings.cpp src/qml/qml/v4/qv4irbuilder.cpp src/qml/qml/v4/qv4jsonobject_p.h src/qml/qml/v8/qqmlbuiltinfunctions.cpp src/qml/qml/v8/qv8bindings.cpp src/qml/qml/v8/qv8contextwrapper.cpp src/qml/qml/v8/qv8listwrapper.cpp src/qml/qml/v8/qv8qobjectwrapper.cpp src/qml/qml/v8/qv8qobjectwrapper_p.h src/qml/qml/v8/qv8sequencewrapper_p_p.h src/qml/qml/v8/qv8typewrapper.cpp src/qml/qml/v8/qv8valuetypewrapper.cpp src/qml/types/qqmldelegatemodel.cpp src/quick/items/context2d/qquickcanvasitem.cpp src/quick/items/context2d/qquickcontext2d.cpp sync.profile tests/auto/qml/qjsengine/tst_qjsengine.cpp tests/benchmarks/qml/animation/animation.pro tools/qmlprofiler/qmlprofiler.pro Change-Id: I18a76b8a81d87523247fa03a44ca334b1a2360c9
| * Add qmlClearRegisteredTypes FunctionAlan Alpert2013-05-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | Registered types are stored in a global static variable, not on an engine instance. For applications managing multiple engines over their lifetime, there needs to be a way to clear the existing types so they can register new ones and avoid memory leaks. Task-Number: QTBUG-28572 Change-Id: Ic70a4dd1e29d99399b21fb42eaf10d4a52bf2adf Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
* | Fix url test in qqmllanguageSimon Hausmann2013-06-171-1/+0
|/ | | | | | | | | | In V4 URLs were mapped to strings, with V8 they were mapped to opaque variants, which is also what we do with v4 at the moment. In the future we want to provide a real JS API for URLs, but that is a feature that should be discussed in a wider scope and developed on the dev branch. Change-Id: I17660066b2797239eddebad03f49ffa424f86f78 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Delay loading implicit importAlan Alpert2013-03-271-0/+31
| | | | | | | | As a performance improvement to avoid extra filesystem access, only import "." if it is needed for type resolution. Change-Id: If9be25deb3205f8c81f9f418404d9fb41bebb84f Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
* Add qmlRegisterType for Composite TypesAlan Alpert2013-02-181-0/+19
| | | | | | | | | This is equivalent functionality to registering a composite type in a qmldir file, a type name in a versioned module is associated with a given file. This function now allows that to be done easily from C++. Change-Id: I1cf44b92c3ad7fee593f4f84773c35b56253e628 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Merge branch 'stable' into devGunnar Sletta2013-01-171-1/+1
|\ | | | | | | | | | | | | | | Conflicts: src/qml/doc/qtqml.qdocconf src/quick/doc/qtquick.qdocconf Change-Id: I087fa14720995a5e53c43567dc4a3c29eb9992a9
| * Update copyright year in Digia's license headersSergio Ahumada2013-01-101-1/+1
| | | | | | | | | | | | Change-Id: I6c3bd7bebe3d62d1cfd0fa6334544c9db8398c76 Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* | Make numeric-literal parsing even more robust.Erik Verbruggen2013-01-161-1/+2
| | | | | | | | | | | | | | | | The numeric value could overflow a unsigned 64-bit integer, so instead just buffer the string and have libc's strtod handle all the conversion. Change-Id: I220e490ddc22363460b0df65a91b47336e747310 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Make numeric-literal parsing more robust.Erik Verbruggen2013-01-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | For cases where large non-fp numeric literals might end up triggering coversion or rounding errors when stored as doubles when lexing. This is a corner case, but it does trigger a case or two in the ECMA5 test suite (test262). Change-Id: Ie6d355e28379aba9a339c4e345b5d2a0c32d5fdd Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Merge branch 'stable' into devFrederik Gladhorn2013-01-041-87/+85
|\| | | | | | | | | | | | | | | | | Conflicts: src/qml/qml/parser/qqmljskeywords_p.h sync.profile tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp Change-Id: I9bc6659e1bab924009167bec567354d40a77a8cb
| * Fix compiler warnings in declarative tests.Friedemann Kleint2012-12-201-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | - Unused variables - Missing enumeration values in switch - truncation from double to float - truncation from size_t to int - Missing initializers - Mix of operator & and bool | Change-Id: Ib212aeea41befef193f12300a1d9814a60f183af Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| * Fix tst_qqmllanguage for MSVC.Friedemann Kleint2012-12-181-3/+2
| | | | | | | | | | | | | | | | | | Do not use \u. Task-number: QTBUG-28611 Change-Id: I85fce2f945c97421b8b35fb8276cd4ee3cc19d38 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
| * Remove 'com.nokia' string from autotestAlan Alpert2012-12-051-78/+78
| | | | | | | | | | Change-Id: Ic318dbe7a48412e9689ca0f4506c7098d9f48b5e Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
* | Fix the test suiteLars Knoll2012-12-111-2/+2
|/ | | | | | | | | | | | We now fail when parsing octal numbers or escape sequences. This is ok according to the EcmaScript 5.1 spec. So remove all usages of these numbers or sequences. In addition delete an invalid test case that can't possibly be parsed correctly. V8 also chokes on it. Change-Id: I889de2810310f38206343d16175f9e31ddb44d30 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* Limit case-sensitivity check in QML to file names.Friedemann Kleint2012-11-301-4/+5
| | | | | | | | | | Provide for checking relative paths only; default to file names. Currently, the checking triggers on a drive letters and installation folder names, which is too strict. Task-number: QTBUG-28277 Change-Id: I1174bb0c485eeb1ffee10bb2a523d6629c57728b Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-231-24/+24
| | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: Ie7f5d49ed8235d7a7845ab68f99ad1c220e64d5c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Restrict v8 property lookup to the execution contextMatthew Vogt2012-08-271-0/+11
| | | | | | | | | | | | | When resolving property names, only properties known to the current context of execution should be available. If a property name has been overriden by a component extension, code executing in the context of the base component should resolve the property name to the property available inside the base component or its bases. Task-number: QTBUG-24891 Change-Id: I9687cc28e108226d5a939627a901c8254344b598 Reviewed-by: Michael Brasser <michael.brasser@nokia.com> Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Fix crash in signal change notification overrideChris Adams2012-08-161-0/+33
| | | | | | | | | | | | | | | Manual overrides of automatically generated property change notification signals can cause crashes. They also don't work properly in the situations where they don't crash. This patch ensures that it is now a compile error to attempt to override a signal with a manual signal or slot. Note that this includes signals defined in superclasses. Task-number: QTBUG-26723 Task-number: QTBUG-26818 Change-Id: I4ecf448ce9de5d97526606126991e280debea2d6 Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Allow signal parameters which are custom QML object-typesChris Adams2012-08-081-0/+24
| | | | | | | | | | | This commit allows lazy resolution of signal parameter types, which allows QML object types to be used as signal parameters. If a signal is emitted with an incorrect parameter type, it will be passed through as a null parameter. Task-number: QTBUG-14550 Change-Id: I7e899ad57452826cc405bed10c541f8d35789d04 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Make QQmlScriptString opaque.Michael Brasser2012-08-031-9/+42
| | | | | | | | Allow for future optimization by encapsulating the raw script data. Change-Id: I1863103e8e6d74ede60593cabb240e16f2ae657e Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* Update var property to null on object deletionMatthew Vogt2012-07-201-0/+34
| | | | | | | | | When a var property contains a pointer to a QObject-derived instance, ensure that object deletion causes the property to be updated. Task-number: QTBUG-26542 Change-Id: I67a59ffd7f09063328d45dc84889add55a5428e4 Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Improved error message wordingMatthew Vogt2012-07-171-2/+2
| | | | | | | | | When a qmldir contains multiple definitions with the same name and version numbers, the error message should indicate that the problem is localized to that qmldir file. Change-Id: I02cd4862c9ead2fd7ed1c75d0fa6949ab3eda6f6 Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Support remote import pathsMatthew Vogt2012-07-161-1/+118
| | | | | | | | | | | Probe for installed modules in import path elements which are not local to the machine. Note that all local paths in the import path list will be tried before any remote locations are probed. Task-number: QTBUG-21386 Change-Id: I4f7b9e54e54c1d62a5e7cb7f059ee1e9319ef054 Reviewed-by: Chris Adams <christopher.adams@nokia.com>
* Use QQmlDataTest to resolve qqqmlanguage test data paths.Andrew den Exter2012-07-021-133/+110
| | | | | | | Fix failures in shadow builds. Change-Id: I008b76cfc0934e87edf07e79aec32bdeedf7d015 Reviewed-by: Damian Jansen <damian.jansen@nokia.com>
* Implement QAbstractDeclarativeData::isSignalConnected hookKent Hansen2012-06-271-0/+5
| | | | | | | | | | QQml_isSignalConnected is no longer needed, since QObjectPrivate::isSignalConnected will now call the declarativeData hook. Change-Id: I0685b0fa909d6c6c2d275bfa8d41100d9926a046 Reviewed-by: Michael Brasser <michael.brasser@nokia.com> Reviewed-by: Chris Adams <christopher.adams@nokia.com>
* Add enum values from related typesMatthew Vogt2012-06-271-0/+1
| | | | | | | | | | If moc marks a type as being related to another type (by using that type's enums or properties), then include the enum values exported by the related type in those exposed by the dependent type. Task-number: QTBUG-22675 Change-Id: I78e72791a4f470200a9ba986a865ffac6c873725 Reviewed-by: Chris Adams <christopher.adams@nokia.com>
* qmlRegisterRevision clashes with qmlRegisterUncreatableTypeMartin Jones2012-06-251-0/+56
| | | | | | | | | | | Add template<typename T, int metaObjectRevision> qmlRegisterUncreatableType() in order to register an uncreatable type for a particular revision. Task-number: QTBUG-23278 Change-Id: Ic165e41c8176916929cf19eb9bf6eef4b5bee1eb Reviewed-by: Lincoln Ramsay <lincoln.ramsay@nokia.com> Reviewed-by: Chris Adams <christopher.adams@nokia.com>
* Add some tests for literal parsingMartin Jones2012-06-221-0/+44
| | | | | Change-Id: I3f3047cf27b1e5d230db0ed4154bac09e6adf087 Reviewed-by: Chris Adams <christopher.adams@nokia.com>
* Report clashing qmldir entries for components and scriptsMatthew Vogt2012-06-221-0/+10
| | | | | | | | | | If a qmldir contains multiple lines that install the same versioned property for a single component name or script qualifier, report an error rather than silently suppress one entry. Task-number: QTBUG-25834 Change-Id: I25d3a24102a5a4fa3d82f1d31d7e52505026fff7 Reviewed-by: Chris Adams <christopher.adams@nokia.com>
* Disallow signal-handler-specification for non-signal methodsChris Adams2012-06-211-0/+1
| | | | | | | | | | | | | | Previously, the code which checked whether a signal handler specification was valid was incorrect, in that it only checked that a method of the appropriate name existed (rather than specifically a signal method). This commit ensures that the appropriate code is updated to check the method for signal-ness. Task-number: QTBUG-26223 Change-Id: I306f6622aaa710d86c01d5bbc5146eecce7cf2c3 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Enable literal Qt enum assignment to enum properties.Michael Brasser2012-06-211-0/+6
| | | | | | | | Assigning Qt global enums to enum properties was previously handled as a binding, rather than a literal assignment. Change-Id: If6bb65f63b34f4e10c0636221ddadb11f7025735 Reviewed-by: Chris Adams <christopher.adams@nokia.com>
* Enable binding to properties of type QJSValue.Andrew den Exter2012-05-241-0/+367
| | | | | | | | | This allows javascript objects of all types to be bound to properties declared in c++. Compared to a QVariant the primary benefit this offers is a type which functions and objects with functions can be bound to. Change-Id: Idb3313e7ff1d616ab12d44f616083c8296201f3a Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Fix signal handlers for signals with default arguments.Michael Brasser2012-05-171-0/+32
| | | | | | | | | | For cloned signals, connect to the index of the original. This was a regression caused by the switch to QQmlNotifierEndpoint for signal handlers. This change also makes parameters with default arguments available from QML, while previously they were unavailable. Change-Id: I1feb3412c3e9b0f2a5d6644c404c56d53c5544ac Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Provide receivers count from QQmlData.Michael Brasser2012-04-201-0/+13
| | | | | | Change-Id: I70b06507158797df3083dc23a119935497aa19f4 Reviewed-by: Kent Hansen <kent.hansen@nokia.com> Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* Create plugins for Particles and Window submodulesMatthew Vogt2012-04-051-5/+3
| | | | | | | | | | | | | | | To prevent errors when QML files import QtQuick.Particles or QtQuick.Window before importing QtQuick itself, create plugins for these submodules that make their import statements independent of the QtQuick import. Remove the automatic re-ordering of the imports list prior to loading to ensure registered name conflicts can be resolved by changing the order of import statements. Task-number: QTBUG-24369 Change-Id: I248625fa30a813dddd2a64feb9a489768931939f Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Re-order imports statements to import nested imports laterMatthew Vogt2012-03-291-22/+36
| | | | | | | | | | | | | Re-order the imports for a script by increasing order of URI length. This ensures that an import of the type 'import X.Y' is processed after the import of 'import X' which contains the type definitions for the namespace X.Y. Task-number: QTBUG-24369 Change-Id: I1b06e9d114a97c9f47279f8f33383a27e0efb4bb Reviewed-by: Chris Adams <christopher.adams@nokia.com> Reviewed-by: Michael Brasser <michael.brasser@nokia.com> Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Test unregistered local enums in QML methods and signal handlers.Michael Brasser2012-03-211-0/+10
| | | | | | | Also make sure valueC and valueD are initialized. Change-Id: I8ee78b7b779c37ca792300c7771ae9975f43d8bb Reviewed-by: Chris Adams <christopher.adams@nokia.com>
* Support unregistered Qt namespace enums in QML methods.Michael Brasser2012-03-211-0/+7
| | | | | | | | | This brings the support in line with signal handlers, which should allow us to reuse the implementation there when appropriate. Also adds tests for both registered and unregisted Qt namespace enums. Change-Id: I366846626fc44d6d99b51e93fc9e3cb948c748f9 Reviewed-by: Chris Adams <christopher.adams@nokia.com>
* Support (registered) non-local enums for signal/slot params in QML.Michael Brasser2012-03-211-0/+44
| | | | | | | | | | | | It's now possible to detect whether a registered type is an enum, allowing registered non-local enums to be used as parameters in signals and slots from QML/C++. Author: Glenn Watson <glenn.watson@nokia.com> Task-number: QTBUG-20639 Change-Id: I8c439f2dcc7bfd8ec31914b0c86cd3a1de3c038c Reviewed-by: Chris Adams <christopher.adams@nokia.com> Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Merge master <-> api_changesMatthew Vogt2012-03-051-0/+1
| | | | Change-Id: Iad2f07b989b25349fd2d4fff010e24dcd5a1688f
* Rename QDeclarative symbols to QQuick and QQmlMatthew Vogt2012-02-241-0/+2289
Symbols beginning with QDeclarative are already exported by the quick1 module. Users can apply the bin/rename-qtdeclarative-symbols.sh script to modify client code using the previous names of the renamed symbols. Task-number: QTBUG-23737 Change-Id: Ifaa482663767634931e8711a8e9bf6e404859e66 Reviewed-by: Martin Jones <martin.jones@nokia.com>