{
  "schema": "https://bars.commonsware.com/conformance/schema/render-fixture.schema.json",
  "version": "0.1.0",
  "cases": [
    {
      "name": "remove_first-basic",
      "spotlight": true,
      "description": "Removes only the first occurrence; later matches are untouched.",
      "template": "{{ phrase | remove_first: \"o\" }}",
      "context": {
        "phrase": "foo boo"
      },
      "expect": {
        "kind": "output",
        "expectedOutput": "fo boo"
      }
    },
    {
      "name": "remove_first-target-absent",
      "description": "If the substring is absent, output equals input.",
      "template": "{{ phrase | remove_first: \"xyz\" }}",
      "context": {
        "phrase": "hello world"
      },
      "expect": {
        "kind": "output",
        "expectedOutput": "hello world"
      }
    },
    {
      "name": "remove_first-empty-arg",
      "description": "Removing an empty string leaves the input unchanged.",
      "template": "{{ phrase | remove_first: \"\" }}",
      "context": {
        "phrase": "hello"
      },
      "expect": {
        "kind": "output",
        "expectedOutput": "hello"
      }
    },
    {
      "name": "remove_first-zero-args-is-error",
      "description": "Zero arguments is an arity error.",
      "template": "{{ phrase | remove_first }}",
      "context": {
        "phrase": "hello"
      },
      "expect": {
        "kind": "error",
        "errorCode": "KB-2002"
      }
    },
    {
      "name": "remove_first-two-args-is-error",
      "description": "Two arguments is an arity error.",
      "template": "{{ phrase | remove_first: \"a\" \"b\" }}",
      "context": {
        "phrase": "hello"
      },
      "expect": {
        "kind": "error",
        "errorCode": "KB-2002"
      }
    },
    {
      "name": "remove_first-chained-after-upcase",
      "spotlight": true,
      "description": "Composes correctly when input arrives from a prior transform.",
      "template": "{{ phrase | upcase | remove_first: \"L\" }}",
      "context": {
        "phrase": "hello"
      },
      "expect": {
        "kind": "output",
        "expectedOutput": "HELO"
      }
    }
  ]
}
