{
  "$schema": "../../test_case_schema.json",
  "cases": [
    {
      "description": "should handle single translation message using <ng-container>",
      "inputFiles": [
        "single_ng-container.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should handle single translation message using <ng-template>",
      "inputFiles": [
        "single_ng-template.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should be able to act as child elements inside i18n block",
      "inputFiles": [
        "child_elements.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should handle ICUs outside of translatable sections",
      "inputFiles": [
        "bare_icus.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should correctly propagate i18n context through nested templates",
      "inputFiles": [
        "nested_templates.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should work with ICUs",
      "inputFiles": [
        "icus.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should handle self-closing tags as content",
      "inputFiles": [
        "self_closing_tags.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should not emit duplicate i18n consts for nested <ng-container>s",
      "inputFiles": [],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should not emit duplicate i18n consts for elements with the same content",
      "inputFiles": [
        "duplicate_content.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should generate a self-closing container instruction for ng-container inside i18n",
      "inputFiles": [
        "self_closing_ng-container.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should not generate a self-closing container instruction for ng-container with non-text ",
      "inputFiles": [
        "ng-container_with_non_text_content.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should handle structural directives",
      "inputFiles": [
        "structural_directives.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    }
  ]
}
