| Index: test/cctest/test-api.cc
|
| diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
|
| index 5081a648bc13900dded52a0f6cc695b636b29d74..f832fdcb9bf95242b9c562c936855334efc3b704 100644
|
| --- a/test/cctest/test-api.cc
|
| +++ b/test/cctest/test-api.cc
|
| @@ -5443,6 +5443,7 @@ THREADED_TEST(StringWrite) {
|
| v8::Handle<String> str = v8_str("abcde");
|
| // abc<Icelandic eth><Unicode snowman>.
|
| v8::Handle<String> str2 = v8_str("abc\303\260\342\230\203");
|
| + v8::Handle<String> str3 = v8::String::New("abc\0def", 7);
|
| const int kStride = 4; // Must match stride in for loops in JS below.
|
| CompileRun(
|
| "var left = '';"
|
| @@ -5653,6 +5654,23 @@ THREADED_TEST(StringWrite) {
|
| CHECK_NE(0, strcmp(utf8buf, "abc\303\260\342\230\203"));
|
| utf8buf[8] = '\0';
|
| CHECK_EQ(0, strcmp(utf8buf, "abc\303\260\342\230\203"));
|
| +
|
| + memset(utf8buf, 0x1, sizeof(utf8buf));
|
| + utf8buf[6] = 'X';
|
| + len = str->WriteUtf8(utf8buf, sizeof(utf8buf), &charlen,
|
| + String::NO_NULL_TERMINATION);
|
| + CHECK_EQ(5, len);
|
| + CHECK_EQ('X', utf8buf[6]);
|
| + CHECK_EQ(5, charlen);
|
| + CHECK_EQ(0, strncmp(utf8buf, "abcde", 5));
|
| + CHECK_NE(0, strcmp(utf8buf, "abcde"));
|
| + utf8buf[5] = '\0';
|
| + CHECK_EQ(0, strcmp(utf8buf, "abcde"));
|
| +
|
| + memset(buf, 0x1, sizeof(buf));
|
| + len = str3->WriteAscii(buf);
|
| + CHECK_EQ(7, len);
|
| + CHECK_EQ(0, strcmp("abc def", buf));
|
| }
|
|
|
|
|
|
|