]> git.xonotic.org Git - xonotic/gmqcc.git/blob - tests/parens.qc
gitignore: add gmqcc, gmqpak, qmcvm, testsuite, pak.
[xonotic/gmqcc.git] / tests / parens.qc
1 float arr[2];
2
3 string gets() { return "S\n"; }
4 void main(float x) {
5     string s;
6
7     s = gets();                // 0 params
8     print(s);                  // 1 param
9     print("A ", "B\n");        // 2 params
10     print("A ", "B ", "C\n");  // more params
11     print(gets());             // 0-param call in call
12     print(gets(), "next\n");   // 0-param call and another
13     print("-> ", gets());      // param + 0-param call
14     print(ftos(x), "\n");      // param-call + another
15     print(x ? "xA\n" : "xB\n");      // ternary in PAREN_FUNC
16     print(!x ? "xA\n" : "xB\n");      // ternary in PAREN_FUNC
17     // PAREN_INDEX
18     arr[0] = 10;
19     arr[1] = 11;
20     // PAREN_TERNARY + PAREN_INDEX
21     arr[x ? 0 : 1] += 100;
22     print(ftos(arr[0]), "\n");
23     print(ftos(arr[1]), "\n");
24     print(ftos(arr[x ? 0 : 1]), "\n");
25     print(ftos(arr[!x ? 0 : 1]), "\n");
26
27     // loops with comma operators
28     float i, j;
29     for (i = 0, j = 0; i < x; ++i)
30         print("-");
31     print("\n");
32
33     // if + PAREN_TERNARY2
34     if (x ? 1 : 0)
35         print("OK\n");
36     if (x ? 0 : 1)
37         print("NO\n");
38
39     // PAREN_FUNC in PAREN_EXPR
40     print(("Is this wrong ", "now?\n"));
41 }