testMultipleFunctionRedeclarations.js (785B)
1 function f1() { 2 assertEq(g(), 3); 3 function g() { return 1 } 4 assertEq(g(), 3); 5 function g() { return 2 } 6 assertEq(g(), 3); 7 function g() { return 3 } 8 assertEq(g(), 3); 9 } 10 f1(); 11 12 function f2() { 13 assertEq(g(), 2); 14 var g = 3; 15 assertEq(g, 3); 16 function g() { return 1 } 17 function g() { return 2 } 18 } 19 f2(); 20 21 function f3() { 22 assertEq(g(), 2); 23 var g = 3; 24 assertEq(g, 3); 25 function g() { return 1 } 26 var g = 4; 27 assertEq(g, 4); 28 function g() { return 2 } 29 } 30 f3(); 31 32 function f4() { 33 assertEq(g(), 4); 34 function g() { return 1 } 35 assertEq(g(), 4); 36 function g() { return 2 } 37 var g = 9; 38 assertEq(g, 9); 39 function g() { return 3 } 40 assertEq(g, 9); 41 function g() { return 4 } 42 assertEq(g, 9); 43 } 44 f4();