js/src/tests/test262/ch12/12.11/S12.11_A1_T3.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

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_T3.js
michael@0 9 * @description Using case with null, NaN, Infinity
michael@0 10 */
michael@0 11
michael@0 12 function SwitchTest(value){
michael@0 13 var result = 0;
michael@0 14
michael@0 15 switch(value) {
michael@0 16 case 0:
michael@0 17 result += 2;
michael@0 18 case 1:
michael@0 19 result += 4;
michael@0 20 break;
michael@0 21 case 2:
michael@0 22 result += 8;
michael@0 23 case 3:
michael@0 24 result += 16;
michael@0 25 default:
michael@0 26 result += 32;
michael@0 27 break;
michael@0 28 case null:
michael@0 29 result += 64;
michael@0 30 case NaN:
michael@0 31 result += 128;
michael@0 32 break;
michael@0 33 case Infinity:
michael@0 34 result += 256;
michael@0 35 case 2+3:
michael@0 36 result += 512;
michael@0 37 break;
michael@0 38 case undefined:
michael@0 39 result += 1024;
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) === 4)){
michael@0 50 $ERROR("#2: SwitchTest(1) === 4. Actual: SwitchTest(1) ==="+ SwitchTest(1) );
michael@0 51 }
michael@0 52
michael@0 53 if(!(SwitchTest(2) === 56)){
michael@0 54 $ERROR("#3: SwitchTest(2) === 56. 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) === 32)){
michael@0 62 $ERROR("#5: SwitchTest(4) === 32. Actual: SwitchTest(4) ==="+ SwitchTest(4) );
michael@0 63 }
michael@0 64
michael@0 65 if(!(SwitchTest(5) === 512)){
michael@0 66 $ERROR("#5: SwitchTest(5) === 512. Actual: SwitchTest(5) ==="+ SwitchTest(5) );
michael@0 67 }
michael@0 68
michael@0 69 if(!(SwitchTest(true) === 32)){
michael@0 70 $ERROR("#6: SwitchTest(true) === 32. Actual: SwitchTest(true) ==="+ SwitchTest(true) );
michael@0 71 }
michael@0 72
michael@0 73 if(!(SwitchTest(false) === 32)){
michael@0 74 $ERROR("#7: SwitchTest(false) === 32. Actual: SwitchTest(false) ==="+ SwitchTest(false) );
michael@0 75 }
michael@0 76
michael@0 77 if(!(SwitchTest(null) === 192)){
michael@0 78 $ERROR("#8: SwitchTest(null) === 192. Actual: SwitchTest(null) ==="+ SwitchTest(null) );
michael@0 79 }
michael@0 80
michael@0 81 if(!(SwitchTest(void 0) === 1024)){
michael@0 82 $ERROR("#9: SwitchTest(void 0) === 1024. Actual: SwitchTest(void 0) ==="+ SwitchTest(void 0) );
michael@0 83 }
michael@0 84
michael@0 85 if(!(SwitchTest(NaN) === 32)){
michael@0 86 $ERROR("#10: SwitchTest(NaN) === 32. Actual: SwitchTest(NaN) ==="+ SwitchTest(NaN) );
michael@0 87 }
michael@0 88
michael@0 89 if(!(SwitchTest(Infinity) === 768)){
michael@0 90 $ERROR("#10: SwitchTest(NaN) === 768. Actual: SwitchTest(NaN) ==="+ SwitchTest(NaN) );
michael@0 91 }
michael@0 92

mercurial