|  | // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 
|  | // for details. All rights reserved. Use of this source code is governed by a | 
|  | // BSD-style license that can be found in the LICENSE file. | 
|  | // Dart test program for testing for statement. | 
|  |  | 
|  | import "package:expect/expect.dart"; | 
|  |  | 
|  | // Test several variations of for loops: | 
|  | //   * With or without an initializer. | 
|  | //   * With or without a test. | 
|  | //   * With or without an update. | 
|  | //   * With or without a continue. | 
|  | //   * With or without a fall through exit from the body. | 
|  | //   * With or without a break. | 
|  |  | 
|  | // Note that some possibilities are infinite loops and so not tested. | 
|  | // Combinations that do not have a break or a test but do have a | 
|  | // fall through from the body or a continue will never exit the loop. | 
|  |  | 
|  | // Each loop test function sets a status containing a bit for each part of | 
|  | // the loop that is present, and then clears the bit as that part of the | 
|  | // loop is executed.  The test expectation should be 0 (all present parts | 
|  | // were executed), except for a few cases where an update expression is | 
|  | // unreachable due to a break or return in the loop body. | 
|  |  | 
|  | const int INIT = 1; | 
|  | const int TEST = 2; | 
|  | const int UPDATE = 4; | 
|  | const int CONTINUE = 8; | 
|  | const int FALL = 16; | 
|  | const int BREAK = 32; | 
|  |  | 
|  | var status; | 
|  |  | 
|  | void loop0() { | 
|  | status = 0; | 
|  | for (;;) { | 
|  | return; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop1() { | 
|  | status = INIT; | 
|  | for (status &= ~INIT;;) { | 
|  | return; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop2() { | 
|  | status = TEST; | 
|  | for (; (status &= ~TEST) != 0;) { | 
|  | return; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop3() { | 
|  | status = INIT | TEST; | 
|  | for (status &= ~INIT; (status &= ~TEST) != 0;) { | 
|  | return; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop4() { | 
|  | status = UPDATE; | 
|  | for (;; status &= ~UPDATE) { | 
|  | return; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop5() { | 
|  | status = INIT | UPDATE; | 
|  | for (status &= ~INIT;; status &= ~UPDATE) { | 
|  | return; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop6() { | 
|  | status = TEST | UPDATE; | 
|  | for (; (status &= ~TEST) != 0; status &= ~UPDATE) { | 
|  | return; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop7() { | 
|  | status = INIT | TEST | UPDATE; | 
|  | for (status &= ~INIT; (status &= ~TEST) != 0; status &= ~UPDATE) { | 
|  | return; | 
|  | } | 
|  | } | 
|  |  | 
|  | // Infinite loop not tested. | 
|  | void loop8() { | 
|  | status = CONTINUE; | 
|  | for (;;) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | } | 
|  |  | 
|  | // Infinite loop not tested. | 
|  | void loop9() { | 
|  | status = INIT | CONTINUE; | 
|  | for (status &= ~INIT;;) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop10() { | 
|  | status = TEST | CONTINUE; | 
|  | for (; (status &= ~TEST) != 0;) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop11() { | 
|  | status = INIT | TEST | CONTINUE; | 
|  | for (status &= ~INIT; (status &= ~TEST) != 0;) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | } | 
|  |  | 
|  | // Infinite loop. | 
|  | void loop12() { | 
|  | status = UPDATE | CONTINUE; | 
|  | for (;; status &= ~UPDATE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | } | 
|  |  | 
|  | // Infinite loop. | 
|  | void loop13() { | 
|  | status = INIT | UPDATE | CONTINUE; | 
|  | for (status &= ~INIT;; status &= ~UPDATE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop14() { | 
|  | status = TEST | UPDATE | CONTINUE; | 
|  | for (; (status &= ~TEST) != 0; status &= ~UPDATE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop15() { | 
|  | status = INIT | TEST | UPDATE | CONTINUE; | 
|  | for (status &= ~INIT; (status &= ~TEST) != 0; status &= ~UPDATE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | } | 
|  |  | 
|  | // Infinite loop. | 
|  | void loop16() { | 
|  | status = FALL; | 
|  | for (;;) { | 
|  | status &= ~FALL; | 
|  | } | 
|  | } | 
|  |  | 
|  | // Infinite loop. | 
|  | void loop17() { | 
|  | status = INIT | FALL; | 
|  | for (status &= ~INIT;;) { | 
|  | status &= ~FALL; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop18() { | 
|  | status = TEST | FALL; | 
|  | for (; (status &= ~TEST) != 0;) { | 
|  | status &= ~FALL; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop19() { | 
|  | status = INIT | TEST | FALL; | 
|  | for (status &= ~INIT; (status &= ~TEST) != 0;) { | 
|  | status &= ~FALL; | 
|  | } | 
|  | } | 
|  |  | 
|  | // Infinite loop. | 
|  | void loop20() { | 
|  | status = UPDATE | FALL; | 
|  | for (;; status &= ~UPDATE) { | 
|  | status &= ~FALL; | 
|  | } | 
|  | } | 
|  |  | 
|  | // Infinite loop. | 
|  | void loop21() { | 
|  | status = INIT | UPDATE | FALL; | 
|  | for (status &= ~INIT;; status &= ~UPDATE) { | 
|  | status &= ~FALL; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop22() { | 
|  | status = TEST | UPDATE | FALL; | 
|  | for (; (status &= ~TEST) != 0; status &= ~UPDATE) { | 
|  | status &= ~FALL; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop23() { | 
|  | status = INIT | TEST | UPDATE | FALL; | 
|  | for (status &= ~INIT; (status &= ~TEST) != 0; status &= ~UPDATE) { | 
|  | status &= ~FALL; | 
|  | } | 
|  | } | 
|  |  | 
|  | // Infinite loop. | 
|  | void loop24() { | 
|  | status = CONTINUE | FALL; | 
|  | for (;;) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | status &= ~FALL; | 
|  | } | 
|  | } | 
|  |  | 
|  | // Infinite loop. | 
|  | void loop25() { | 
|  | status = INIT | CONTINUE | FALL; | 
|  | for (status &= ~INIT;;) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | status &= ~FALL; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop26() { | 
|  | status = TEST | CONTINUE | FALL; | 
|  | for (; (status &= ~TEST) != 0;) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | status &= ~FALL; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop27() { | 
|  | status = INIT | TEST | CONTINUE | FALL; | 
|  | for (status &= ~INIT; (status &= ~TEST) != 0;) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | status &= ~FALL; | 
|  | } | 
|  | } | 
|  |  | 
|  | // Infinite loop. | 
|  | void loop28() { | 
|  | status = UPDATE | CONTINUE | FALL; | 
|  | for (;; status &= ~UPDATE) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | status &= ~FALL; | 
|  | } | 
|  | } | 
|  |  | 
|  | // Infinite loop. | 
|  | void loop29() { | 
|  | status = INIT | UPDATE | CONTINUE | FALL; | 
|  | for (status &= ~INIT;; status &= ~UPDATE) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | status &= ~FALL; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop30() { | 
|  | status = TEST | UPDATE | CONTINUE | FALL; | 
|  | for (; (status &= ~TEST) != 0; status &= ~UPDATE) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | status &= ~FALL; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop31() { | 
|  | status = INIT | TEST | UPDATE | CONTINUE | FALL; | 
|  | for (status &= ~INIT; (status &= ~TEST) != 0; status &= ~UPDATE) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | status &= ~FALL; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop32() { | 
|  | status = BREAK; | 
|  | for (;;) { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop33() { | 
|  | status = INIT | BREAK; | 
|  | for (status &= ~INIT;;) { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop34() { | 
|  | status = TEST | BREAK; | 
|  | for (; (status &= ~TEST) != 0;) { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop35() { | 
|  | status = INIT | TEST | BREAK; | 
|  | for (status &= ~INIT; (status &= ~TEST) != 0;) { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop36() { | 
|  | status = UPDATE | BREAK; | 
|  | for (;; status &= ~UPDATE) { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop37() { | 
|  | status = INIT | UPDATE | BREAK; | 
|  | for (status &= ~INIT;; status &= ~UPDATE) { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop38() { | 
|  | status = TEST | UPDATE | BREAK; | 
|  | for (; (status &= ~TEST) != 0; status &= ~UPDATE) { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop39() { | 
|  | status = INIT | TEST | UPDATE | BREAK; | 
|  | for (status &= ~INIT; (status &= ~TEST) != 0; status &= ~UPDATE) { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop40() { | 
|  | status = CONTINUE | BREAK; | 
|  | for (;;) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop41() { | 
|  | status = INIT | CONTINUE | BREAK; | 
|  | for (status &= ~INIT;;) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop42() { | 
|  | status = TEST | CONTINUE | BREAK; | 
|  | for (; (status &= ~TEST) != 0;) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop43() { | 
|  | status = INIT | TEST | CONTINUE | BREAK; | 
|  | for (status &= ~INIT; (status &= ~TEST) != 0;) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop44() { | 
|  | status = UPDATE | CONTINUE | BREAK; | 
|  | for (;; status &= ~UPDATE) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop45() { | 
|  | status = INIT | UPDATE | CONTINUE | BREAK; | 
|  | for (status &= ~INIT;; status &= ~UPDATE) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop46() { | 
|  | status = TEST | UPDATE | CONTINUE | BREAK; | 
|  | for (; (status &= ~TEST) != 0; status &= ~UPDATE) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop47() { | 
|  | status = INIT | TEST | UPDATE | CONTINUE | BREAK; | 
|  | for (status &= ~INIT; (status &= ~TEST) != 0; status &= ~UPDATE) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop48() { | 
|  | status = FALL | BREAK; | 
|  | for (;;) { | 
|  | if ((status & FALL) == FALL) { | 
|  | status &= ~FALL; | 
|  | } else { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop49() { | 
|  | status = INIT | FALL | BREAK; | 
|  | for (status &= ~INIT;;) { | 
|  | if ((status & FALL) == FALL) { | 
|  | status &= ~FALL; | 
|  | } else { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop50() { | 
|  | status = TEST | FALL | BREAK; | 
|  | for (; (status &= ~TEST) != 0;) { | 
|  | if ((status & FALL) == FALL) { | 
|  | status &= ~FALL; | 
|  | } else { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop51() { | 
|  | status = INIT | TEST | FALL | BREAK; | 
|  | for (status &= ~INIT; (status &= ~TEST) != 0;) { | 
|  | if ((status & FALL) == FALL) { | 
|  | status &= ~FALL; | 
|  | } else { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop52() { | 
|  | status = UPDATE | FALL | BREAK; | 
|  | for (;; status &= ~UPDATE) { | 
|  | if ((status & FALL) == FALL) { | 
|  | status &= ~FALL; | 
|  | } else { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop53() { | 
|  | status = INIT | UPDATE | FALL | BREAK; | 
|  | for (status &= ~INIT;; status &= ~UPDATE) { | 
|  | if ((status & FALL) == FALL) { | 
|  | status &= ~FALL; | 
|  | } else { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop54() { | 
|  | status = TEST | UPDATE | FALL | BREAK; | 
|  | for (; (status &= ~TEST) != 0; status &= ~UPDATE) { | 
|  | if ((status & FALL) == FALL) { | 
|  | status &= ~FALL; | 
|  | } else { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop55() { | 
|  | status = INIT | TEST | UPDATE | FALL | BREAK; | 
|  | for (status &= ~INIT; (status &= ~TEST) != 0; status &= ~UPDATE) { | 
|  | if ((status & FALL) == FALL) { | 
|  | status &= ~FALL; | 
|  | } else { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop56() { | 
|  | status = CONTINUE | FALL | BREAK; | 
|  | for (;;) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | if ((status & FALL) == FALL) { | 
|  | status &= ~FALL; | 
|  | } else { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop57() { | 
|  | status = INIT | CONTINUE | FALL | BREAK; | 
|  | for (status &= ~INIT;;) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | if ((status & FALL) == FALL) { | 
|  | status &= ~FALL; | 
|  | } else { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop58() { | 
|  | status = TEST | CONTINUE | FALL | BREAK; | 
|  | for (; (status &= ~TEST) != 0;) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | if ((status & FALL) == FALL) { | 
|  | status &= ~FALL; | 
|  | } else { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop59() { | 
|  | status = INIT | TEST | CONTINUE | FALL | BREAK; | 
|  | for (status &= ~INIT; (status &= ~TEST) != 0;) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | if ((status & FALL) == FALL) { | 
|  | status &= ~FALL; | 
|  | } else { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop60() { | 
|  | status = UPDATE | CONTINUE | FALL | BREAK; | 
|  | for (;; status &= ~UPDATE) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | if ((status & FALL) == FALL) { | 
|  | status &= ~FALL; | 
|  | } else { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop61() { | 
|  | status = INIT | UPDATE | CONTINUE | FALL | BREAK; | 
|  | for (status &= ~INIT;; status &= ~UPDATE) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | if ((status & FALL) == FALL) { | 
|  | status &= ~FALL; | 
|  | } else { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop62() { | 
|  | status = TEST | UPDATE | CONTINUE | FALL | BREAK; | 
|  | for (; (status &= ~TEST) != 0; status &= ~UPDATE) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | if ((status & FALL) == FALL) { | 
|  | status &= ~FALL; | 
|  | } else { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | void loop63() { | 
|  | status = INIT | TEST | UPDATE | CONTINUE | FALL | BREAK; | 
|  | for (status &= ~INIT; (status &= ~TEST) != 0; status &= ~UPDATE) { | 
|  | if ((status & CONTINUE) == CONTINUE) { | 
|  | status &= ~CONTINUE; | 
|  | continue; | 
|  | } | 
|  | if ((status & FALL) == FALL) { | 
|  | status &= ~FALL; | 
|  | } else { | 
|  | status &= ~BREAK; | 
|  | break; | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | void main() { | 
|  | loop0(); | 
|  | Expect.equals(0, status); | 
|  | loop1(); | 
|  | Expect.equals(0, status); | 
|  | loop2(); | 
|  | Expect.equals(0, status); | 
|  | loop3(); | 
|  | Expect.equals(0, status); | 
|  |  | 
|  | // The next four tests return with status UPDATE because they return | 
|  | // before the update expression is reached. | 
|  | loop4(); | 
|  | Expect.equals(UPDATE, status); | 
|  | loop5(); | 
|  | Expect.equals(UPDATE, status); | 
|  | loop6(); | 
|  | Expect.equals(UPDATE, status); | 
|  | loop7(); | 
|  | Expect.equals(UPDATE, status); | 
|  |  | 
|  | loop10(); | 
|  | Expect.equals(0, status); | 
|  | loop11(); | 
|  | Expect.equals(0, status); | 
|  | loop14(); | 
|  | Expect.equals(0, status); | 
|  | loop15(); | 
|  | Expect.equals(0, status); | 
|  | loop18(); | 
|  | Expect.equals(0, status); | 
|  | loop19(); | 
|  | Expect.equals(0, status); | 
|  | loop22(); | 
|  | Expect.equals(0, status); | 
|  | loop23(); | 
|  | Expect.equals(0, status); | 
|  | loop26(); | 
|  | Expect.equals(0, status); | 
|  | loop27(); | 
|  | Expect.equals(0, status); | 
|  | loop30(); | 
|  | Expect.equals(0, status); | 
|  | loop31(); | 
|  | Expect.equals(0, status); | 
|  | loop32(); | 
|  | Expect.equals(0, status); | 
|  | loop33(); | 
|  | Expect.equals(0, status); | 
|  | loop34(); | 
|  | Expect.equals(0, status); | 
|  | loop35(); | 
|  | Expect.equals(0, status); | 
|  |  | 
|  | // The next four tests return with status UPDATE because they break from | 
|  | // the loop before the update expression is reached. | 
|  | loop36(); | 
|  | Expect.equals(4, status); | 
|  | loop37(); | 
|  | Expect.equals(4, status); | 
|  | loop38(); | 
|  | Expect.equals(4, status); | 
|  | loop39(); | 
|  | Expect.equals(4, status); | 
|  |  | 
|  | loop40(); | 
|  | Expect.equals(0, status); | 
|  | loop41(); | 
|  | Expect.equals(0, status); | 
|  | loop42(); | 
|  | Expect.equals(0, status); | 
|  | loop43(); | 
|  | Expect.equals(0, status); | 
|  | loop44(); | 
|  | Expect.equals(0, status); | 
|  | loop45(); | 
|  | Expect.equals(0, status); | 
|  | loop46(); | 
|  | Expect.equals(0, status); | 
|  | loop47(); | 
|  | Expect.equals(0, status); | 
|  | loop48(); | 
|  | Expect.equals(0, status); | 
|  | loop49(); | 
|  | Expect.equals(0, status); | 
|  | loop50(); | 
|  | Expect.equals(0, status); | 
|  | loop51(); | 
|  | Expect.equals(0, status); | 
|  | loop52(); | 
|  | Expect.equals(0, status); | 
|  | loop53(); | 
|  | Expect.equals(0, status); | 
|  | loop54(); | 
|  | Expect.equals(0, status); | 
|  | loop55(); | 
|  | Expect.equals(0, status); | 
|  | loop56(); | 
|  | Expect.equals(0, status); | 
|  | loop57(); | 
|  | Expect.equals(0, status); | 
|  | loop58(); | 
|  | Expect.equals(0, status); | 
|  | loop59(); | 
|  | Expect.equals(0, status); | 
|  | loop60(); | 
|  | Expect.equals(0, status); | 
|  | loop61(); | 
|  | Expect.equals(0, status); | 
|  | loop62(); | 
|  | Expect.equals(0, status); | 
|  | loop63(); | 
|  | Expect.equals(0, status); | 
|  | } |