| Index: test/cctest/test-func-name-inference.cc | 
| =================================================================== | 
| --- test/cctest/test-func-name-inference.cc	(revision 11629) | 
| +++ test/cctest/test-func-name-inference.cc	(working copy) | 
| @@ -400,3 +400,41 @@ | 
| // See MultipleAssignments test. | 
| CheckFunctionName(script, "return 2", "Enclosing.Bar"); | 
| } | 
| + | 
| + | 
| +TEST(MethodAssignmentInAnonymousFunctionCall) { | 
| +  InitializeVM(); | 
| +  v8::HandleScope scope; | 
| + | 
| +  v8::Handle<v8::Script> script = Compile( | 
| +      "(function () {\n" | 
| +      "    var EventSource = function () { };\n" | 
| +      "    EventSource.prototype.addListener = function () {\n" | 
| +      "        return 2012;\n" | 
| +      "    };\n" | 
| +      "    this.PublicEventSource = EventSource;\n" | 
| +      "})();"); | 
| +  CheckFunctionName(script, "return 2012", "EventSource.addListener"); | 
| +} | 
| + | 
| + | 
| +TEST(ReturnAnonymousFunction) { | 
| +  InitializeVM(); | 
| +  v8::HandleScope scope; | 
| + | 
| +  v8::Handle<v8::Script> script = Compile( | 
| +      "(function() {\n" | 
| +      "  function wrapCode() {\n" | 
| +      "    return function () {\n" | 
| +      "      return 2012;\n" | 
| +      "    };\n" | 
| +      "  };\n" | 
| +      "  var foo = 10;\n" | 
| +      "  function f() {\n" | 
| +      "    return wrapCode();\n" | 
| +      "  }\n" | 
| +      "  this.ref = f;\n" | 
| +      "})()"); | 
| +  script->Run(); | 
| +  CheckFunctionName(script, "return 2012", ""); | 
| +} | 
|  |