Files
divkit/test_data/expression_test_data/operations_ternary.json
T

155 lines
4.2 KiB
JSON

{
"cases": [
{
"name": "2 > a + 1 ? 1 : 'some string' => some string",
"expression": "@{2 > a + 1 ? 1 : 'some string'}",
"expected": {
"type": "string",
"value": "some string"
},
"variables": [
{
"name": "a",
"type": "integer",
"value": 1
}
],
"platforms": [
"android",
"web",
"ios"
]
},
{
"name": "2 > a + 1 ? 1 : 'some string' => 1",
"expression": "@{2 > a + 1 ? 1 : 'some string'}",
"expected": {
"type": "integer",
"value": 1
},
"variables": [
{
"name": "a",
"type": "integer",
"value": 0
}
],
"platforms": [
"android",
"web",
"ios"
]
},
{
"name": "isTrue ? 'It is true' : 'It is false' => It is false",
"expression": "@{isTrue ? 'It is true' : 'It is false'}",
"expected": {
"type": "string",
"value": "It is false"
},
"variables": [
{
"name": "isTrue",
"type": "boolean",
"value": false
}
],
"platforms": [
"android",
"web",
"ios"
]
},
{
"name": "isTrue ? 'It is true' : 'It is false' => It is true",
"expression": "@{isTrue ? 'It is true' : 'It is false'}",
"expected": {
"type": "string",
"value": "It is true"
},
"variables": [
{
"name": "isTrue",
"type": "boolean",
"value": true
}
],
"platforms": [
"android",
"web",
"ios"
]
},
{
"name": "true ? (3 + 1) * -2 : false || (true && false) => -8",
"expression": "@{true ? (3 + 1) * -2 : false || (true && false)}",
"expected": {
"type": "integer",
"value": -8
},
"variables": [],
"platforms": [
"android",
"web",
"ios"
]
},
{
"name": "false ? (3 + 1) * -2 : false || (true && false) => false",
"expression": "@{false ? (3 + 1) * -2 : false || (true && false)}",
"expected": {
"type": "boolean",
"value": false
},
"variables": [],
"platforms": [
"android",
"web",
"ios"
]
},
{
"name": "2 ? 1 : 0 => error",
"expression": "@{2 ? 1 : 0}",
"expected": {
"type": "error",
"value": "Failed to evaluate [2 ? 1 : 0]. Ternary must be called with a Boolean value as a condition."
},
"variables": [],
"platforms": [
"android",
"web",
"ios"
]
},
{
"name": "true ? 0 : true ? 1 : 2 => 0",
"expression": "@{true ? 0 : true ? 1 : 2}",
"expected": {
"type": "integer",
"value": 0
},
"variables": [],
"platforms": [
"android",
"web",
"ios"
]
},
{
"name": "true ? false ? 1 : 2 : 0 => 2",
"expression": "@{true ? false ? 1 : 2 : 0}",
"expected": {
"type": "integer",
"value": 2
},
"variables": [],
"platforms": [
"android",
"web",
"ios"
]
}
]
}