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

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

Issue 11538003: Fix windows build. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 8 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 | « no previous file | no next file » | 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 2
3 // Check that we can traverse very deep stacks of ConsStrings using 3 // Check that we can traverse very deep stacks of ConsStrings using
4 // StringInputBuffer. Check that Get(int) works on very deep stacks 4 // StringInputBuffer. Check that Get(int) works on very deep stacks
5 // of ConsStrings. These operations may not be very fast, but they 5 // of ConsStrings. These operations may not be very fast, but they
6 // should be possible without getting errors due to too deep recursion. 6 // should be possible without getting errors due to too deep recursion.
7 7
8 #include <stdlib.h> 8 #include <stdlib.h>
9 9
10 #include "v8.h" 10 #include "v8.h"
(...skipping 22 matching lines...) Expand all
33 Q[j] = Q[j - 3] ^ Q[j - 2] ^ phi ^ j; 33 Q[j] = Q[j - 3] ^ Q[j - 2] ^ phi ^ j;
34 } 34 }
35 } 35 }
36 36
37 uint32_t next() { 37 uint32_t next() {
38 uint64_t a = 18782; 38 uint64_t a = 18782;
39 uint32_t r = 0xfffffffe; 39 uint32_t r = 0xfffffffe;
40 i = (i + 1) & (kQSize-1); 40 i = (i + 1) & (kQSize-1);
41 uint64_t t = a * Q[i] + c; 41 uint64_t t = a * Q[i] + c;
42 c = (t >> 32); 42 c = (t >> 32);
43 uint32_t x = t + c; 43 uint32_t x = static_cast<uint32_t>(t + c);
44 if (x < c) { 44 if (x < c) {
45 x++; 45 x++;
46 c++; 46 c++;
47 } 47 }
48 return (Q[i] = r - x); 48 return (Q[i] = r - x);
49 } 49 }
50 50
51 uint32_t next(int max) { 51 uint32_t next(int max) {
52 return next() % max; 52 return next() % max;
53 } 53 }
(...skipping 574 matching lines...) Expand 10 before | Expand all | Expand 10 after
628 String* flat_string, String* cons_string) { 628 String* flat_string, String* cons_string) {
629 // Do not want to test ConString traversal on flat string. 629 // Do not want to test ConString traversal on flat string.
630 CHECK(flat_string->IsFlat()); 630 CHECK(flat_string->IsFlat());
631 CHECK(!flat_string->IsConsString()); 631 CHECK(!flat_string->IsConsString());
632 CHECK(cons_string->IsConsString()); 632 CHECK(cons_string->IsConsString());
633 // TODO(dcarney) Test stream reset as well. 633 // TODO(dcarney) Test stream reset as well.
634 int length = flat_string->length(); 634 int length = flat_string->length();
635 // Iterate start search in multiple places in the string. 635 // Iterate start search in multiple places in the string.
636 int outer_iterations = length > 20 ? 20 : length; 636 int outer_iterations = length > 20 ? 20 : length;
637 for (int j = 0; j <= outer_iterations; j++) { 637 for (int j = 0; j <= outer_iterations; j++) {
638 int offset = static_cast<double>(length)*j/outer_iterations; 638 int offset = length * j / outer_iterations;
639 if (offset < 0) offset = 0; 639 if (offset < 0) offset = 0;
640 // Want to test the offset == length case. 640 // Want to test the offset == length case.
641 if (offset > length) offset = length; 641 if (offset > length) offset = length;
642 StringCharacterStream flat_stream( 642 StringCharacterStream flat_stream(
643 flat_string, (unsigned) offset, &cons_string_iterator_op_1); 643 flat_string, (unsigned) offset, &cons_string_iterator_op_1);
644 StringCharacterStream cons_stream( 644 StringCharacterStream cons_stream(
645 cons_string, (unsigned) offset, &cons_string_iterator_op_2); 645 cons_string, (unsigned) offset, &cons_string_iterator_op_2);
646 for (int i = offset; i < length; i++) { 646 for (int i = offset; i < length; i++) {
647 uint16_t c = flat_string->Get(i); 647 uint16_t c = flat_string->Get(i);
648 CHECK(flat_stream.HasMore()); 648 CHECK(flat_stream.HasMore());
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
1113 1113
1114 v8::Local<v8::String> expected = v8_str("ascii\x80only\x80string\x80"); 1114 v8::Local<v8::String> expected = v8_str("ascii\x80only\x80string\x80");
1115 CHECK(expected->Equals(result)); 1115 CHECK(expected->Equals(result));
1116 } 1116 }
1117 1117
1118 1118
1119 TEST(IsAscii) { 1119 TEST(IsAscii) {
1120 CHECK(String::IsAscii(static_cast<char*>(NULL), 0)); 1120 CHECK(String::IsAscii(static_cast<char*>(NULL), 0));
1121 CHECK(String::IsAscii(static_cast<uc16*>(NULL), 0)); 1121 CHECK(String::IsAscii(static_cast<uc16*>(NULL), 0));
1122 } 1122 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698