{
  "tests": [
    {
      "name": "Pair Behavior",
      "data": { "text": "Hey!" },
      "expected": "(Hey!)",
      "template": "{{=<% %>=}}(<%text%>)",
      "desc": "The equals sign (used on both sides) should permit delimiter changes."
    },
    {
      "name": "Special Characters",
      "data": { "text": "It worked!" },
      "expected": "(It worked!)",
      "template": "({{=[ ]=}}[text])",
      "desc": "Characters with special meaning regexen should be valid delimiters."
    },
    {
      "name": "Sections",
      "data": { "section": true, "data": "I got interpolated." },
      "expected": "[\n  I got interpolated.\n  |data|\n\n  {{data}}\n  I got interpolated.\n]\n",
      "template": "[\n{{#section}}\n  {{data}}\n  |data|\n{{/section}}\n\n{{= | | =}}\n|#section|\n  {{data}}\n  |data|\n|/section|\n]\n",
      "desc": "Delimiters set outside sections should persist."
    },
    {
      "name": "Inverted Sections",
      "data": { "section": false, "data": "I got interpolated." },
      "expected": "[\n  I got interpolated.\n  |data|\n\n  {{data}}\n  I got interpolated.\n]\n",
      "template": "[\n{{^section}}\n  {{data}}\n  |data|\n{{/section}}\n\n{{= | | =}}\n|^section|\n  {{data}}\n  |data|\n|/section|\n]\n",
      "desc": "Delimiters set outside inverted sections should persist."
    },
    {
      "name": "Surrounding Whitespace",
      "data": {},
      "expected": "|  |",
      "template": "| {{=@ @=}} |",
      "desc": "Surrounding whitespace should be left untouched."
    },
    {
      "name": "Outlying Whitespace (Inline)",
      "data": {},
      "expected": " | \n",
      "template": " | {{=@ @=}}\n",
      "desc": "Whitespace should be left untouched."
    },
    {
      "name": "Standalone Tag",
      "data": {},
      "expected": "Begin.\nEnd.\n",
      "template": "Begin.\n{{=@ @=}}\nEnd.\n",
      "desc": "Standalone lines should be removed from the template."
    },
    {
      "name": "Indented Standalone Tag",
      "data": {},
      "expected": "Begin.\nEnd.\n",
      "template": "Begin.\n  {{=@ @=}}\nEnd.\n",
      "desc": "Indented standalone lines should be removed from the template."
    },
    {
      "name": "Pair with Padding",
      "data": {},
      "expected": "||",
      "template": "|{{= @   @ =}}|",
      "desc": "Superfluous in-tag whitespace should be ignored."
    }
  ]
}
