| Index: test/cctest/test-strings.cc | 
| diff --git a/test/cctest/test-strings.cc b/test/cctest/test-strings.cc | 
| index c4f72f47010342fedc3c2fd4e042faf0fe649a1a..4557100e7ab1d1ec288d1135d0986ffb8264093c 100644 | 
| --- a/test/cctest/test-strings.cc | 
| +++ b/test/cctest/test-strings.cc | 
| @@ -1,4 +1,4 @@ | 
| -// Copyright 2011 the V8 project authors. All rights reserved. | 
| +// Copyright 2012 the V8 project authors. All rights reserved. | 
|  | 
| // Check that we can traverse very deep stacks of ConsStrings using | 
| // StringInputBuffer.  Check that Get(int) works on very deep stacks | 
| @@ -691,3 +691,20 @@ TEST(RegExpOverflow) { | 
| CHECK(result.IsEmpty()); | 
| CHECK(context->HasOutOfMemoryException()); | 
| } | 
| + | 
| + | 
| +TEST(StringReplaceAtomTwoByteResult) { | 
| +  InitializeVM(); | 
| +  HandleScope scope; | 
| +  LocalContext context; | 
| +  v8::Local<v8::Value> result = CompileRun( | 
| +      "var subject = 'ascii~only~string~'; " | 
| +      "var replace = '\x80';            " | 
| +      "subject.replace(/~/g, replace);  "); | 
| +  CHECK(result->IsString()); | 
| +  Handle<String> string = v8::Utils::OpenHandle(v8::String::Cast(*result)); | 
| +  CHECK(string->IsSeqTwoByteString()); | 
| + | 
| +  v8::Local<v8::String> expected = v8_str("ascii\x80only\x80string\x80"); | 
| +  CHECK(expected->Equals(result)); | 
| +} | 
|  |