{
  "schema": "https://bars.commonsware.com/conformance/schema/render-fixture.schema.json",
  "version": "0.1.0",
  "cases": [
    {
      "name": "reject-property-value",
      "spotlight": true,
      "description": "With two arguments, removes structs whose property equals the value.",
      "template": "{{ items | reject: \"k\" \"a\" }}",
      "context": {
        "items": [
          {
            "k": "a"
          },
          {
            "k": "b"
          }
        ]
      },
      "expect": {
        "kind": "output",
        "expectedOutput": "[{\"k\":\"b\"}]"
      }
    },
    {
      "name": "reject-property-truthy",
      "spotlight": true,
      "description": "With one argument, removes structs whose property is truthy (keeping the falsy ones).",
      "template": "{{ items | reject: \"on\" }}",
      "context": {
        "items": [
          {
            "on": true
          },
          {
            "on": false
          }
        ]
      },
      "expect": {
        "kind": "output",
        "expectedOutput": "[{\"on\":false}]"
      }
    },
    {
      "name": "reject-non-list-is-null",
      "description": "reject operates only on lists; a string input yields null.",
      "template": "{{ x | reject: \"k\" }}",
      "context": {
        "x": "hi"
      },
      "expect": {
        "kind": "output",
        "expectedOutput": "null"
      }
    },
    {
      "name": "reject-non-struct-contents-is-null",
      "description": "reject expects a list of structs; non-struct contents yield null.",
      "template": "{{ xs | reject: \"k\" }}",
      "context": {
        "xs": [
          1
        ]
      },
      "expect": {
        "kind": "output",
        "expectedOutput": "null"
      }
    },
    {
      "name": "reject-zero-args-is-error",
      "description": "Zero arguments is an arity error.",
      "template": "{{ items | reject }}",
      "context": {
        "items": [
          {
            "k": "a"
          }
        ]
      },
      "expect": {
        "kind": "error",
        "errorCode": "KB-2002"
      }
    },
    {
      "name": "reject-three-args-is-error",
      "description": "More than two arguments is an arity error.",
      "template": "{{ items | reject: \"k\" \"a\" \"b\" }}",
      "context": {
        "items": [
          {
            "k": "a"
          }
        ]
      },
      "expect": {
        "kind": "error",
        "errorCode": "KB-2002"
      }
    }
  ]
}
