a test for stringify "whitelist" which WebKit fails

Oliver Hunt oliver at apple.com
Thu Aug 27 16:32:41 PDT 2009


Do we intend that

str = new String("foo");
str.toString=function(){ alert("Wiffle"); }
JSON.stringify(..., [str])

will execute the custom toString?

--Oliver

On Aug 27, 2009, at 7:47 AM, Allen Wirfs-Brock wrote:

> This is a fairly recent (last couple months, I believe) change to  
> the spec.  The whitelist used  to require strings. It now may  
> contain strings, numbers, string objects, or number objects.  They  
> all get converted to string values.  See stringify steps 4.b.ii.2-4.
>
> Allen
>
>> -----Original Message-----
>> From: es-discuss-bounces at mozilla.org [mailto:es-discuss-
>> bounces at mozilla.org] On Behalf Of Hallvord R. M. Steen
>> Sent: Thursday, August 27, 2009 4:44 AM
>> To: Oliver Hunt
>> Cc: es-discuss at mozilla.org
>> Subject: a test for stringify "whitelist" which WebKit fails
>>
>> Hi Oliver,
>> I'm curious about this TC - it appears to be WebKit against the  
>> rest of
>> us, but it will take me some assistance from somebody with Superior
>> Spec-Reading Skills to figure out who does the right thing..
>>
>> http://testsuites.opera.com/JSON/correctness/046.html
>>
>> (test code is at
>> http://testsuites.opera.com/JSON/correctness/scripts/046.js )
>>
>> Issue: if an object has properties whose name is a number inside a
>> string
>> ({'1':'foo'}) and you pass in a white-list array to stringify(),  
>> WebKit
>> requires the elements in the array to be numbers inside strings too,
>> while
>> other implementations allow either plain numbers or numbers inside
>> strings.
>>
>> The latter makes more sense to me given that JS generally doesn't
>> distinguish obj[1] and obj['1']. Do you think this is a WebKit bug?
>>
>> --
>> Hallvord R. M. Steen, Core Tester, Opera Software
>> http://www.opera.com http://my.opera.com/hallvors/
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss at mozilla.org
>> https://mail.mozilla.org/listinfo/es-discuss
>



More information about the es-discuss mailing list