Files
divkit/test_data/expression_test_data/operations_ternary.json
T
pkurchatov 73a8f1c928 Expression test data cleanup
658a28873c844cb1158bf510b2d3ffaa22d4d42d
2024-06-11 20:43:38 +03:00

166 lines
3.1 KiB
JSON

{
"cases": [
{
"expression": "@{3 < a + 1 ? 1 : 'some string'}",
"expected": {
"type": "string",
"value": "some string"
},
"variables": [
{
"name": "a",
"type": "integer",
"value": 1
}
],
"platforms": [
"android",
"web",
"ios"
]
},
{
"expression": "@{3 > a + 1 ? 1 : 'some string'}",
"expected": {
"type": "integer",
"value": 1
},
"variables": [
{
"name": "a",
"type": "integer",
"value": 1
}
],
"platforms": [
"android",
"web",
"ios"
]
},
{
"expression": "@{false_var ? 'true' : 'false'}",
"expected": {
"type": "string",
"value": "false"
},
"variables": [
{
"name": "false_var",
"type": "boolean",
"value": false
}
],
"platforms": [
"android",
"web",
"ios"
]
},
{
"expression": "@{true_var ? 'true' : 'false'}",
"expected": {
"type": "string",
"value": "true"
},
"variables": [
{
"name": "true_var",
"type": "boolean",
"value": true
}
],
"platforms": [
"android",
"web",
"ios"
]
},
{
"expression": "@{true ? (3 + 1) * -2 : false || (true && false)}",
"expected": {
"type": "integer",
"value": -8
},
"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
},
"platforms": [
"android",
"web",
"ios"
]
},
{
"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."
},
"platforms": [
"android",
"web",
"ios"
]
},
{
"expression": "@{true ? 0 : true ? 1 : 2}",
"expected": {
"type": "integer",
"value": 0
},
"platforms": [
"android",
"web",
"ios"
]
},
{
"expression": "@{true ? false ? 1 : 2 : 0}",
"expected": {
"type": "integer",
"value": 2
},
"platforms": [
"android",
"web",
"ios"
]
},
{
"expression": "@{false ? 1 : false ? 2 : false ? 3 : 4}",
"expected": {
"type": "integer",
"value": 4
},
"platforms": [
"android",
"web",
"ios"
]
},
{
"expression": "@{false?1.2:3.4}",
"expected": {
"type": "number",
"value": 3.4
},
"platforms": [
"android",
"web",
"ios"
]
}
]
}