]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - tests/operators.qc
hopefully fix an off-by-1 vararg copy issue
[xonotic/gmqcc.git] / tests / operators.qc
index ed617e92b3e8f6031e483a76b541b8c1414ae177..46bd6bbeb81c2268edb8de30f86f74e18fad9b32 100644 (file)
@@ -1,7 +1,3 @@
-void   print(...)   = #1;
-string ftos (float) = #2;
-entity() spawn = #3;
-
 .float mem;
 
 void main() {
@@ -35,4 +31,27 @@ void main() {
        // check if minus translates
        print(ftos(a--), "\n");
        print(ftos(--a), "\n");
+
+       // postfix on members
+       print(ftos(e.mem--), " = ");
+       print(ftos(e.mem+1), "\n");
+
+       // compounds in general
+       a = 3;
+       print(ftos(a *= 2), " = 6\n");
+       print(ftos(a /= 2), " = 3\n");
+
+    // compounds on vectors
+       vector v;
+       v = '3 4 5';
+       print(vtos(v *= 2), " = '6 8 10'\n");
+       print(vtos(v /= 2), " = '3 4 5'\n");
+
+       // bit compounds
+       a = 1;
+       print(ftos(a |= 2), " = 3\n");
+       print(ftos(a &= 6), " = 2\n");
+       a = 7;
+
+       print(ftos(a &~= 3), " = 4\n");
 }