Skip to content

package:intl4x conformance testing native #998

@mosuem

Description

@mosuem

For intl4x native

Collation: Pass: 431321, Fail: 359, Errors: 0, Unsupported: 0

  • Locale parse error on root. Possibly to be solved by implementing the locale canonicalizer.
  • Some actual failures, to be investigated. Example:
    {
        "label": "00059",
        "result": false,
        "compare": 1,
        "input_data": {
            "compare_type": "<1",
            "s1": "\u24bb",
            "s2": "a\u0327\u0323\u030a",
            "source_file": "collationtest.txt",
            "line": 176,
            "compare_comment": " match despite missing prefix",
            "label": "00059",
            "test_description": "simple contractions",
            "rules": "...",
            "hexhash": "6872e65fa05daf08c1b6ddf4b57f4bed05a43e6a"
        },
        "expected": true
    },

Datetime format: Pass: 0, Fail: 12935, Errors: 0, Unsupported: 0

  • So far all failures, needs parsing of a JSON options object into date time options. Example:
  {
        "label": "00018",
        "result": "5/29/1984",
        "actual_options": "Instance of 'DateTimeFormatOptions'",
        "input_data": {
            "label": "00018",
            "locale": "en-US",
            "input_string": "1984-05-29T14:53:00Z",
            "options": {
                "timeZone": "America/Los_Angeles",
                "dateStyle": "short",
                "timeStyle": "short",
                "calendar": "gregory",
                "dateTimeFormatType": "standard"
            },
            "tz_offset_secs": -25200.0,
            "original_input": "1984-05-29T07:53-07:00[America/Los_Angeles]",
            "hexhash": "67cc1f4e4a987667a905662eaaa3f6de996bd0c5"
        },
        "expected": "5/29/84, 7:53\u202fAM"
    },

Display names: Pass: 601, Fail: 1324, Errors: 0, Unsupported: 0

  • Some failures with DataError.identifierNotFound, maybe there is some flag missing in data compilation? Example:
{
        "label": "0602",
        "error_type": "unsupported",
        "error_detail": "DataError.identifierNotFound",
        "actual_options": {
            "style": "long",
            "languageDisplay": "standard",
            "fallback": "code"
        },
        "error_retry": false,
        "input_data": {
            "label": "0602",
            "language_label": "hi-Latn",
            "locale_label": "dsb",
            "languageDisplay": "dialect",
            "hexhash": "fc31e3c6b1563905a2d6bbe0b8ac91f79f804889"
        },
        "expected": "hindi\u0161\u0107ina (\u0142aty\u0144ski)"
    },
  • Some failures seem to be due to the formatter not respecting unicode extensions, example:
{
        "label": "0208",
        "result": "English",
        "input_data": {
            "label": "0208",
            "language_label": "en-u-nu-bhks",
            "locale_label": "en",
            "languageDisplay": "standard",
            "hexhash": "fd15027757b358f64a53260c402fbcbbbb890241"
        },
        "expected": "English (Bhaiksuki Digits)"
    },

List format: Pass: 363, Fail: 0, Errors: 0, Unsupported: 0

  • Yay!

Number format: Pass: 2505, Fail: 2212, Errors: 0, Unsupported: 0

  • Percent seems not to work so far, unclear if due to wrong option parsing or lack of features. Example:
{
        "label": "0434",
        "result": "-0.11111",
        "actual_options": {
            "style": "unit",
            "currency": null,
            "localeMatcher": "best fit",
            "signDisplay": "auto",
            "notation": "compact",
            "useGrouping": "auto",
            "numberingSystem": null,
            "roundingMode": "halfExpand",
            "trailingZeroDisplay": "auto",
            "minimumIntegerDigits": 1,
            "digits": {
                "fractionDigits": null,
                "significantDigits": null,
                "roundingPriority": null,
                "roundingIncrement": null
            }
        },
        "input_data": {
            "label": "0434",
            "locale": "es-MX",
            "skeleton": "compact-short percent scale/0.5",
            "input": "-0.22222",
            "options": {
                "notation": "compact",
                "compactDisplay": "short",
                "style": "unit",
                "unit": "percent",
                "conformanceScale": "0.5"
            },
            "hexhash": "b10ae653a9ea1ffaa06266ec65df2f85cdcb9642"
        },
        "expected": "-0.11\u00a0%"
    },
  • Some custom skeletons seem to not work, example:
{
        "label": "3829",
        "result": "91,827.3645",
        "actual_options": {
            "style": "currency",
            "currency": "EUR",
            "localeMatcher": "best fit",
            "signDisplay": "exceptZero",
            "notation": "standard",
            "useGrouping": "auto",
            "numberingSystem": "latn",
            "roundingMode": "halfExpand",
            "trailingZeroDisplay": "auto",
            "minimumIntegerDigits": 1,
            "digits": {
                "fractionDigits": null,
                "significantDigits": null,
                "roundingPriority": null,
                "roundingIncrement": null
            }
        },
        "input_data": {
            "label": "3829",
            "locale": "zh-TW",
            "skeleton": "currency/EUR latin sign-accounting-except-zero",
            "input": "91827.3645",
            "options": {
                "style": "currency",
                "currencyDisplay": "symbol",
                "currency": "EUR",
                "numberingSystem": "latn",
                "signDisplay": "exceptZero",
                "currencySign": "accounting"
            },
            "hexhash": "6586ee704ff5804b3c9f170fd8e19587a52a9ca6"
        },
        "expected": "+\u20ac91,827.36"
    },

Plural rules: Pass: 5381, Fail: 196, Errors: 0, Unsupported: 0

  • Seems to be more obscure locales, example:
    {
        "label": "661",
        "result": "other",
        "input_data": {
            "locale": "kab",
            "label": "661",
            "type": "cardinal",
            "plural_type": "cardinal",
            "sample": "1.5",
            "hexhash": "534d745668a3a9f598d60242ff4bc01f78e21f29"
        },
        "expected": "one"
    },

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions