{
  "$schema": "../../test_case_schema.json",
  "cases": [
    {
      "description": "should not match directives on i18n attribute",
      "inputFiles": [
        "i18n_attribute_directive.ts"
      ],
      "expectations": [
        {
          "failureMessage": "Incorrect definition",
          "files": [
            {
              "expected": "i18n_attribute_directive_definition.js",
              "generated": "i18n_attribute_directive.js"
            }
          ]
        },
        {
          "failureMessage": "Incorrect factory",
          "files": [
            {
              "expected": "i18n_attribute_directive_factory.js",
              "generated": "i18n_attribute_directive.js"
            }
          ]
        }
      ]
    },
    {
      "description": "should not match directives on i18n-prefixed attributes",
      "inputFiles": [
        "i18n_prefix_attribute_directive.ts"
      ],
      "expectations": [
        {
          "failureMessage": "Incorrect definition",
          "files": [
            {
              "expected": "i18n_prefix_attribute_directive_definition.js",
              "generated": "i18n_prefix_attribute_directive.js"
            }
          ]
        },
        {
          "failureMessage": "Incorrect factory",
          "files": [
            {
              "expected": "i18n_prefix_attribute_directive_factory.js",
              "generated": "i18n_prefix_attribute_directive.js"
            }
          ]
        }
      ]
    },
    {
      "description": "should match directives on property bindings",
      "inputFiles": [
        "property_binding_directive.ts"
      ],
      "expectations": [
        {
          "failureMessage": "Incorrect definition",
          "files": [
            {
              "expected": "property_binding_directive_definition.js",
              "generated": "property_binding_directive.js"
            }
          ]
        }
      ]
    },
    {
      "description": "should match directives on ng-templates",
      "inputFiles": [
        "ng_template_directive.ts"
      ],
      "expectations": [
        {
          "failureMessage": "Incorrect definition",
          "files": [
            {
              "expected": "ng_template_directive_definition.js",
              "generated": "ng_template_directive.js"
            }
          ]
        }
      ]
    },
    {
      "description": "should match directives on ng-container",
      "inputFiles": [
        "ng_container_directive.ts"
      ],
      "expectations": [
        {
          "failureMessage": "Incorrect definition",
          "files": [
            {
              "expected": "ng_container_directive_definition.js",
              "generated": "ng_container_directive.js"
            }
          ]
        }
      ]
    },
    {
      "description": "should match directives on ng-template bindings",
      "inputFiles": [
        "ng_template_binding_directive.ts"
      ],
      "expectations": [
        {
          "failureMessage": "Incorrect definition",
          "files": [
            {
              "expected": "ng_template_binding_directive_definition.js",
              "generated": "ng_template_binding_directive.js"
            }
          ]
        }
      ]
    },
    {
      "description": "should match structural directives",
      "inputFiles": [
        "structural_directive.ts"
      ],
      "expectations": [
        {
          "failureMessage": "Incorrect definition",
          "files": [
            {
              "expected": "structural_directive_definition.js",
              "generated": "structural_directive.js"
            }
          ]
        }
      ]
    },
    {
      "description": "should match directives on element outputs",
      "inputFiles": [
        "output_directive.ts"
      ],
      "expectations": [
        {
          "failureMessage": "Incorrect definition",
          "files": [
            {
              "expected": "output_directive_definition.js",
              "generated": "output_directive.js"
            }
          ]
        }
      ]
    }
  ]
}
