| Index: test/cctest/test-decls.cc
 | 
| diff --git a/test/cctest/test-decls.cc b/test/cctest/test-decls.cc
 | 
| index 34f0b69643e05c90bc8450d361205dbd748d05dd..f2ccdab6c0162f9b70924759dbfa80f576c80590 100644
 | 
| --- a/test/cctest/test-decls.cc
 | 
| +++ b/test/cctest/test-decls.cc
 | 
| @@ -713,3 +713,37 @@ TEST(CrossScriptConflicts) {
 | 
|      }
 | 
|    }
 | 
|  }
 | 
| +
 | 
| +
 | 
| +TEST(CrossScriptDynamicLookup) {
 | 
| +  i::FLAG_harmony_scoping = true;
 | 
| +
 | 
| +  HandleScope handle_scope(CcTest::isolate());
 | 
| +
 | 
| +  {
 | 
| +    SimpleContext context;
 | 
| +    Local<String> undefined_string = String::NewFromUtf8(
 | 
| +        CcTest::isolate(), "undefined", String::kInternalizedString);
 | 
| +    Local<String> number_string = String::NewFromUtf8(
 | 
| +        CcTest::isolate(), "number", String::kInternalizedString);
 | 
| +
 | 
| +    context.Check(
 | 
| +        "function f(o) { with(o) { return x; } }"
 | 
| +        "function g(o) { with(o) { x = 15; } }"
 | 
| +        "function h(o) { with(o) { return typeof x; } }",
 | 
| +        EXPECT_RESULT, Undefined(CcTest::isolate()));
 | 
| +    context.Check("h({})", EXPECT_RESULT, undefined_string);
 | 
| +    context.Check(
 | 
| +        "'use strict';"
 | 
| +        "let x = 1;"
 | 
| +        "f({})",
 | 
| +        EXPECT_RESULT, Number::New(CcTest::isolate(), 1));
 | 
| +    context.Check(
 | 
| +        "'use strict';"
 | 
| +        "g({});"
 | 
| +        "x",
 | 
| +        EXPECT_RESULT, Number::New(CcTest::isolate(), 15));
 | 
| +    context.Check("f({})", EXPECT_RESULT, Number::New(CcTest::isolate(), 15));
 | 
| +    context.Check("h({})", EXPECT_RESULT, number_string);
 | 
| +  }
 | 
| +}
 | 
| 
 |