Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(573)

Side by Side Diff: test/cctest/test-strings.cc

Issue 83343002: Remove usage of deprecated APIs from cctests (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « test/cctest/test-serialize.cc ('k') | test/cctest/test-thread-termination.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 871 matching lines...) Expand 10 before | Expand all | Expand 10 after
882 DeleteArray<char>(foo); 882 DeleteArray<char>(foo);
883 } 883 }
884 884
885 885
886 TEST(Utf8Conversion) { 886 TEST(Utf8Conversion) {
887 // Smoke test for converting strings to utf-8. 887 // Smoke test for converting strings to utf-8.
888 CcTest::InitializeVM(); 888 CcTest::InitializeVM();
889 v8::HandleScope handle_scope(CcTest::isolate()); 889 v8::HandleScope handle_scope(CcTest::isolate());
890 // A simple ascii string 890 // A simple ascii string
891 const char* ascii_string = "abcdef12345"; 891 const char* ascii_string = "abcdef12345";
892 int len = 892 int len = v8::String::NewFromUtf8(CcTest::isolate(), ascii_string,
893 v8::String::New(ascii_string, 893 v8::String::kNormalString,
894 StrLength(ascii_string))->Utf8Length(); 894 StrLength(ascii_string))->Utf8Length();
895 CHECK_EQ(StrLength(ascii_string), len); 895 CHECK_EQ(StrLength(ascii_string), len);
896 // A mixed ascii and non-ascii string 896 // A mixed ascii and non-ascii string
897 // U+02E4 -> CB A4 897 // U+02E4 -> CB A4
898 // U+0064 -> 64 898 // U+0064 -> 64
899 // U+12E4 -> E1 8B A4 899 // U+12E4 -> E1 8B A4
900 // U+0030 -> 30 900 // U+0030 -> 30
901 // U+3045 -> E3 81 85 901 // U+3045 -> E3 81 85
902 const uint16_t mixed_string[] = {0x02E4, 0x0064, 0x12E4, 0x0030, 0x3045}; 902 const uint16_t mixed_string[] = {0x02E4, 0x0064, 0x12E4, 0x0030, 0x3045};
903 // The characters we expect to be output 903 // The characters we expect to be output
904 const unsigned char as_utf8[11] = {0xCB, 0xA4, 0x64, 0xE1, 0x8B, 0xA4, 0x30, 904 const unsigned char as_utf8[11] = {0xCB, 0xA4, 0x64, 0xE1, 0x8B, 0xA4, 0x30,
905 0xE3, 0x81, 0x85, 0x00}; 905 0xE3, 0x81, 0x85, 0x00};
906 // The number of bytes expected to be written for each length 906 // The number of bytes expected to be written for each length
907 const int lengths[12] = {0, 0, 2, 3, 3, 3, 6, 7, 7, 7, 10, 11}; 907 const int lengths[12] = {0, 0, 2, 3, 3, 3, 6, 7, 7, 7, 10, 11};
908 const int char_lengths[12] = {0, 0, 1, 2, 2, 2, 3, 4, 4, 4, 5, 5}; 908 const int char_lengths[12] = {0, 0, 1, 2, 2, 2, 3, 4, 4, 4, 5, 5};
909 v8::Handle<v8::String> mixed = v8::String::New(mixed_string, 5); 909 v8::Handle<v8::String> mixed = v8::String::NewFromTwoByte(
910 CcTest::isolate(), mixed_string, v8::String::kNormalString, 5);
910 CHECK_EQ(10, mixed->Utf8Length()); 911 CHECK_EQ(10, mixed->Utf8Length());
911 // Try encoding the string with all capacities 912 // Try encoding the string with all capacities
912 char buffer[11]; 913 char buffer[11];
913 const char kNoChar = static_cast<char>(-1); 914 const char kNoChar = static_cast<char>(-1);
914 for (int i = 0; i <= 11; i++) { 915 for (int i = 0; i <= 11; i++) {
915 // Clear the buffer before reusing it 916 // Clear the buffer before reusing it
916 for (int j = 0; j < 11; j++) 917 for (int j = 0; j < 11; j++)
917 buffer[j] = kNoChar; 918 buffer[j] = kNoChar;
918 int chars_written; 919 int chars_written;
919 int written = mixed->WriteUtf8(buffer, i, &chars_written); 920 int written = mixed->WriteUtf8(buffer, i, &chars_written);
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
1076 isolate->factory()->undefined_value(), 1077 isolate->factory()->undefined_value(),
1077 isolate->factory()->undefined_value(), 1078 isolate->factory()->undefined_value(),
1078 thirtyseven, 1079 thirtyseven,
1079 fortytwo, 1080 fortytwo,
1080 thirtyseven // Bug yielded 42 here. 1081 thirtyseven // Bug yielded 42 here.
1081 }; 1082 };
1082 1083
1083 const char* line; 1084 const char* line;
1084 for (int i = 0; (line = lines[i]); i++) { 1085 for (int i = 0; (line = lines[i]); i++) {
1085 printf("%s\n", line); 1086 printf("%s\n", line);
1086 v8::Local<v8::Value> result = 1087 v8::Local<v8::Value> result = v8::Script::Compile(
1087 v8::Script::Compile(v8::String::New(line))->Run(); 1088 v8::String::NewFromUtf8(CcTest::isolate(), line))->Run();
1088 CHECK_EQ(results[i]->IsUndefined(), result->IsUndefined()); 1089 CHECK_EQ(results[i]->IsUndefined(), result->IsUndefined());
1089 CHECK_EQ(results[i]->IsNumber(), result->IsNumber()); 1090 CHECK_EQ(results[i]->IsNumber(), result->IsNumber());
1090 if (result->IsNumber()) { 1091 if (result->IsNumber()) {
1091 CHECK_EQ(Smi::cast(results[i]->ToSmi()->ToObjectChecked())->value(), 1092 CHECK_EQ(Smi::cast(results[i]->ToSmi()->ToObjectChecked())->value(),
1092 result->ToInt32()->Value()); 1093 result->ToInt32()->Value());
1093 } 1094 }
1094 } 1095 }
1095 } 1096 }
1096 1097
1097 1098
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
1223 "var two_14 = Math.pow(2, 14);" 1224 "var two_14 = Math.pow(2, 14);"
1224 "var two_17 = Math.pow(2, 17);" 1225 "var two_17 = Math.pow(2, 17);"
1225 "var s = Array(two_17 + 1).join('c');" 1226 "var s = Array(two_17 + 1).join('c');"
1226 "var a = ['bad'];" 1227 "var a = ['bad'];"
1227 "for (var i = 1; i <= two_14; i++) a.push(s);" 1228 "for (var i = 1; i <= two_14; i++) a.push(s);"
1228 "a.join("");"; 1229 "a.join("");";
1229 1230
1230 v8::HandleScope scope(CcTest::isolate()); 1231 v8::HandleScope scope(CcTest::isolate());
1231 LocalContext context; 1232 LocalContext context;
1232 v8::V8::IgnoreOutOfMemoryException(); 1233 v8::V8::IgnoreOutOfMemoryException();
1233 v8::Local<v8::Script> script = 1234 v8::Local<v8::Script> script = v8::Script::Compile(
1234 v8::Script::Compile(v8::String::New(join_causing_out_of_memory)); 1235 v8::String::NewFromUtf8(CcTest::isolate(), join_causing_out_of_memory));
1235 v8::Local<v8::Value> result = script->Run(); 1236 v8::Local<v8::Value> result = script->Run();
1236 1237
1237 // Check for out of memory state. 1238 // Check for out of memory state.
1238 CHECK(result.IsEmpty()); 1239 CHECK(result.IsEmpty());
1239 CHECK(context->HasOutOfMemoryException()); 1240 CHECK(context->HasOutOfMemoryException());
1240 } 1241 }
1241 1242
1242 1243
1243 static void CheckException(const char* source) { 1244 static void CheckException(const char* source) {
1244 // An empty handle is returned upon exception. 1245 // An empty handle is returned upon exception.
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
1379 CheckCanonicalEquivalence(c, test); 1380 CheckCanonicalEquivalence(c, test);
1380 continue; 1381 continue;
1381 } 1382 }
1382 if (upper != c && lower != c) { 1383 if (upper != c && lower != c) {
1383 CheckCanonicalEquivalence(c, test); 1384 CheckCanonicalEquivalence(c, test);
1384 continue; 1385 continue;
1385 } 1386 }
1386 CHECK_EQ(Min(upper, lower), test); 1387 CHECK_EQ(Min(upper, lower), test);
1387 } 1388 }
1388 } 1389 }
OLDNEW
« no previous file with comments | « test/cctest/test-serialize.cc ('k') | test/cctest/test-thread-termination.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698