| Index: test/cctest/test-api.cc
|
| diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
|
| index f4c618e7386f3737889207c449c7fd5991d02451..9f9f1874f348e16eb3e05edec95292baecfff342 100644
|
| --- a/test/cctest/test-api.cc
|
| +++ b/test/cctest/test-api.cc
|
| @@ -4153,7 +4153,7 @@ bool message_received;
|
| static void check_message_0(v8::Handle<v8::Message> message,
|
| v8::Handle<Value> data) {
|
| CHECK_EQ(5.76, data->NumberValue());
|
| - CHECK_EQ(6.75, message->GetScriptResourceName()->NumberValue());
|
| + CHECK_EQ(6.75, message->GetScriptOrigin().ResourceName()->NumberValue());
|
| CHECK(!message->IsSharedCrossOrigin());
|
| message_received = true;
|
| }
|
| @@ -4227,7 +4227,7 @@ TEST(MessageHandler2) {
|
| static void check_message_3(v8::Handle<v8::Message> message,
|
| v8::Handle<Value> data) {
|
| CHECK(message->IsSharedCrossOrigin());
|
| - CHECK_EQ(6.75, message->GetScriptResourceName()->NumberValue());
|
| + CHECK_EQ(6.75, message->GetScriptOrigin().ResourceName()->NumberValue());
|
| message_received = true;
|
| }
|
|
|
| @@ -4256,7 +4256,7 @@ TEST(MessageHandler3) {
|
| static void check_message_4(v8::Handle<v8::Message> message,
|
| v8::Handle<Value> data) {
|
| CHECK(!message->IsSharedCrossOrigin());
|
| - CHECK_EQ(6.75, message->GetScriptResourceName()->NumberValue());
|
| + CHECK_EQ(6.75, message->GetScriptOrigin().ResourceName()->NumberValue());
|
| message_received = true;
|
| }
|
|
|
| @@ -4285,7 +4285,7 @@ TEST(MessageHandler4) {
|
| static void check_message_5a(v8::Handle<v8::Message> message,
|
| v8::Handle<Value> data) {
|
| CHECK(message->IsSharedCrossOrigin());
|
| - CHECK_EQ(6.75, message->GetScriptResourceName()->NumberValue());
|
| + CHECK_EQ(6.75, message->GetScriptOrigin().ResourceName()->NumberValue());
|
| message_received = true;
|
| }
|
|
|
| @@ -4293,7 +4293,7 @@ static void check_message_5a(v8::Handle<v8::Message> message,
|
| static void check_message_5b(v8::Handle<v8::Message> message,
|
| v8::Handle<Value> data) {
|
| CHECK(!message->IsSharedCrossOrigin());
|
| - CHECK_EQ(6.75, message->GetScriptResourceName()->NumberValue());
|
| + CHECK_EQ(6.75, message->GetScriptOrigin().ResourceName()->NumberValue());
|
| message_received = true;
|
| }
|
|
|
| @@ -5339,7 +5339,7 @@ TEST(TryCatchNested) {
|
| void TryCatchMixedNestingCheck(v8::TryCatch* try_catch) {
|
| CHECK(try_catch->HasCaught());
|
| Handle<Message> message = try_catch->Message();
|
| - Handle<Value> resource = message->GetScriptResourceName();
|
| + Handle<Value> resource = message->GetScriptOrigin().ResourceName();
|
| CHECK_EQ(0, strcmp(*v8::String::Utf8Value(resource), "inner"));
|
| CHECK_EQ(0, strcmp(*v8::String::Utf8Value(message->Get()),
|
| "Uncaught Error: a"));
|
| @@ -7110,8 +7110,9 @@ TEST(ErrorReporting) {
|
|
|
| static void MissingScriptInfoMessageListener(v8::Handle<v8::Message> message,
|
| v8::Handle<Value> data) {
|
| - CHECK(message->GetScriptResourceName()->IsUndefined());
|
| - CHECK_EQ(v8::Undefined(CcTest::isolate()), message->GetScriptResourceName());
|
| + CHECK(message->GetScriptOrigin().ResourceName()->IsUndefined());
|
| + CHECK_EQ(v8::Undefined(CcTest::isolate()),
|
| + message->GetScriptOrigin().ResourceName());
|
| message->GetLineNumber();
|
| message->GetSourceLine();
|
| }
|
| @@ -8296,9 +8297,9 @@ TEST(ApiUncaughtException) {
|
| static const char* script_resource_name = "ExceptionInNativeScript.js";
|
| static void ExceptionInNativeScriptTestListener(v8::Handle<v8::Message> message,
|
| v8::Handle<Value>) {
|
| - v8::Handle<v8::Value> name_val = message->GetScriptResourceName();
|
| + v8::Handle<v8::Value> name_val = message->GetScriptOrigin().ResourceName();
|
| CHECK(!name_val.IsEmpty() && name_val->IsString());
|
| - v8::String::Utf8Value name(message->GetScriptResourceName());
|
| + v8::String::Utf8Value name(message->GetScriptOrigin().ResourceName());
|
| CHECK_EQ(script_resource_name, *name);
|
| CHECK_EQ(3, message->GetLineNumber());
|
| v8::String::Utf8Value source_line(message->GetSourceLine());
|
| @@ -12993,7 +12994,7 @@ static void WebKitLike(Handle<Message> message, Handle<Value> data) {
|
| Handle<String> errorMessageString = message->Get();
|
| CHECK(!errorMessageString.IsEmpty());
|
| message->GetStackTrace();
|
| - message->GetScriptResourceName();
|
| + message->GetScriptOrigin().ResourceName();
|
| }
|
|
|
|
|
| @@ -14389,7 +14390,7 @@ static void CheckTryCatchSourceInfo(v8::Handle<v8::Script> script,
|
| CHECK_EQ(3, message->GetEndColumn());
|
| v8::String::Utf8Value line(message->GetSourceLine());
|
| CHECK_EQ(" throw 'nirk';", *line);
|
| - v8::String::Utf8Value name(message->GetScriptResourceName());
|
| + v8::String::Utf8Value name(message->GetScriptOrigin().ResourceName());
|
| CHECK_EQ(resource_name, *name);
|
| }
|
|
|
| @@ -17665,6 +17666,54 @@ TEST(DynamicWithSourceURLInStackTraceString) {
|
| }
|
|
|
|
|
| +TEST(EvalWithSourceURLInMessageScriptResourceNameOrSourceURL) {
|
| + LocalContext context;
|
| + v8::HandleScope scope(context->GetIsolate());
|
| +
|
| + const char *source =
|
| + "function outer() {\n"
|
| + " var scriptContents = \"function foo() { FAIL.FAIL; }\\\n"
|
| + " //# sourceURL=source_url\";\n"
|
| + " eval(scriptContents);\n"
|
| + " foo(); }\n"
|
| + "outer();\n"
|
| + "//# sourceURL=outer_url";
|
| +
|
| + v8::TryCatch try_catch;
|
| + CompileRun(source);
|
| + CHECK(try_catch.HasCaught());
|
| +
|
| + Local<v8::Message> message = try_catch.Message();
|
| + Handle<Value> sourceURL =
|
| + message->GetScriptOrigin().ResourceName();
|
| + CHECK_EQ(*v8::String::Utf8Value(sourceURL), "source_url");
|
| +}
|
| +
|
| +
|
| +TEST(RecursionWithSourceURLInMessageScriptResourceNameOrSourceURL) {
|
| + LocalContext context;
|
| + v8::HandleScope scope(context->GetIsolate());
|
| +
|
| + const char *source =
|
| + "function outer() {\n"
|
| + " var scriptContents = \"function boo(){ boo(); }\\\n"
|
| + " //# sourceURL=source_url\";\n"
|
| + " eval(scriptContents);\n"
|
| + " boo(); }\n"
|
| + "outer();\n"
|
| + "//# sourceURL=outer_url";
|
| +
|
| + v8::TryCatch try_catch;
|
| + CompileRun(source);
|
| + CHECK(try_catch.HasCaught());
|
| +
|
| + Local<v8::Message> message = try_catch.Message();
|
| + Handle<Value> sourceURL =
|
| + message->GetScriptOrigin().ResourceName();
|
| + CHECK_EQ(*v8::String::Utf8Value(sourceURL), "source_url");
|
| +}
|
| +
|
| +
|
| static void CreateGarbageInOldSpace() {
|
| i::Factory* factory = CcTest::i_isolate()->factory();
|
| v8::HandleScope scope(CcTest::isolate());
|
|
|