Checking in test for nested ternaries; this is more a test of the ast than the parser

This commit is contained in:
Wolfgang (Blub) Bumiller 2012-11-26 14:12:56 +01:00
parent 08551eefba
commit e6928c6b78
2 changed files with 43 additions and 0 deletions

27
tests/ternary.qc Normal file
View file

@ -0,0 +1,27 @@
void print(...) = #1;
string ftos (float) = #2;
void test(float cond, float v1, float v2, float a) {
print(ftos(cond ? v1 : v2), " ");
print( (cond ? v1 : v2) ? ( (a == 1) ? "a=1"
: (a == 2) ? "a=2"
: "a=other"
)
: "not met",
"\n");
}
void main() {
test(0, -99, 1, 1);
test(0, -99, 1, 2);
test(0, -99, 1, 3);
test(0, -99, 0, 1);
test(0, -99, 0, 2);
test(0, -99, 0, 3);
test(1, 1, -99, 1);
test(1, 1, -99, 2);
test(1, 1, -99, 3);
test(1, 0, -99, 1);
test(1, 0, -99, 2);
test(1, 0, -99, 3);
}

16
tests/ternary.tmpl Normal file
View file

@ -0,0 +1,16 @@
I: ternary.qc
D: nested ternary expressions
T: -execute
C: -std=fteqcc
M: 1 a=1
M: 1 a=2
M: 1 a=other
M: 0 not met
M: 0 not met
M: 0 not met
M: 1 a=1
M: 1 a=2
M: 1 a=other
M: 0 not met
M: 0 not met
M: 0 not met