| OLD | NEW | 
|---|
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. | 
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without | 
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are | 
| 4 // met: | 4 // met: | 
| 5 // | 5 // | 
| 6 //     * Redistributions of source code must retain the above copyright | 6 //     * Redistributions of source code must retain the above copyright | 
| 7 //       notice, this list of conditions and the following disclaimer. | 7 //       notice, this list of conditions and the following disclaimer. | 
| 8 //     * Redistributions in binary form must reproduce the above | 8 //     * Redistributions in binary form must reproduce the above | 
| 9 //       copyright notice, this list of conditions and the following | 9 //       copyright notice, this list of conditions and the following | 
| 10 //       disclaimer in the documentation and/or other materials provided | 10 //       disclaimer in the documentation and/or other materials provided | 
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 77 // Check that the debugger correctly reflects that the receiver is not | 77 // Check that the debugger correctly reflects that the receiver is not | 
| 78 // converted to object for strict mode functions. | 78 // converted to object for strict mode functions. | 
| 79 function Strict() { "use strict"; debugger; } | 79 function Strict() { "use strict"; debugger; } | 
| 80 function TestStrict(receiver) { | 80 function TestStrict(receiver) { | 
| 81   expected_receiver = receiver; | 81   expected_receiver = receiver; | 
| 82   Strict.call(receiver); | 82   Strict.call(receiver); | 
| 83 } | 83 } | 
| 84 | 84 | 
| 85 listener_delegate = function(exec_state) { | 85 listener_delegate = function(exec_state) { | 
| 86   var receiver = exec_state.frame().receiver(); | 86   var receiver = exec_state.frame().receiver(); | 
| 87   assertTrue(!receiver.isObject()); |  | 
| 88   assertEquals(expected_receiver, receiver.value()) | 87   assertEquals(expected_receiver, receiver.value()) | 
| 89 } | 88 } | 
| 90 | 89 | 
| 91 BeginTest("strict: undefined"); TestStrict(undefined); EndTest(); | 90 BeginTest("strict: undefined"); TestStrict(undefined); EndTest(); | 
| 92 BeginTest("strict: null"); TestStrict(null); EndTest(); | 91 BeginTest("strict: null"); TestStrict(null); EndTest(); | 
| 93 BeginTest("strict: 1"); TestStrict(1); EndTest(); | 92 BeginTest("strict: 1"); TestStrict(1); EndTest(); | 
| 94 BeginTest("strict: 1.2"); TestStrict(1.2); EndTest(); | 93 BeginTest("strict: 1.2"); TestStrict(1.2); EndTest(); | 
| 95 BeginTest("strict: 'asdf'"); TestStrict('asdf'); EndTest(); | 94 BeginTest("strict: 'asdf'"); TestStrict('asdf'); EndTest(); | 
| 96 BeginTest("strict: true"); TestStrict(true); EndTest(); | 95 BeginTest("strict: true"); TestStrict(true); EndTest(); | 
| 97 | 96 | 
| 98 | 97 | 
| 99 // Check that the debugger correctly reflects the object conversion of | 98 // Check that the debugger correctly reflects the object conversion of | 
| 100 // the receiver for non-strict mode functions. | 99 // the receiver for non-strict mode functions. | 
| 101 function NonStrict() { debugger; } | 100 function NonStrict() { debugger; } | 
| 102 function TestNonStrict(receiver) { | 101 function TestNonStrict(receiver) { | 
| 103   // null and undefined should be transformed to the global object and | 102   // null and undefined should be transformed to the global object and | 
| 104   // primitives should be wrapped. | 103   // primitives should be wrapped. | 
| 105   expected_receiver = (receiver == null) ? this : Object(receiver); | 104   expected_receiver = (receiver == null) ? this : Object(receiver); | 
| 106   NonStrict.call(receiver); | 105   NonStrict.call(receiver); | 
| 107 } | 106 } | 
| 108 | 107 | 
| 109 listener_delegate = function(exec_state) { | 108 listener_delegate = function(exec_state) { | 
| 110   var receiver = exec_state.frame().receiver(); | 109   var receiver = exec_state.frame().receiver(); | 
| 111   assertTrue(receiver.isObject()); |  | 
| 112   assertEquals(expected_receiver, receiver.value()); | 110   assertEquals(expected_receiver, receiver.value()); | 
| 113 } | 111 } | 
| 114 | 112 | 
| 115 BeginTest("non-strict: undefined"); TestNonStrict(undefined); EndTest(); | 113 BeginTest("non-strict: undefined"); TestNonStrict(undefined); EndTest(); | 
| 116 BeginTest("non-strict: null"); TestNonStrict(null); EndTest(); | 114 BeginTest("non-strict: null"); TestNonStrict(null); EndTest(); | 
| 117 BeginTest("non-strict: 1"); TestNonStrict(1); EndTest(); | 115 BeginTest("non-strict: 1"); TestNonStrict(1); EndTest(); | 
| 118 BeginTest("non-strict: 1.2"); TestNonStrict(1.2); EndTest(); | 116 BeginTest("non-strict: 1.2"); TestNonStrict(1.2); EndTest(); | 
| 119 BeginTest("non-strict: 'asdf'"); TestNonStrict('asdf'); EndTest(); | 117 BeginTest("non-strict: 'asdf'"); TestNonStrict('asdf'); EndTest(); | 
| 120 BeginTest("non-strict: true"); TestNonStrict(true); EndTest(); | 118 BeginTest("non-strict: true"); TestNonStrict(true); EndTest(); | 
| 121 | 119 | 
| 122 | 120 | 
| 123 assertEquals(begin_test_count, break_count, | 121 assertEquals(begin_test_count, break_count, | 
| 124              'one or more tests did not enter the debugger'); | 122              'one or more tests did not enter the debugger'); | 
| 125 assertEquals(begin_test_count, end_test_count, | 123 assertEquals(begin_test_count, end_test_count, | 
| 126              'one or more tests did not have its result checked'); | 124              'one or more tests did not have its result checked'); | 
| OLD | NEW | 
|---|