{
  "$schema": "../../test_case_schema.json",
  "cases": [
    {
      "description": "should not produce instructions for empty content",
      "inputFiles": [
        "empty_content.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should ignore HTML comments within translated text",
      "inputFiles": [
        "comments_in_translated_text.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should properly escape quotes in content",
      "inputFiles": [
        "escape_quotes.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should handle interpolations wrapped in backticks",
      "inputFiles": [
        "backtick_quotes.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should handle i18n attributes with plain-text content",
      "inputFiles": [
        "plain_text_messages.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should support named interpolations",
      "inputFiles": [
        "named_interpolations.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should support interpolation with custom interpolation config",
      "inputFiles": [
        "interpolation_custom_config.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should support interpolations with complex expressions",
      "inputFiles": [
        "interpolation_complex_expressions.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should handle i18n attributes with bindings in content",
      "inputFiles": [
        "bindings_in_content.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should handle i18n attributes with bindings and nested elements in content",
      "inputFiles": [
        "nested_elements.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should handle i18n attributes with bindings in content and element attributes",
      "inputFiles": [
        "nested_elements_with_i18n_attributes.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should handle i18n attributes in nested templates",
      "inputFiles": [
        "nested_templates.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should ignore i18n attributes on self-closing tags",
      "inputFiles": [
        "self_closing.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should handle i18n context in nested templates",
      "inputFiles": [
        "nested_templates_context.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should handle i18n attribute with directives",
      "inputFiles": [
        "directives.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    },
    {
      "description": "should generate event listeners instructions before i18n ones",
      "inputFiles": [
        "event_listeners.ts"
      ],
      "expectations": [
        {
          "extraChecks": [
            "verifyPlaceholdersIntegrity",
            "verifyUniqueConsts"
          ]
        }
      ]
    }
  ]
}
