[{
    "given":
        {"outer": {"foo": "foo", "bar": "bar", "baz": "baz"}},
     "cases": [
         {
            "expression": "outer.foo || outer.bar",
            "result": "foo"
         },
         {
            "expression": "outer.foo||outer.bar",
            "result": "foo"
         },
         {
            "expression": "outer.bar || outer.baz",
            "result": "bar"
         },
         {
            "expression": "outer.bar||outer.baz",
            "result": "bar"
         },
         {
            "expression": "outer.bad || outer.foo",
            "result": "foo"
         },
         {
            "expression": "outer.bad||outer.foo",
            "result": "foo"
         },
         {
            "expression": "outer.foo || outer.bad",
            "result": "foo"
         },
         {
            "expression": "outer.foo||outer.bad",
            "result": "foo"
         },
         {
            "expression": "outer.bad || outer.alsobad",
            "result": null
         },
         {
            "expression": "outer.bad||outer.alsobad",
            "result": null
         }
     ]
}, {
    "given":
        {"outer": {"foo": "foo", "bool": false, "empty_list": [], "empty_string": ""}},
     "cases": [
         {
            "expression": "outer.empty_string || outer.foo",
            "result": "foo"
         },
         {
            "expression": "outer.nokey || outer.bool || outer.empty_list || outer.empty_string || outer.foo",
            "result": "foo"
         }
     ]
}]
