General comment on ES 402 test suite (i18n)
Mark Davis ☕
mark at macchiato.com
Tue Sep 11 13:00:26 PDT 2012
Can you reformulate the table attached to
http://unicode.org/cldr/trac/ticket/5302?
In particular, if a currency is not in the LDML table, it gets the default
values (see below). So you need to compare on that basis.
It is much better for comparison if you attach a tab- or comma-delimited
file, so that it can be loaded into a spreadsheet, something like:
Code CLDR ISO
AED 2 2
AFN 0 2
...
We can then review with the currency folk in CLDR the reasons behind any
differences.
http://unicode.org/reports/tr35/#Supplemental_Currency_Data
The fractions element contains any number of info elements, with the
following attributes:
- *iso4217: *the ISO 4217 code for the currency in question. If a
particular currency does not occur in the fractions list, then it is given
the defaults listed for the next two attributes.
- *digits: *the number of decimal digits normally formatted. The default
is 2.
- *rounding: *the rounding increment, in units of 10-digits. The default
is 1. Thus with fraction digits of 2 and rounding increment of 5, numeric
values are rounded to the nearest 0.05 units in formatting. With fraction
digits of 0 and rounding increment of 50, numeric values are rounded to the
nearest 50.
Mark <https://plus.google.com/114199149796022210033>
*
*
*— Il meglio è l’inimico del bene —*
**
On Tue, Sep 11, 2012 at 12:46 PM, Nebojša Ćirić <cira at google.com> wrote:
> Also, CLDR vs ISO currency bug - http://unicode.org/cldr/trac/ticket/5302
>
>
> 2012/9/10 Nebojša Ćirić <cira at google.com>
>
>> Btw. I've filed a bug wrt. de-DD with ICU -
>> http://bugs.icu-project.org/trac/ticket/9562
>>
>>
>> 2012/9/10 Nebojša Ćirić <cira at google.com>
>>
>>>
>>>
>>>
>>> 2012/9/10 Norbert Lindenberg <ecmascript at norbertlindenberg.com>
>>>
>>>>
>>>> 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?
>>>>
>>>
>>> I filled a bug about prototype issue -
>>> http://code.google.com/p/v8/issues/detail?id=2293.
>>> As for the new/constructor issue they pointed out the internal C++
>>> method I can't use (as mentioned). I am not sure they can do much there
>>> without actual ES spec telling them what/how to do it.
>>>
>>>
>>>> > > 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.
>>>>
>>>>
>>> I'll try that, thanks.
>>>
>>> --
>>> Nebojša Ćirić
>>>
>>
>>
>>
>> --
>> Nebojša Ćirić
>>
>
>
>
> --
> Nebojša Ćirić
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20120911/5e185190/attachment-0001.html>
More information about the es-discuss
mailing list