Index: test/cctest/test-regexp.cc |
=================================================================== |
--- test/cctest/test-regexp.cc (revision 11224) |
+++ test/cctest/test-regexp.cc (working copy) |
@@ -1590,7 +1590,7 @@ |
ZoneScope zone_scope(Isolate::Current(), DELETE_ON_EXIT); |
ZoneList<CharacterRange>* base = new ZoneList<CharacterRange>(1); |
base->Add(CharacterRange::Everything()); |
- Vector<const uc16> overlay = CharacterRange::GetWordBounds(); |
+ Vector<const int> overlay = CharacterRange::GetWordBounds(); |
ZoneList<CharacterRange>* included = NULL; |
ZoneList<CharacterRange>* excluded = NULL; |
CharacterRange::Split(base, overlay, &included, &excluded); |
@@ -1599,7 +1599,7 @@ |
if (in_base) { |
bool in_overlay = false; |
for (int j = 0; !in_overlay && j < overlay.length(); j += 2) { |
- if (overlay[j] <= i && i <= overlay[j+1]) |
+ if (overlay[j] <= i && i < overlay[j+1]) |
in_overlay = true; |
} |
CHECK_EQ(in_overlay, InClass(i, included)); |
@@ -1672,16 +1672,6 @@ |
ASSERT_EQ(30, list->at(0).to()); |
} |
-// Checks whether a character is in the set represented by a list of ranges. |
-static bool CharacterInSet(ZoneList<CharacterRange>* set, uc16 value) { |
- for (int i = 0; i < set->length(); i++) { |
- CharacterRange range = set->at(i); |
- if (range.from() <= value && value <= range.to()) { |
- return true; |
- } |
- } |
- return false; |
-} |
TEST(CharacterRangeMerge) { |
v8::internal::V8::Initialize(NULL); |
@@ -1768,67 +1758,6 @@ |
ZoneList<CharacterRange> first_only(4); |
ZoneList<CharacterRange> second_only(4); |
ZoneList<CharacterRange> both(4); |
- |
- // Merge one direction. |
- CharacterRange::Merge(&l1, &l2, &first_only, &second_only, &both); |
- |
- CHECK(CharacterRange::IsCanonical(&first_only)); |
- CHECK(CharacterRange::IsCanonical(&second_only)); |
- CHECK(CharacterRange::IsCanonical(&both)); |
- |
- for (uc16 i = 0; i < offset; i++) { |
- bool in_first = CharacterInSet(&l1, i); |
- bool in_second = CharacterInSet(&l2, i); |
- CHECK((in_first && !in_second) == CharacterInSet(&first_only, i)); |
- CHECK((!in_first && in_second) == CharacterInSet(&second_only, i)); |
- CHECK((in_first && in_second) == CharacterInSet(&both, i)); |
- } |
- |
- first_only.Clear(); |
- second_only.Clear(); |
- both.Clear(); |
- |
- // Merge other direction. |
- CharacterRange::Merge(&l2, &l1, &second_only, &first_only, &both); |
- |
- CHECK(CharacterRange::IsCanonical(&first_only)); |
- CHECK(CharacterRange::IsCanonical(&second_only)); |
- CHECK(CharacterRange::IsCanonical(&both)); |
- |
- for (uc16 i = 0; i < offset; i++) { |
- bool in_first = CharacterInSet(&l1, i); |
- bool in_second = CharacterInSet(&l2, i); |
- CHECK((in_first && !in_second) == CharacterInSet(&first_only, i)); |
- CHECK((!in_first && in_second) == CharacterInSet(&second_only, i)); |
- CHECK((in_first && in_second) == CharacterInSet(&both, i)); |
- } |
- |
- first_only.Clear(); |
- second_only.Clear(); |
- both.Clear(); |
- |
- // Merge but don't record all combinations. |
- CharacterRange::Merge(&l1, &l2, NULL, NULL, &both); |
- |
- CHECK(CharacterRange::IsCanonical(&both)); |
- |
- for (uc16 i = 0; i < offset; i++) { |
- bool in_first = CharacterInSet(&l1, i); |
- bool in_second = CharacterInSet(&l2, i); |
- CHECK((in_first && in_second) == CharacterInSet(&both, i)); |
- } |
- |
- // Merge into same set. |
- ZoneList<CharacterRange> all(4); |
- CharacterRange::Merge(&l1, &l2, &all, &all, &all); |
- |
- CHECK(CharacterRange::IsCanonical(&all)); |
- |
- for (uc16 i = 0; i < offset; i++) { |
- bool in_first = CharacterInSet(&l1, i); |
- bool in_second = CharacterInSet(&l2, i); |
- CHECK((in_first || in_second) == CharacterInSet(&all, i)); |
- } |
} |