Wed, 31 Dec 2014 13:27:57 +0100
Ignore runtime configuration files generated during quality assurance.
michael@0 | 1 | // Copyright 2009 the Sputnik authors. All rights reserved. |
michael@0 | 2 | // This code is governed by the BSD license found in the LICENSE file. |
michael@0 | 3 | |
michael@0 | 4 | /** |
michael@0 | 5 | * If Result.type is break and Result.target is in the current |
michael@0 | 6 | * label set, return (normal, Result.value, empty) |
michael@0 | 7 | * |
michael@0 | 8 | * @path ch12/12.11/S12.11_A1_T2.js |
michael@0 | 9 | * @description Switch with different types of variables |
michael@0 | 10 | */ |
michael@0 | 11 | |
michael@0 | 12 | var x = new Number(2); |
michael@0 | 13 | |
michael@0 | 14 | function SwitchTest(value){ |
michael@0 | 15 | var result = 0; |
michael@0 | 16 | |
michael@0 | 17 | switch(value) { |
michael@0 | 18 | case 0: |
michael@0 | 19 | result += 2; |
michael@0 | 20 | case '1': |
michael@0 | 21 | result += 4; |
michael@0 | 22 | break; |
michael@0 | 23 | case new Number(2): |
michael@0 | 24 | result += 8; |
michael@0 | 25 | case 3: |
michael@0 | 26 | result += 16; |
michael@0 | 27 | default: |
michael@0 | 28 | result += 32; |
michael@0 | 29 | break; |
michael@0 | 30 | case 4: |
michael@0 | 31 | result += 64; |
michael@0 | 32 | break; |
michael@0 | 33 | case x: |
michael@0 | 34 | result += 128; |
michael@0 | 35 | break; |
michael@0 | 36 | case 0: |
michael@0 | 37 | result += 256; |
michael@0 | 38 | case 1: |
michael@0 | 39 | result += 512; |
michael@0 | 40 | } |
michael@0 | 41 | |
michael@0 | 42 | return result; |
michael@0 | 43 | } |
michael@0 | 44 | |
michael@0 | 45 | if(!(SwitchTest(0) === 6)){ |
michael@0 | 46 | $ERROR("#1: SwitchTest(0) === 6. Actual: SwitchTest(0) ==="+ SwitchTest(0) ); |
michael@0 | 47 | } |
michael@0 | 48 | |
michael@0 | 49 | if(!(SwitchTest(1) === 512)){ |
michael@0 | 50 | $ERROR("#2: SwitchTest(1) === 512. Actual: SwitchTest(1) ==="+ SwitchTest(1) ); |
michael@0 | 51 | } |
michael@0 | 52 | |
michael@0 | 53 | if(!(SwitchTest(2) === 32)){ |
michael@0 | 54 | $ERROR("#3: SwitchTest(2) === 32. Actual: SwitchTest(2) ==="+ SwitchTest(2) ); |
michael@0 | 55 | } |
michael@0 | 56 | |
michael@0 | 57 | if(!(SwitchTest(3) === 48)){ |
michael@0 | 58 | $ERROR("#4: SwitchTest(3) === 48. Actual: SwitchTest(3) ==="+ SwitchTest(3) ); |
michael@0 | 59 | } |
michael@0 | 60 | |
michael@0 | 61 | if(!(SwitchTest(4) === 64)){ |
michael@0 | 62 | $ERROR("#5: SwitchTest(4) === 64. Actual: SwitchTest(4) ==="+ SwitchTest(4) ); |
michael@0 | 63 | } |
michael@0 | 64 | |
michael@0 | 65 | if(!(SwitchTest(true) === 32)){ |
michael@0 | 66 | $ERROR("#6: SwitchTest(true) === 32. Actual: SwitchTest(true) ==="+ SwitchTest(true) ); |
michael@0 | 67 | } |
michael@0 | 68 | |
michael@0 | 69 | if(!(SwitchTest(false) === 32)){ |
michael@0 | 70 | $ERROR("#7: SwitchTest(false) === 32. Actual: SwitchTest(false) ==="+ SwitchTest(false) ); |
michael@0 | 71 | } |
michael@0 | 72 | |
michael@0 | 73 | if(!(SwitchTest(null) === 32)){ |
michael@0 | 74 | $ERROR("#8: SwitchTest(null) === 32. Actual: SwitchTest(null) ==="+ SwitchTest(null) ); |
michael@0 | 75 | } |
michael@0 | 76 | |
michael@0 | 77 | if(!(SwitchTest(void 0) === 32)){ |
michael@0 | 78 | $ERROR("#9: SwitchTest(void 0) === 32. Actual: SwitchTest(void 0) ==="+ SwitchTest(void 0) ); |
michael@0 | 79 | } |
michael@0 | 80 | |
michael@0 | 81 | if(!(SwitchTest('0') === 32)){ |
michael@0 | 82 | $ERROR("#10: SwitchTest('0') === 32. Actual: SwitchTest('0') ==="+ SwitchTest('0') ); |
michael@0 | 83 | } |
michael@0 | 84 | |
michael@0 | 85 | if(!(SwitchTest(x) === 128)){ |
michael@0 | 86 | $ERROR("#10: SwitchTest(x) === 128. Actual: SwitchTest(x) ==="+ SwitchTest(x) ); |
michael@0 | 87 | } |
michael@0 | 88 |