Future test6()

in Language/Statements/Continue/async_loops_t10.dart [134:172]


Future test6() async {
  List<int> log = [];
  int i = 0;
  L:
  await for (String s in makeStream(['a0', 'b0'], i++, log)) {
    switch (s) {
      case 'a0':
        await for (String s in makeStream(['a1', 'b1', 'c1'], i++, log)) {
          switch (s) {
            case 'a1':
              continue;
            case 'b1':
              continue M; // issue 25310
          }
        }
        break;

      M:
      case 'b0':
        print("M");
        await for (String s in makeStream(['a2', 'b2'], i++, log)) {
          List list = ['a'+i.toString(), 'b'+i.toString(), 'c'+i.toString()];
          K:
          await for (String s in makeStream(list, i++, log)) {
            switch (s) {
              case 'a3':
                continue;
              case 'b3':
                continue K;
              case 'b4':
                continue L;
            }
          }
        }
        break;
    }
  }
  Expect.listEquals([1, 4, 2], log);
}