| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
| 2 // Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. | 2 // Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. |
| 3 // | 3 // |
| 4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
| 5 // modification, are permitted provided that the following conditions | 5 // modification, are permitted provided that the following conditions |
| 6 // are met: | 6 // are met: |
| 7 // 1. Redistributions of source code must retain the above copyright | 7 // 1. Redistributions of source code must retain the above copyright |
| 8 // notice, this list of conditions and the following disclaimer. | 8 // notice, this list of conditions and the following disclaimer. |
| 9 // 2. Redistributions in binary form must reproduce the above copyright | 9 // 2. Redistributions in binary form must reproduce the above copyright |
| 10 // notice, this list of conditions and the following disclaimer in the | 10 // notice, this list of conditions and the following disclaimer in the |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 159 var global = this; | 159 var global = this; |
| 160 shouldThrow("global.eval('\"use strict\"; if (0) ++arguments; true;')"); | 160 shouldThrow("global.eval('\"use strict\"; if (0) ++arguments; true;')"); |
| 161 shouldBeSyntaxError("'use strict'; ++(1, eval)"); | 161 shouldBeSyntaxError("'use strict'; ++(1, eval)"); |
| 162 shouldBeSyntaxError("'use strict'; (1, eval)++"); | 162 shouldBeSyntaxError("'use strict'; (1, eval)++"); |
| 163 shouldBeSyntaxError("'use strict'; --(1, eval)"); | 163 shouldBeSyntaxError("'use strict'; --(1, eval)"); |
| 164 shouldBeSyntaxError("'use strict'; (1, eval)--"); | 164 shouldBeSyntaxError("'use strict'; (1, eval)--"); |
| 165 shouldBeSyntaxError("'use strict'; function f() { ++(1, arguments) }"); | 165 shouldBeSyntaxError("'use strict'; function f() { ++(1, arguments) }"); |
| 166 shouldBeSyntaxError("'use strict'; function f() { (1, arguments)++ }"); | 166 shouldBeSyntaxError("'use strict'; function f() { (1, arguments)++ }"); |
| 167 shouldBeSyntaxError("'use strict'; function f() { --(1, arguments) }"); | 167 shouldBeSyntaxError("'use strict'; function f() { --(1, arguments) }"); |
| 168 shouldBeSyntaxError("'use strict'; function f() { (1, arguments)-- }"); | 168 shouldBeSyntaxError("'use strict'; function f() { (1, arguments)-- }"); |
| 169 shouldBeSyntaxError("'use strict'; if (0) delete +a.b"); | 169 shouldBeSyntaxError("'use strict'; undefined; if (0) delete +a.b"); |
| 170 shouldBeSyntaxError("'use strict'; if (0) delete ++a.b"); | 170 shouldBeSyntaxError("'use strict'; undefined; if (0) delete ++a.b"); |
| 171 shouldBeSyntaxError("'use strict'; if (0) delete void a.b"); | 171 shouldBeSyntaxError("'use strict'; undefined; if (0) delete void a.b"); |
| 172 | 172 |
| 173 shouldBeTrue("(function (a){'use strict'; a = false; return a !== arguments[0];
})(true)"); | 173 shouldBeTrue("(function (a){'use strict'; a = false; return a !== arguments[0];
})(true)"); |
| 174 shouldBeTrue("(function (a){'use strict'; arguments[0] = false; return a !== arg
uments[0]; })(true)"); | 174 shouldBeTrue("(function (a){'use strict'; arguments[0] = false; return a !== arg
uments[0]; })(true)"); |
| 175 shouldBeTrue("(function (a){'use strict'; a=false; return arguments; })(true)[0]
"); | 175 shouldBeTrue("(function (a){'use strict'; a=false; return arguments; })(true)[0]
"); |
| 176 shouldBeTrue("(function (a){'use strict'; arguments[0]=false; return a; })(true)
"); | 176 shouldBeTrue("(function (a){'use strict'; arguments[0]=false; return a; })(true)
"); |
| 177 shouldBeTrue("(function (a){'use strict'; arguments[0]=true; return arguments; }
)(false)[0]"); | 177 shouldBeTrue("(function (a){'use strict'; arguments[0]=true; return arguments; }
)(false)[0]"); |
| 178 shouldBeTrue("(function (){'use strict'; arguments[0]=true; return arguments; }
)(false)[0]"); | 178 shouldBeTrue("(function (){'use strict'; arguments[0]=true; return arguments; }
)(false)[0]"); |
| 179 shouldBeTrue("(function (a){'use strict'; arguments[0]=true; a=false; return arg
uments; })()[0]"); | 179 shouldBeTrue("(function (a){'use strict'; arguments[0]=true; a=false; return arg
uments; })()[0]"); |
| 180 shouldBeTrue("(function (a){'use strict'; arguments[0]=false; a=true; return a;
})()"); | 180 shouldBeTrue("(function (a){'use strict'; arguments[0]=false; a=true; return a;
})()"); |
| 181 shouldBeTrue("(function (a){'use strict'; arguments[0]=true; return arguments; }
)()[0]"); | 181 shouldBeTrue("(function (a){'use strict'; arguments[0]=true; return arguments; }
)()[0]"); |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 224 shouldBeTrue("(function () {'use strict'; try { throw 1; } catch (e) { aGlobal
= true; }})(); aGlobal;"); | 224 shouldBeTrue("(function () {'use strict'; try { throw 1; } catch (e) { aGlobal
= true; }})(); aGlobal;"); |
| 225 aGlobal = false; | 225 aGlobal = false; |
| 226 shouldBeTrue("try { throw 1; } catch (e) { aGlobal = true; }"); | 226 shouldBeTrue("try { throw 1; } catch (e) { aGlobal = true; }"); |
| 227 aGlobal = false; | 227 aGlobal = false; |
| 228 shouldBeTrue("(function () { try { throw 1; } catch (e) { aGlobal = true; }})();
aGlobal;"); | 228 shouldBeTrue("(function () { try { throw 1; } catch (e) { aGlobal = true; }})();
aGlobal;"); |
| 229 aGlobal = false; | 229 aGlobal = false; |
| 230 shouldBeTrue("(function () {try { throw 1; } catch (e) { aGlobal = true; }})();
aGlobal;"); | 230 shouldBeTrue("(function () {try { throw 1; } catch (e) { aGlobal = true; }})();
aGlobal;"); |
| 231 | 231 |
| 232 // Make sure this doesn't crash! | 232 // Make sure this doesn't crash! |
| 233 shouldBe('String(Object.getOwnPropertyDescriptor((function() { "use strict"; }).
__proto__, "caller").get)', "'function () {\\n [native code]\\n}'"); | 233 shouldBe('String(Object.getOwnPropertyDescriptor((function() { "use strict"; }).
__proto__, "caller").get)', "'function () {\\n [native code]\\n}'"); |
| OLD | NEW |