Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.idea
74 changes: 74 additions & 0 deletions tests/var.extra.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
[
{
"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
}
]