{
  "schema": "https://bars.commonsware.com/conformance/schema/render-fixture.schema.json",
  "version": "0.1.0",
  "cases": [
    {
      "name": "comment-only",
      "description": "A comment produces no output.",
      "template": "{{! ignore me }}",
      "expect": {
        "kind": "output",
        "expectedOutput": ""
      }
    },
    {
      "name": "comment-with-surrounding-text",
      "description": "Text on both sides of a comment is preserved; the comment is elided.",
      "template": "before {{! middle }} after",
      "expect": {
        "kind": "output",
        "expectedOutput": "before  after"
      }
    },
    {
      "name": "empty-comment",
      "description": "A comment with an empty body still produces no output.",
      "template": "{{!}}",
      "expect": {
        "kind": "output",
        "expectedOutput": ""
      }
    },
    {
      "name": "comment-never-renders-despite-key-collision",
      "description": "A comment body that happens to match context keys is still elided; comments never interpolate.",
      "template": "x:>{{! comment }}<",
      "context": {
        "comment": 4,
        "! comment": 1,
        "!comment": 3
      },
      "expect": {
        "kind": "output",
        "expectedOutput": "x:><"
      }
    },
    {
      "name": "multiline-comment-body-elided",
      "description": "A comment body spanning multiple lines is elided in full.",
      "template": "a{{! one\ntwo\nthree }}b",
      "expect": {
        "kind": "output",
        "expectedOutput": "ab"
      }
    },
    {
      "name": "comment-body-with-brace-like-text",
      "description": "A comment closes at the first `}}` encountered; it does not scan for a balanced close. The body up to and including the first `}}` after `{{!` is elided, and any remaining brace-like text renders as ordinary literal text.",
      "template": "x:>{{! a {{ x }} b }}<",
      "expect": {
        "kind": "output",
        "expectedOutput": "x:> b }}<"
      }
    }
  ]
}
