File indexing completed on 2024-04-28 15:28:39

0001 function testSwitch(v) {
0002   var result = "";
0003   switch (v) {
0004      case 0:
0005         result += 'a';
0006      case 1:
0007         result += 'b';
0008      case 1:
0009         result += 'c';
0010      case 2:
0011         result += 'd';
0012         break;
0013   }
0014   return result;
0015 }
0016 
0017 shouldBe("testSwitch(0)", "'abcd'");
0018 shouldBe("testSwitch(1)", "'bcd'"); // IE agrees, NS disagrees
0019 shouldBe("testSwitch(2)", "'d'");
0020 shouldBe("testSwitch(false)", "''");
0021 
0022 function testSwitch2(v) {
0023   var result = "";
0024   switch (v) {
0025      case 1:
0026         result += 'a';
0027         break;
0028      case 2:
0029         result += 'b';
0030         break;
0031      default:
0032         result += 'c';
0033      case 3:
0034         result += 'd';
0035         break;
0036   }
0037   return result;
0038 }
0039 
0040 shouldBe("testSwitch2(1)", "'a'");
0041 shouldBe("testSwitch2(2)", "'b'");
0042 shouldBe("testSwitch2(3)", "'d'");
0043 shouldBe("testSwitch2(-1)", "'cd'");
0044 shouldBe("testSwitch2('x')", "'cd'");
0045 
0046 function testSwitch3(v) {
0047   var result = "";
0048   switch (v) {
0049      default:
0050         result += 'c';
0051      case 3:
0052         result += 'd';
0053      case 4:
0054         result += 'e';
0055         break;
0056   }
0057   return result;
0058 };
0059 
0060 shouldBe("testSwitch3(0)", "'cde'");
0061 shouldBe("testSwitch3(3)", "'de'");
0062 shouldBe("testSwitch3(4)", "'e'");
0063 
0064 function testSwitch4(v) {
0065   var result = "";
0066   switch (v) {
0067      case 0:
0068         result += 'a';
0069         result += 'b';
0070         break;
0071   }
0072   return result;
0073 };
0074 
0075 shouldBe("testSwitch4(0)", "'ab'");
0076