cldr
Version:
Library for extracting data from CLDR (the Unicode Common Locale Data Repository)
190 lines (189 loc) • 4.23 kB
JSON
{
"$schema": "https://raw.githubusercontent.com/unicode-org/message-format-wg/main/test/schemas/v0/tests.schema.json",
"scenario": "Data model errors",
"defaultTestProperties": {
"locale": "en-US"
},
"tests": [
{
"src": ".input {$foo :x} .match $foo * * {{foo}}",
"expErrors": [
{
"type": "variant-key-mismatch"
}
]
},
{
"src": ".input {$foo :x} .input {$bar :x} .match $foo $bar * {{foo}}",
"expErrors": [
{
"type": "variant-key-mismatch"
}
]
},
{
"src": ".input {$foo :x} .match $foo 1 {{_}}",
"expErrors": [
{
"type": "missing-fallback-variant"
}
]
},
{
"src": ".input {$foo :x} .match $foo other {{_}}",
"expErrors": [
{
"type": "missing-fallback-variant"
}
]
},
{
"src": ".input {$foo :x} .input {$bar :x} .match $foo $bar * 1 {{_}} 1 * {{_}}",
"expErrors": [
{
"type": "missing-fallback-variant"
}
]
},
{
"src": ".input {$foo} .match $foo one {{one}} * {{other}}",
"expErrors": [
{
"type": "missing-selector-annotation"
}
]
},
{
"src": ".local $foo = {$bar} .match $foo one {{one}} * {{other}}",
"expErrors": [
{
"type": "missing-selector-annotation"
}
]
},
{
"src": ".input {$bar} .local $foo = {$bar} .match $foo one {{one}} * {{other}}",
"expErrors": [
{
"type": "missing-selector-annotation"
}
]
},
{
"src": ".input {$foo} .input {$foo} {{_}}",
"expErrors": [
{
"type": "duplicate-declaration"
}
]
},
{
"src": ".input {$foo} .local $foo = {42} {{_}}",
"expErrors": [
{
"type": "duplicate-declaration"
}
]
},
{
"src": ".local $foo = {42} .input {$foo} {{_}}",
"expErrors": [
{
"type": "duplicate-declaration"
}
]
},
{
"src": ".local $foo = {:unknown} .local $foo = {42} {{_}}",
"expErrors": [
{
"type": "duplicate-declaration"
}
]
},
{
"src": ".local $foo = {$bar} .local $bar = {42} {{_}}",
"expErrors": [
{
"type": "duplicate-declaration"
}
]
},
{
"src": ".local $foo = {$foo} {{_}}",
"expErrors": [
{
"type": "duplicate-declaration"
}
]
},
{
"src": ".local $foo = {$bar} .local $bar = {$baz} {{_}}",
"expErrors": [
{
"type": "duplicate-declaration"
}
]
},
{
"src": ".local $foo = {$bar :func} .local $bar = {$baz} {{_}}",
"expErrors": [
{
"type": "duplicate-declaration"
}
]
},
{
"src": ".local $foo = {42 :func opt=$foo} {{_}}",
"expErrors": [
{
"type": "duplicate-declaration"
}
]
},
{
"src": ".local $foo = {42 :func opt=$bar} .local $bar = {42} {{_}}",
"expErrors": [
{
"type": "duplicate-declaration"
}
]
},
{
"src": "bad {:placeholder option=x option=x}",
"expErrors": [
{
"type": "duplicate-option-name"
}
]
},
{
"src": "bad {:placeholder ns:option=x ns:option=y}",
"expErrors": [
{
"type": "duplicate-option-name"
}
]
},
{
"src": ".input {$var :string} .match $var * {{The first default}} * {{The second default}}",
"expErrors": [
{
"type": "duplicate-variant"
}
]
},
{
"src": ".input {$x :string} .input {$y :string} .match $x $y * foo {{The first foo variant}} bar * {{The bar variant}} * |foo| {{The second foo variant}} * * {{The default variant}}",
"expErrors": [
{
"type": "duplicate-variant"
}
]
},
{
"src": ".local $star = {star :string} .match $star |*| {{Literal star}} * {{The default}}",
"exp": "The default"
}
]
}