Wed, 31 Dec 2014 06:09:35 +0100
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_T4.js |
michael@0 | 9 | * @description Using case with isNaN and isNaN(value) |
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 isNaN(value): |
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 isNaN: |
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(eval('Number(false)')) === 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(parseInt) === 32)){ |
michael@0 | 50 | $ERROR("#2: SwitchTest(parseInt) === 32. Actual: SwitchTest(parseInt) ==="+ SwitchTest(parseInt) ); |
michael@0 | 51 | } |
michael@0 | 52 | |
michael@0 | 53 | if(!(SwitchTest(isNaN) === 128)){ |
michael@0 | 54 | $ERROR("#3: SwitchTest(isNaN) === 128. Actual: SwitchTest(isNaN) ==="+ SwitchTest(isNaN) ); |
michael@0 | 55 | } |
michael@0 | 56 | |
michael@0 | 57 | if(!(SwitchTest(true) === 32)){ |
michael@0 | 58 | $ERROR("#6: SwitchTest(true) === 32. Actual: SwitchTest(true) ==="+ SwitchTest(true) ); |
michael@0 | 59 | } |
michael@0 | 60 | |
michael@0 | 61 | if(!(SwitchTest(false) === 48)){ |
michael@0 | 62 | $ERROR("#7: SwitchTest(false) === 48. Actual: SwitchTest(false) ==="+ SwitchTest(false) ); |
michael@0 | 63 | } |
michael@0 | 64 | |
michael@0 | 65 | if(!(SwitchTest(null) === 192)){ |
michael@0 | 66 | $ERROR("#8: SwitchTest(null) === 192. Actual: SwitchTest(null) ==="+ SwitchTest(null) ); |
michael@0 | 67 | } |
michael@0 | 68 | |
michael@0 | 69 | if(!(SwitchTest(void 0) === 1024)){ |
michael@0 | 70 | $ERROR("#9: SwitchTest(void 0) === 1024. Actual: SwitchTest(void 0) ==="+ SwitchTest(void 0) ); |
michael@0 | 71 | } |
michael@0 | 72 | |
michael@0 | 73 | if(!(SwitchTest(NaN) === 32)){ |
michael@0 | 74 | $ERROR("#10: SwitchTest(NaN) === 32. Actual: SwitchTest(NaN) ==="+ SwitchTest(NaN) ); |
michael@0 | 75 | } |
michael@0 | 76 | |
michael@0 | 77 | if(!(SwitchTest(Infinity) === 768)){ |
michael@0 | 78 | $ERROR("#10: SwitchTest(NaN) === 768. Actual: SwitchTest(NaN) ==="+ SwitchTest(NaN) ); |
michael@0 | 79 | } |
michael@0 | 80 |