{
  "schema": "https://bars.commonsware.com/conformance/schema/partials-fixture.schema.json",
  "version": "0.1.0",
  "cases": [
    {
      "name": "standalone-partial-reindents-every-line-of-a-multiline-partial",
      "description": "A standalone {{> key }} tag with leading indentation re-indents every line of a multi-line partial's rendered output, including interior lines, but does not add trailing indentation after the partial's own final newline.",
      "template": "before\n  {{> lines }}\nafter",
      "partials": {
        "lines": "one\ntwo\nthree\n"
      },
      "expect": {
        "kind": "output",
        "expectedOutput": "before\n  one\n  two\n  three\nafter"
      }
    },
    {
      "name": "nested-standalone-partial-indentation-composes",
      "description": "When a standalone partial's own body contains another standalone partial reference, the inner partial's re-indentation composes with the outer one's, so the innermost content is prefixed by both indentations combined.",
      "template": "{{> outer }}",
      "partials": {
        "outer": "start\n  {{> inner }}\nend\n",
        "inner": "a\nb\n"
      },
      "expect": {
        "kind": "output",
        "expectedOutput": "start\n  a\n  b\nend\n"
      }
    },
    {
      "name": "standalone-partial-with-empty-content-adds-no-indentation",
      "description": "A standalone partial whose rendered content is the empty string contributes no indented line at all; re-indentation is a no-op on empty content even though the captured indent itself is non-empty.",
      "template": "before\n  {{> empty }}\nafter",
      "partials": {
        "empty": ""
      },
      "expect": {
        "kind": "output",
        "expectedOutput": "before\nafter"
      }
    },
    {
      "name": "non-standalone-partial-is-not-reindented",
      "description": "A partial tag that shares its line with other template text is not standalone, so its rendered output is inserted verbatim with no re-indentation of interior lines.",
      "template": "before   {{> lines }}   after",
      "partials": {
        "lines": "one\ntwo\n"
      },
      "expect": {
        "kind": "output",
        "expectedOutput": "before   one\ntwo\n   after"
      }
    }
  ]
}
