diff options
author | Robin Burchell <[email protected]> | 2017-02-06 10:31:13 +0100 |
---|---|---|
committer | Robin Burchell <[email protected]> | 2017-02-07 10:14:37 +0000 |
commit | 411dd9531adbf0500005cf76eff8822c720c28b8 (patch) | |
tree | fa37ea766cd48d8935dbbeec7d7882cad2226bb9 /tests/auto/qml/qjsengine/tst_qjsengine.cpp | |
parent | d6280f7729bfad1f28be56e6a8619d4d57387002 (diff) |
ObjectPrototype: Improve ES6 compliance
* getPrototypeOf: Per 19.1.2.9, we should ToObject(O), and ReturnIfAbrupt
* getOwnPropertyDescriptor: Per 19.1.2.6, we should ToObject(O), and ReturnIfAbrupt
* getOwnPropertyNames: Per 19.1.2.8.1, we should ToObject(O) and ReturnIfAbrupt
* seal: Per 1.9.2.17, if Type(O) is not Object, return O
* freeze: Per 1.9.2.5, if Type(O) is not Object, return O
* preventExtensions: Per 19.1.2.15, if Type(O) is not Object, return O
* isSealed: Per 19.1.2.13, if Type(O) is not Object, return true
* isFrozen: Per 19.1.2.12, if Type(O) is not Object, return true
* isExtensible: Per 19.1.2.11, if Type(O) is not Object, return false
* keys: Per 19.1.2.14, we should ToObject(O), and ReturnIfAbrupt
This improves the ES6 passrate for test/built-ins/Object/ quite a bit, before:
=== Summary ===
- Ran 6144 tests
- Passed 5719 tests (93.1%)
- Failed 425 tests (6.9%)
After:
=== Summary ===
- Ran 6144 tests
- Passed 5769 tests (93.9%)
- Failed 375 tests (6.1%)
... and also fixes numerous tests in other areas. Most of the missing
failures seem to be down to missing Object.assign & Symbol. It does regress on
some ES5 tests that specifically check for the ES5 spec behavior.
Change-Id: I039a223060c79c5bf4f5b041ad1ec4dc1afd5932
Reviewed-by: Simon Hausmann <[email protected]>
Diffstat (limited to 'tests/auto/qml/qjsengine/tst_qjsengine.cpp')
0 files changed, 0 insertions, 0 deletions