| OLD | NEW |
| 1 // Copyright 2007-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2007-2008 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 2990 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3001 "try { throw ''; } finally { return; }" | 3001 "try { throw ''; } finally { return; }" |
| 3002 "})()"))->Run(); | 3002 "})()"))->Run(); |
| 3003 CHECK(!try_catch.HasCaught()); | 3003 CHECK(!try_catch.HasCaught()); |
| 3004 Script::Compile(v8_str("(function()" | 3004 Script::Compile(v8_str("(function()" |
| 3005 " { try { throw ''; } finally { throw 0; }" | 3005 " { try { throw ''; } finally { throw 0; }" |
| 3006 "})()"))->Run(); | 3006 "})()"))->Run(); |
| 3007 CHECK(try_catch.HasCaught()); | 3007 CHECK(try_catch.HasCaught()); |
| 3008 } | 3008 } |
| 3009 | 3009 |
| 3010 | 3010 |
| 3011 TEST(CompilationErrorUsingTryCatchHandler) { |
| 3012 v8::HandleScope scope; |
| 3013 LocalContext env; |
| 3014 v8::TryCatch try_catch; |
| 3015 Script::Compile(v8_str("This doesn't &*&@#$&*^ compile.")); |
| 3016 CHECK_NE(NULL, *try_catch.Exception()); |
| 3017 CHECK(try_catch.HasCaught()); |
| 3018 } |
| 3019 |
| 3020 |
| 3011 // SecurityHandler can't be run twice | 3021 // SecurityHandler can't be run twice |
| 3012 TEST(SecurityHandler) { | 3022 TEST(SecurityHandler) { |
| 3013 v8::HandleScope scope0; | 3023 v8::HandleScope scope0; |
| 3014 v8::Handle<v8::ObjectTemplate> global_template = v8::ObjectTemplate::New(); | 3024 v8::Handle<v8::ObjectTemplate> global_template = v8::ObjectTemplate::New(); |
| 3015 global_template->SetAccessCheckCallbacks(NamedSecurityTestCallback, | 3025 global_template->SetAccessCheckCallbacks(NamedSecurityTestCallback, |
| 3016 IndexedSecurityTestCallback); | 3026 IndexedSecurityTestCallback); |
| 3017 // Create an environment | 3027 // Create an environment |
| 3018 v8::Persistent<Context> context0 = | 3028 v8::Persistent<Context> context0 = |
| 3019 Context::New(NULL, global_template); | 3029 Context::New(NULL, global_template); |
| 3020 context0->Enter(); | 3030 context0->Enter(); |
| (...skipping 2353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5374 CompileRun("for (var j = 0; j < 10; j++) new RegExp('');"); | 5384 CompileRun("for (var j = 0; j < 10; j++) new RegExp('');"); |
| 5375 } | 5385 } |
| 5376 // Test CallIC. | 5386 // Test CallIC. |
| 5377 for (int i = 0; i < 2; i++) { | 5387 for (int i = 0; i < 2; i++) { |
| 5378 LocalContext context; | 5388 LocalContext context; |
| 5379 context->Global()->Set(v8_str("tmp"), v8::True()); | 5389 context->Global()->Set(v8_str("tmp"), v8::True()); |
| 5380 context->Global()->Delete(v8_str("tmp")); | 5390 context->Global()->Delete(v8_str("tmp")); |
| 5381 CompileRun("for (var j = 0; j < 10; j++) RegExp('')"); | 5391 CompileRun("for (var j = 0; j < 10; j++) RegExp('')"); |
| 5382 } | 5392 } |
| 5383 } | 5393 } |
| OLD | NEW |