jsonlogic-hs-0.1.0.0: test/community/var.extra.json
[
{
"description": "var returns false when key exists with false value",
"rule": { "var": "active" },
"data": { "active": false },
"result": false
},
{
"description": "var returns 0 when key exists with 0 value",
"rule": { "var": "count" },
"data": { "count": 0 },
"result": 0
},
{
"description": "var returns empty string when key exists with empty string",
"rule": { "var": "name" },
"data": { "name": "" },
"result": ""
},
{
"description": "var with default does NOT use default when value is false",
"rule": { "var": ["active", true] },
"data": { "active": false },
"result": false
},
{
"description": "var with default does NOT use default when value is 0",
"rule": { "var": ["count", 99] },
"data": { "count": 0 },
"result": 0
},
{
"description": "var with default does NOT use default when value is empty string",
"rule": { "var": ["name", "anonymous"] },
"data": { "name": "" },
"result": ""
},
{
"description": "var with default DOES use default when key is missing",
"rule": { "var": ["missing", "default"] },
"data": { "other": "value" },
"result": "default"
},
{
"description": "nested var returns false from nested path",
"rule": { "var": "user.active" },
"data": { "user": { "active": false } },
"result": false
},
{
"description": "nested var returns 0 from nested path",
"rule": { "var": "user.score" },
"data": { "user": { "score": 0 } },
"result": 0
},
{
"description": "equality check with false value from var",
"rule": { "==": [{ "var": "is_beta" }, false] },
"data": { "is_beta": false },
"result": true
},
{
"description": "negation of false value from var",
"rule": { "!": [{ "var": "disabled" }] },
"data": { "disabled": false },
"result": true
},
{
"description": "and with false value from var",
"rule": { "and": [{ "var": "enabled" }, true] },
"data": { "enabled": false },
"result": false
}
]