mirror of
https://github.com/DarkPlacesEngine/gmqcc.git
synced 2025-02-07 06:51:10 +00:00
Checking in test for nested ternaries; this is more a test of the ast than the parser
This commit is contained in:
parent
08551eefba
commit
e6928c6b78
2 changed files with 43 additions and 0 deletions
27
tests/ternary.qc
Normal file
27
tests/ternary.qc
Normal 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
16
tests/ternary.tmpl
Normal 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
|
Loading…
Reference in a new issue