| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 5296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5307 | 5307 |
| 5308 | 5308 |
| 5309 void TryCatchMixedNestingCheck(v8::TryCatch* try_catch) { | 5309 void TryCatchMixedNestingCheck(v8::TryCatch* try_catch) { |
| 5310 CHECK(try_catch->HasCaught()); | 5310 CHECK(try_catch->HasCaught()); |
| 5311 Handle<Message> message = try_catch->Message(); | 5311 Handle<Message> message = try_catch->Message(); |
| 5312 Handle<Value> resource = message->GetScriptOrigin().ResourceName(); | 5312 Handle<Value> resource = message->GetScriptOrigin().ResourceName(); |
| 5313 CHECK_EQ(0, strcmp(*v8::String::Utf8Value(resource), "inner")); | 5313 CHECK_EQ(0, strcmp(*v8::String::Utf8Value(resource), "inner")); |
| 5314 CHECK_EQ(0, | 5314 CHECK_EQ(0, |
| 5315 strcmp(*v8::String::Utf8Value(message->Get()), "Uncaught Error: a")); | 5315 strcmp(*v8::String::Utf8Value(message->Get()), "Uncaught Error: a")); |
| 5316 CHECK_EQ(1, message->GetLineNumber()); | 5316 CHECK_EQ(1, message->GetLineNumber()); |
| 5317 CHECK_EQ(6, message->GetStartColumn()); | 5317 // TODO(3995): Our compilers disagree about the position. |
| 5318 if (!i::FLAG_always_opt) CHECK_EQ(6, message->GetStartColumn()); |
| 5318 } | 5319 } |
| 5319 | 5320 |
| 5320 | 5321 |
| 5321 void TryCatchMixedNestingHelper( | 5322 void TryCatchMixedNestingHelper( |
| 5322 const v8::FunctionCallbackInfo<v8::Value>& args) { | 5323 const v8::FunctionCallbackInfo<v8::Value>& args) { |
| 5323 ApiTestFuzzer::Fuzz(); | 5324 ApiTestFuzzer::Fuzz(); |
| 5324 v8::TryCatch try_catch; | 5325 v8::TryCatch try_catch; |
| 5325 CompileRunWithOrigin("throw new Error('a');\n", "inner", 0, 0); | 5326 CompileRunWithOrigin("throw new Error('a');\n", "inner", 0, 0); |
| 5326 CHECK(try_catch.HasCaught()); | 5327 CHECK(try_catch.HasCaught()); |
| 5327 TryCatchMixedNestingCheck(&try_catch); | 5328 TryCatchMixedNestingCheck(&try_catch); |
| (...skipping 4461 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9789 Local<ObjectTemplate> instance_template = ObjectTemplate::New(isolate); | 9790 Local<ObjectTemplate> instance_template = ObjectTemplate::New(isolate); |
| 9790 Local<Object> instance = instance_template->NewInstance(); | 9791 Local<Object> instance = instance_template->NewInstance(); |
| 9791 context->Global()->Set(v8_str("obj2"), instance); | 9792 context->Global()->Set(v8_str("obj2"), instance); |
| 9792 v8::TryCatch try_catch; | 9793 v8::TryCatch try_catch; |
| 9793 Local<Value> value; | 9794 Local<Value> value; |
| 9794 CHECK(!try_catch.HasCaught()); | 9795 CHECK(!try_catch.HasCaught()); |
| 9795 | 9796 |
| 9796 value = CompileRun("new obj2(28)"); | 9797 value = CompileRun("new obj2(28)"); |
| 9797 CHECK(try_catch.HasCaught()); | 9798 CHECK(try_catch.HasCaught()); |
| 9798 String::Utf8Value exception_value1(try_catch.Exception()); | 9799 String::Utf8Value exception_value1(try_catch.Exception()); |
| 9799 CHECK_EQ(0, strcmp("TypeError: obj2 is not a function", *exception_value1)); | 9800 // TODO(3995): Our compilers disagree about the position (and message). |
| 9801 if (!i::FLAG_always_opt) { |
| 9802 CHECK_EQ(0, |
| 9803 strcmp("TypeError: obj2 is not a function", *exception_value1)); |
| 9804 } |
| 9800 try_catch.Reset(); | 9805 try_catch.Reset(); |
| 9801 | 9806 |
| 9802 Local<Value> args[] = {v8_num(29)}; | 9807 Local<Value> args[] = {v8_num(29)}; |
| 9803 value = instance->CallAsConstructor(1, args); | 9808 value = instance->CallAsConstructor(1, args); |
| 9804 CHECK(try_catch.HasCaught()); | 9809 CHECK(try_catch.HasCaught()); |
| 9805 String::Utf8Value exception_value2(try_catch.Exception()); | 9810 String::Utf8Value exception_value2(try_catch.Exception()); |
| 9806 CHECK_EQ( | 9811 CHECK_EQ( |
| 9807 0, strcmp("TypeError: #<Object> is not a function", *exception_value2)); | 9812 0, strcmp("TypeError: #<Object> is not a function", *exception_value2)); |
| 9808 try_catch.Reset(); | 9813 try_catch.Reset(); |
| 9809 } | 9814 } |
| (...skipping 12059 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 21869 } | 21874 } |
| 21870 { | 21875 { |
| 21871 v8::TryCatch try_catch; | 21876 v8::TryCatch try_catch; |
| 21872 uint16_t* data = reinterpret_cast<uint16_t*>(buffer); | 21877 uint16_t* data = reinterpret_cast<uint16_t*>(buffer); |
| 21873 CHECK(v8::String::NewFromTwoByte(isolate, data, v8::String::kNormalString, | 21878 CHECK(v8::String::NewFromTwoByte(isolate, data, v8::String::kNormalString, |
| 21874 length).IsEmpty()); | 21879 length).IsEmpty()); |
| 21875 CHECK(!try_catch.HasCaught()); | 21880 CHECK(!try_catch.HasCaught()); |
| 21876 } | 21881 } |
| 21877 free(buffer); | 21882 free(buffer); |
| 21878 } | 21883 } |
| OLD | NEW |