| { |
| "$schema": "https://raw.githubusercontent.com/unicode-org/message-format-wg/main/test/schemas/v0/tests.schema.json", |
| "scenario": "Syntax", |
| "description": "Test cases that do not depend on any registry definitions.", |
| "defaultTestProperties": { |
| "locale": "en-US" |
| }, |
| "tests": [ |
| { |
| "description": "NFC: text is not normalized", |
| "src": "\u1E0A\u0323", |
| "exp": "\u1E0A\u0323" |
| }, |
| { |
| "description": "NFC: variables are compared to each other as-if normalized; decl is non-normalized, use is", |
| "src": ".local $\u0044\u0323\u0307 = {foo} {{{$\u1E0c\u0307}}}", |
| "exp": "foo" |
| }, |
| { |
| "description": "NFC: variables are compared to each other as-if normalized; decl is normalized, use isn't", |
| "src": ".local $\u1E0c\u0307 = {foo} {{{$\u0044\u0323\u0307}}}", |
| "exp": "foo" |
| }, |
| { |
| "description": "NFC: variables are compared to each other as-if normalized; decl is normalized, use isn't", |
| "src": ".input {$\u1E0c\u0307} {{{$\u0044\u0323\u0307}}}", |
| "params": [{"name": "\u1E0c\u0307", "value": "foo"}], |
| "exp": "foo" |
| }, |
| { |
| "description": "NFC: variables are compared to each other as-if normalized; decl is non-normalized, use is", |
| "src": ".input {$\u0044\u0323\u0307} {{{$\u1E0c\u0307}}}", |
| "params": [{"name": "\u0044\u0323\u0307", "value": "foo"}], |
| "exp": "foo" |
| }, |
| { |
| "description": "NFC: variables are compared to each other as-if normalized; decl is non-normalized, use is; reordering", |
| "src": ".local $\u0044\u0307\u0323 = {foo} {{{$\u1E0c\u0307}}}", |
| "exp": "foo" |
| }, |
| { |
| "description": "NFC: variables are compared to each other as-if normalized; decl is non-normalized, use is; special case mapping", |
| "src": ".local $\u0041\u030A\u0301 = {foo} {{{$\u01FA}}}", |
| "exp": "foo" |
| }, |
| { |
| "description": "NFC: keys are normalized", |
| "src": ".local $x = {\u1E0C\u0307 :string} .match $x \u1E0A\u0323 {{Right}} * {{Wrong}}", |
| "exp": "Right" |
| }, |
| { |
| "description": "NFC: keys are normalized (unquoted)", |
| "src": ".local $x = {\u1E0A\u0323 :string} .match $x \u1E0A\u0323 {{Not normalized}} \u1E0C\u0307 {{Normalized}} * {{Wrong}}", |
| "expErrors": [{"type": "duplicate-variant"}] |
| }, |
| { |
| "description": "NFC: keys are normalized (quoted)", |
| "src": ".local $x = {\u1E0A\u0323 :string} .match $x |\u1E0A\u0323| {{Not normalized}} |\u1E0C\u0307| {{Normalized}} * {{Wrong}}", |
| "expErrors": [{"type": "duplicate-variant"}] |
| }, |
| { |
| "description": "NFC: keys are normalized (mixed)", |
| "src": ".local $x = {\u1E0A\u0323 :string} .match $x \u1E0A\u0323 {{Not normalized}} |\u1E0C\u0307| {{Normalized}} * {{Wrong}}", |
| "expErrors": [{"type": "duplicate-variant"}] |
| } |
| ] |
| } |