{ "scenario": "Additional data model errors", "defaultTestProperties": { "locale": "en-US" }, "tests": [ { "src": ".input {$foo :number} .input {$bar :number} .match $foo $bar one{{one}}", "expErrors": [ { "type": "variant-key-mismatch" } ] }, { "src": ".input {$foo :number} .input {$bar :number} .match $foo $bar one {{one}}", "expErrors": [ { "type": "variant-key-mismatch" } ] }, { "src": ".input {$foo :number} .input {$bar :number} .match $foo $bar one {{one}}", "expErrors": [ { "type": "variant-key-mismatch" } ] }, { "src": ".input {$foo :number} .match $foo * * {{foo}}", "expErrors": [ { "type": "variant-key-mismatch" } ] }, { "src": ".input {$one :number} .match $one\n 1 2 {{Too many}}\n * {{Otherwise}}", "expErrors": [ { "type": "variant-key-mismatch" } ] }, { "src": ".input {$one :number} .input {$two :number} .match $one $two \n 1 2 {{Two keys}}\n * {{Missing a key}}\n * * {{Otherwise}}", "expErrors": [ { "type": "variant-key-mismatch" } ] }, { "src": ".input {$foo :x} .input {$bar :X} .match $foo $bar * {{foo}}", "expErrors": [ { "type": "variant-key-mismatch" } ] }, { "src": ".input {$one :number} .match $one\n 1 {{Value is one}}\n 2 {{Value is two}}", "expErrors": [ { "type": "missing-fallback-variant" } ] }, { "src": ".input {$one :number} .input {$two :number} .match $one $two\n 1 * {{First is one}}\n * 1 {{Second is one}}", "expErrors": [ { "type": "missing-fallback-variant" } ] }, { "src": ".match $one\n 1 {{Value is one}}\n * {{Value is not one}}", "expErrors": [ { "type": "missing-selector-annotation" } ] }, { "src": ".local $one = {|The one|}\n .match $one\n 1 {{Value is one}}\n * {{Value is not one}}", "expErrors": [ { "type": "missing-selector-annotation" } ] }, { "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": ".local $x = {|1|} .input {$x :number} {{{$x}}}", "expErrors": [ { "type": "duplicate-declaration" } ] }, { "src": ".input {$x :number} .input {$x :string} {{{$x}}}", "expErrors": [ { "type": "duplicate-declaration" } ] }, { "src": "{:foo a=1 b=2 a=1}", "expErrors": [ { "type": "duplicate-option-name" } ] }, { "src": "{:foo a=1 a=1}", "expErrors": [ { "type": "duplicate-option-name" } ] }, { "src": "{:foo a=1 a=2}", "expErrors": [ { "type": "duplicate-option-name" } ] }, { "src": "{|x| :foo a=1 a=2}", "expErrors": [ { "type": "duplicate-option-name" } ] } ] }