{
  "scenario": "Reserved and private annotations",
  "description": "Tests for unsupported expressions (reserved/private) (now syntax errors)",
  "defaultTestProperties": {
    "locale": "en-US",
    "expErrors": [
      {
        "type": "syntax-error"
      }
    ]
  },
  "tests": [
    { "src": "hello {|4.2| %number}" },
    { "src": "hello {|4.2| %n|um|ber}"  },
    { "src": "hello {|4.2| &num|be|r}"  },
    { "src": "hello {|4.2| ^num|be|r}"  },
    { "src": "hello {|4.2| +num|be|r}"  },
    { "src": "hello {|4.2| ?num|be||r|s}"  },
    { "src": "hello {|foo| !number}"  },
    { "src": "hello {|foo| *number}"  },
    { "src": "hello {?number}"  },
    { "src": "{<tag}"  },
    { "src": ".local $bar = {$none ~plural} .match {foo :string}  * {{{$bar}}}"  },
    { "src": "hello {|4.2| %num\\\\ber}"  },
    { "src": "hello {|4.2| %num\\{be\\|r}"  },
    { "src": "hello {|4.2| %num\\\\\\}ber}"  },
    { "src": "hello {|4.2| !}"  },
    { "src": "hello {|4.2| %}"  },
    { "src": "hello {|4.2| *}"  },
    { "src": "hello {|4.2| ^abc|123||5|\\\\}"  },
    { "src": "hello {|4.2| ^ abc|123||5|\\\\}"  },
    { "src": "hello {|4.2| ^ abc|123||5|\\\\ \\|def |3.14||2|}"  },
    { "src": "hello {|4.2| ? }"  },
    { "src": "hello {|4.2| %xyzz }"  },
    { "src": "hello {|4.2| >xyzz   }"  },
    { "src": "hello {$foo ~xyzz }"  },
    { "src": "hello {$x   <xyzz   }"  },
    { "src": "{>xyzz }"  },
    { "src": "{  !xyzz   }"  },
    { "src": "{~xyzz }"  },
    { "src": "{ <xyzz   }"  },
    { "src": "hello {|4.2| !xy z z }"  },
    { "src": "hello {|4.2| *num \\\\ b er}"  },
    { "src": "hello {|4.2| %num \\\\ b |3.14| r    }"  },
    { "src": "hello {|4.2|    +num xx \\\\ b |3.14| r  }"  },
    { "src": "hello {$foo    +num x \\\\ abcde |3.14| r  }"  },
    { "src": "hello {$foo    >num x \\\\ abcde |aaa||3.14||42| r  }"  },
    { "src": "hello {$foo    >num x \\\\ abcde |aaa||3.14| |42| r  }"  },
    { "src" : ".input{ $n ~ }{{{$n}}}" },
    { "src": "foo {&private}" },
    { "src": "foo {?reserved @a @b=$c}" },
    { "src": "{!.}" },
    { "src": "{! .}" },
    { "src": "{%}" },
    { "src": "{*}" },
    { "src": "{<}" },
    { "src": "{>}" },
    { "src": "{?}" },
    { "src": "{~}" },
    { "src": "{^.}" },
    { "src": "{^ .}" },
    { "src": "{&}" },
    { "src": "{!.\\{}" },
    { "src": "{!. \\{}" },
    { "src": "{!|a|}" },
    { "src": "{^}" },
    { "src": "{!}" },
    { "src": ".match {$foo !select}  |1| {{one}}  * {{other}}" },
    { "src": ".match {$foo ^select}  |1| {{one}}  * {{other}}" },
    { "src": ".match {|horse| ^private}\n   1 {{The value is one.}}   * {{The value is not one.}}" },
    { "src": ".match {$foo ^select}  |1| {{one}}  * {{other}}" }
  ]
}

