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 | * Deleting property using "eval" statement containing "with" statement |
michael@0 | 6 | * |
michael@0 | 7 | * @path ch12/12.10/S12.10_A5_T6.js |
michael@0 | 8 | * @description Deleting function property |
michael@0 | 9 | * @noStrict |
michael@0 | 10 | */ |
michael@0 | 11 | |
michael@0 | 12 | this.p1 = 'a'; |
michael@0 | 13 | var myObj = { |
michael@0 | 14 | p1: function(){return 0;}, |
michael@0 | 15 | del:false |
michael@0 | 16 | } |
michael@0 | 17 | eval("with(myObj){del = delete p1}"); |
michael@0 | 18 | |
michael@0 | 19 | ////////////////////////////////////////////////////////////////////////////// |
michael@0 | 20 | //CHECK#1 |
michael@0 | 21 | try{ |
michael@0 | 22 | if(myObj.p1() === 0){ |
michael@0 | 23 | $ERROR('#1: myObj.p1() !== 0 '); |
michael@0 | 24 | } |
michael@0 | 25 | }catch(e){var x=1}; |
michael@0 | 26 | if(x !== 1){ |
michael@0 | 27 | $ERROR('#1: x === 1. Actual: x ==='+ x ); |
michael@0 | 28 | } |
michael@0 | 29 | // |
michael@0 | 30 | ////////////////////////////////////////////////////////////////////////////// |
michael@0 | 31 | |
michael@0 | 32 | ////////////////////////////////////////////////////////////////////////////// |
michael@0 | 33 | //CHECK#2 |
michael@0 | 34 | if(myObj.p1 !== undefined){ |
michael@0 | 35 | $ERROR('#2: myObj.p1 === undefined . Actual: myObj.p1 ==='+ myObj.p1 ); |
michael@0 | 36 | } |
michael@0 | 37 | // |
michael@0 | 38 | ////////////////////////////////////////////////////////////////////////////// |
michael@0 | 39 | |
michael@0 | 40 | ////////////////////////////////////////////////////////////////////////////// |
michael@0 | 41 | //CHECK#3 |
michael@0 | 42 | if(myObj.del !== true){ |
michael@0 | 43 | $ERROR('#3: myObj.del === true . Actual: myObj.del ==='+ myObj.del ); |
michael@0 | 44 | } |
michael@0 | 45 | // |
michael@0 | 46 | ////////////////////////////////////////////////////////////////////////////// |
michael@0 | 47 | |
michael@0 | 48 | ////////////////////////////////////////////////////////////////////////////// |
michael@0 | 49 | //CHECK#4 |
michael@0 | 50 | if(myObj.p1 === 'a'){ |
michael@0 | 51 | $ERROR('#4: myObj.p1 !== \'a\''); |
michael@0 | 52 | } |
michael@0 | 53 | // |
michael@0 | 54 | ////////////////////////////////////////////////////////////////////////////// |
michael@0 | 55 |