General comment on ES 402 test suite (i18n)

Norbert Lindenberg ecmascript at norbertlindenberg.com
Mon Sep 10 14:41:40 PDT 2012


On Sep 10, 2012, at 13:24 , Nebojša Ćirić wrote:

>> Can you provide bug IDs?
> 
>    # ICU bug http://bugs.icu-project.org/trac/ticket/9547
>   'data/test/suite/intl402/ch11/11.3/11.3.2_TRP.js': 'FAIL',
>   # ICU bug http://bugs.icu-project.org/trac/ticket/9265
>   'data/test/suite/intl402/ch09/9.2/9.2.5_11_g_ii_2.js': 'FAIL'
> 
>  I don't have actual bug ID for ISO - CLDR issue (the fraction digits for currencies). I'll talk to Mark about it.

Thanks!

>> > 8/25 EF are from not implementing the i18n support for localeCompare and similar functions (yet).
>> 
>> Looking forward to more info on this once you get there.
>> 
> As soon as we ratify the spec :).

Would be good to try this before we ratify. Just don't ship it yet :-)

> NativeJSFormatter is V8 C++ method and it can detect if it was called as constructor or not. But by the time I call it it's already too late. It's interesting that requirement like this is in ES spec, but they don't provide a way to check/enforce it.

Have you talked to the V8 team about this and the prototype issue?

> > 2/6 F are from 1x.3_a.js tests, where 0 property of Array.prototype is tainted. I don't know how to guard against this. Any pointers?
> 
> You mean 9.2.1_2.js and 9.2.6_2.js? The spec here refers to the List specification type, and I implemented List objects using Array methods that you have to grab before anybody can replace them.
> 
> Methods are fine, but what do you do with '0' property. You can't grab all indices in range to protect override.

List.prototype = Object.create(null);

> I have to check why:
> 
> Object.defineProperty(Intl.Collator, 'prototype', new Intl.Collator())

I changed the spec a while ago to not use an actual Collator object as the prototype object, after Allen and Suzuki-san reported problems with this approach. Use Intl.Collator.call({}) with the standard built-in values of Intl.Collator and Function.prototype.call instead.



More information about the es-discuss mailing list