| Index: test/cctest/test-api.cc | 
| diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc | 
| index 4bd99a6d9e940abd97ba243ecb383a119f4854f3..09125e1407c1ae84921005737437dc74f79ddf0d 100644 | 
| --- a/test/cctest/test-api.cc | 
| +++ b/test/cctest/test-api.cc | 
| @@ -404,6 +404,10 @@ THREADED_TEST(ScriptUsingStringResource) { | 
| CHECK(source->IsExternal()); | 
| CHECK_EQ(resource, | 
| static_cast<TestResource*>(source->GetExternalStringResource())); | 
| +    String::Encoding encoding = String::UNKNOWN_ENCODING; | 
| +    CHECK_EQ(static_cast<const String::ExternalStringResourceBase*>(resource), | 
| +             source->GetExternalStringResourceBase(&encoding)); | 
| +    CHECK_EQ(String::TWO_BYTE_ENCODING, encoding); | 
| HEAP->CollectAllGarbage(i::Heap::kNoGCFlags); | 
| CHECK_EQ(0, dispose_count); | 
| } | 
| @@ -419,9 +423,16 @@ THREADED_TEST(ScriptUsingAsciiStringResource) { | 
| { | 
| v8::HandleScope scope; | 
| LocalContext env; | 
| -    Local<String> source = | 
| -        String::NewExternal(new TestAsciiResource(i::StrDup(c_source), | 
| -                                                  &dispose_count)); | 
| +    TestAsciiResource* resource = new TestAsciiResource(i::StrDup(c_source), | 
| +                                                        &dispose_count); | 
| +    Local<String> source = String::NewExternal(resource); | 
| +    CHECK(source->IsExternalAscii()); | 
| +    CHECK_EQ(static_cast<const String::ExternalStringResourceBase*>(resource), | 
| +             source->GetExternalAsciiStringResource()); | 
| +    String::Encoding encoding = String::UNKNOWN_ENCODING; | 
| +    CHECK_EQ(static_cast<const String::ExternalStringResourceBase*>(resource), | 
| +             source->GetExternalStringResourceBase(&encoding)); | 
| +    CHECK_EQ(String::ASCII_ENCODING, encoding); | 
| Local<Script> script = Script::Compile(source); | 
| Local<Value> value = script->Run(); | 
| CHECK(value->IsNumber()); | 
| @@ -445,6 +456,11 @@ THREADED_TEST(ScriptMakingExternalString) { | 
| // Trigger GCs so that the newly allocated string moves to old gen. | 
| HEAP->CollectGarbage(i::NEW_SPACE);  // in survivor space now | 
| HEAP->CollectGarbage(i::NEW_SPACE);  // in old gen now | 
| +    CHECK_EQ(source->IsExternal(), false); | 
| +    CHECK_EQ(source->IsExternalAscii(), false); | 
| +    String::Encoding encoding = String::UNKNOWN_ENCODING; | 
| +    CHECK_EQ(NULL, source->GetExternalStringResourceBase(&encoding)); | 
| +    CHECK_EQ(String::ASCII_ENCODING, encoding); | 
| bool success = source->MakeExternal(new TestResource(two_byte_source, | 
| &dispose_count)); | 
| CHECK(success); | 
|  |