Details
-
Bug
-
Resolution: Done
-
P0: Blocker
-
None
-
5.11, 5.12
-
None
Description
As per attempt at
https://codereview.qt-project.org/#/c/233675/
http://coin.intra.qt.io/coin/api/results/qt/qtdeclarative/682d7be57ef07cb73f4b568743b9c86bd3deb313/LinuxUbuntu_16_04x86_64LinuxUbuntu_16_04x86_64GCCqtci-linux-Ubuntu-16.04-x86_64-2-b7ad9dDeveloperBuild_OutOfSourceBuild_QtLibInfix_QtNamespace_BuildExamples_Documentation/942a3a737ed5bcbe0953684c19acadc4c7adee8c/test_1531389926/log.txt.gz
http://coin.intra.qt.io/coin/api/results/qt/qtdeclarative/682d7be57ef07cb73f4b568743b9c86bd3deb313/LinuxopenSUSE_42_3x86_64LinuxopenSUSE_42_3x86_64GCCqtci-linux-openSUSE-42.3-x86_64-9f6c6cDeveloperBuild_NoPch/942a3a737ed5bcbe0953684c19acadc4c7adee8c/test_1531389930/log.txt.gz
http://coin.intra.qt.io/coin/api/results/qt/qtdeclarative/682d7be57ef07cb73f4b568743b9c86bd3deb313/WindowsWindows_10x86_64WindowsWindows_10x86_64MSVC2015qtci-windows-10-x86_64-10-64b87aDeveloperBuild_Release_QtNamespace_QtLibInfix_BuildExamples/942a3a737ed5bcbe0953684c19acadc4c7adee8c/test_1531389888/log.txt.gz
Caused by https://codereview.qt-project.org/#/c/231957/ – reverting locally fixes it.
language/expressions/class/accessor-name-inst-literal-numeric-non-canonical.js
is among the failing tests, for example.
Test with
qjstest language/expressions/class/accessor-name-inst-literal-numeric-non-canonical.js
or
qjstest --cat language/expressions/class/accessor-name-inst-literal-numeric-non-canonical.js > test.js
and then debug with
qmljs test.js
That particular test cases uses this:
var stringSet; var C = class { get 0.0000001() { return 'get string'; } set 0.0000001(param) { stringSet = param; } }; assert.sameValue(C.prototype['1e-7'], 'get string'); C.prototype['1e-7'] = 'set string'; assert.sameValue(stringSet, 'set string');
Where the 1e-7 is supposed to expand to calling the 0.0000001 setter, which works before the patch and isn't called with the patch applied. So minimal self-contained test case for use with qmljs:
var C = class { set 0.0000001(param) { console.log("called!"); } }; C.prototype['1e-7'] = 'set string';