-
Notifications
You must be signed in to change notification settings - Fork 0
Array Literal Syntax Test Failures #26
Comments
The literal parsing is not completely implemented yet, so it can only deal I'm currently on work/vacation in Serbia, hope to have the Cheers, On 11 May 2015 at 22:20, Thomas Wood [email protected] wrote:
|
Ah. That makes sense. Sorry for the spurious report. On 11 May 2015 21:54:58 BST, "Petar Maksimović" [email protected] wrote:
Sent from my Android device with K-9 Mail. Please excuse my brevity. |
Although one thing that I should point out is that we already have a [[DefineOwnProperty]] JSRef implementation as implemented by our intern @Pasteuriser for arrays on his branch conrad_v8_merged here: It was one of the things we were looking at merging back if/when it was amenable to proof. I'm not sure how well suited it is to the specification/proof though, given conflicting definitions of things like to_uint32 etc. |
That is excellent, I will take a look, thanks! On 12 May 2015 at 13:56, Thomas Wood [email protected] wrote:
|
Philippa has asked me to quickly examine the test failures on the petar_array branch for ch8-14.
Good news: we're up from ~1873 passes to 2002 as a result. (I'm using an old-ish test run that I had readily available), down from 539 aborts to 388.
Important test case failures:
Array.prototype with a non-writable index not properly handled when using the literal syntax.
A variable [$ERROR] is defined at global scope. Its value is:
#4: var array = [1,2,3,4,5]; array.length === 5. Actual: 0 | #5: var array = [1,2,3,4,5]; array[0] === 1. Actual: undefined | #6: var array = [1,2,3,4,5]; array[1] === 2. Actual: undefined | #7: var array = [1,2,3,4,5]; array[2] === 3. Actual: undefined | #8: var array = [1,2,3,4,5]; array[3] === 4. Actual: undefined | #9: var array = [1,2,3,4,5]; array[4] === 5. Actual: undefined
A variable [$ERROR] is defined at global scope. Its value is:
#4: var array = [,,,1,2]; array.length === 5. Actual: 3 | #8: var array = [,,,1,2]; array[3] === 1. Actual: undefined | #9: var array = [,,,1,2]; array[4] === 2. Actual: undefined
#4: var array = [4,5,,,,]; array.length === 5. Actual: 3 | #5: var array = [4,5,,,,]; array[0] === 4. Actual: undefined | #6: var array = [4,5,,,,]; array[1] === 5. Actual: undefined
#4: var array = [,,3,,,]; array.length === 5. Actual: 4 | #7: var array = [,,3,,,]; array[2] === 3. Actual: undefined
#4: var array = [1,2,,4,5]; array.length === 5. Actual: 1 | #5: var array = [1,2,,4,5]; array[0] === 1. Actual: undefined | #6: var array = [1,2,,4,5]; array[1] === 2. Actual: undefined | #8: var array = [1,2,,4,5]; array[3] === 4. Actual: undefined | #9: var array = [1,2,,4,5]; array[4] === 5. Actual: undefined
#4: var array = [[1,2], [3], []]; array.length === 3. Actual: 0 | #5: var array = [[1,2], [3], []]; var subarray = array[0]; typeof subarray === "object". Actual: undefined | #6: var array = [[1,2], [3], []]; var subarray = array[0]; subarray instanceof Array === true
Delete of length property.
Uses eval, may be broken. (Need to double check whether the eval fixes got transferred from the conrad branch)
#1: myObj.p1[2] === 1. Actual: myObj.p1[2] ===undefined
The text was updated successfully, but these errors were encountered: