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