OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <stddef.h> | 5 #include <stddef.h> |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 for (size_t i = 0; i < arraysize(utf16_to_utf8_cases); ++i) { | 70 for (size_t i = 0; i < arraysize(utf16_to_utf8_cases); ++i) { |
71 size_t offset = utf16_to_utf8_cases[i].input_offset; | 71 size_t offset = utf16_to_utf8_cases[i].input_offset; |
72 std::vector<size_t> offsets; | 72 std::vector<size_t> offsets; |
73 offsets.push_back(offset); | 73 offsets.push_back(offset); |
74 UTF16ToUTF8AndAdjustOffsets(utf16_to_utf8_cases[i].utf16, &offsets); | 74 UTF16ToUTF8AndAdjustOffsets(utf16_to_utf8_cases[i].utf16, &offsets); |
75 EXPECT_EQ(utf16_to_utf8_cases[i].output_offset, offsets[0]) << i; | 75 EXPECT_EQ(utf16_to_utf8_cases[i].output_offset, offsets[0]) << i; |
76 } | 76 } |
77 } | 77 } |
78 | 78 |
79 TEST(UTFOffsetStringConversionsTest, LimitOffsets) { | 79 TEST(UTFOffsetStringConversionsTest, LimitOffsets) { |
| 80 const OffsetAdjuster::Adjustments kNoAdjustments; |
80 const size_t kLimit = 10; | 81 const size_t kLimit = 10; |
81 const size_t kItems = 20; | 82 const size_t kItems = 20; |
82 std::vector<size_t> size_ts; | 83 std::vector<size_t> size_ts; |
83 for (size_t t = 0; t < kItems; ++t) | 84 for (size_t t = 0; t < kItems; ++t) { |
84 size_ts.push_back(t); | 85 size_ts.push_back(t); |
85 std::for_each(size_ts.begin(), size_ts.end(), | 86 OffsetAdjuster::AdjustOffset(kNoAdjustments, &size_ts.back(), kLimit); |
86 LimitOffset<string16>(kLimit)); | 87 } |
87 size_t unlimited_count = 0; | 88 size_t unlimited_count = 0; |
88 for (std::vector<size_t>::iterator ti = size_ts.begin(); ti != size_ts.end(); | 89 for (std::vector<size_t>::iterator ti = size_ts.begin(); ti != size_ts.end(); |
89 ++ti) { | 90 ++ti) { |
90 if (*ti != kNpos) | 91 if (*ti != kNpos) |
91 ++unlimited_count; | 92 ++unlimited_count; |
92 } | 93 } |
93 EXPECT_EQ(11U, unlimited_count); | 94 EXPECT_EQ(11U, unlimited_count); |
94 | 95 |
95 // Reverse the values in the vector and try again. | 96 // Reverse the values in the vector and try again. |
96 size_ts.clear(); | 97 size_ts.clear(); |
97 for (size_t t = kItems; t > 0; --t) | 98 for (size_t t = kItems; t > 0; --t) { |
98 size_ts.push_back(t - 1); | 99 size_ts.push_back(t - 1); |
99 std::for_each(size_ts.begin(), size_ts.end(), | 100 OffsetAdjuster::AdjustOffset(kNoAdjustments, &size_ts.back(), kLimit); |
100 LimitOffset<string16>(kLimit)); | 101 } |
101 unlimited_count = 0; | 102 unlimited_count = 0; |
102 for (std::vector<size_t>::iterator ti = size_ts.begin(); ti != size_ts.end(); | 103 for (std::vector<size_t>::iterator ti = size_ts.begin(); ti != size_ts.end(); |
103 ++ti) { | 104 ++ti) { |
104 if (*ti != kNpos) | 105 if (*ti != kNpos) |
105 ++unlimited_count; | 106 ++unlimited_count; |
106 } | 107 } |
107 EXPECT_EQ(11U, unlimited_count); | 108 EXPECT_EQ(11U, unlimited_count); |
108 } | 109 } |
109 | 110 |
110 TEST(UTFOffsetStringConversionsTest, AdjustOffsets) { | 111 TEST(UTFOffsetStringConversionsTest, AdjustOffsets) { |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
290 EXPECT_EQ(1u, adjustments_on_adjusted_string[3].output_length); | 291 EXPECT_EQ(1u, adjustments_on_adjusted_string[3].output_length); |
291 EXPECT_EQ(19u, adjustments_on_adjusted_string[4].original_offset); | 292 EXPECT_EQ(19u, adjustments_on_adjusted_string[4].original_offset); |
292 EXPECT_EQ(3u, adjustments_on_adjusted_string[4].original_length); | 293 EXPECT_EQ(3u, adjustments_on_adjusted_string[4].original_length); |
293 EXPECT_EQ(0u, adjustments_on_adjusted_string[4].output_length); | 294 EXPECT_EQ(0u, adjustments_on_adjusted_string[4].output_length); |
294 EXPECT_EQ(25u, adjustments_on_adjusted_string[5].original_offset); | 295 EXPECT_EQ(25u, adjustments_on_adjusted_string[5].original_offset); |
295 EXPECT_EQ(1u, adjustments_on_adjusted_string[5].original_length); | 296 EXPECT_EQ(1u, adjustments_on_adjusted_string[5].original_length); |
296 EXPECT_EQ(2u, adjustments_on_adjusted_string[5].output_length); | 297 EXPECT_EQ(2u, adjustments_on_adjusted_string[5].output_length); |
297 } | 298 } |
298 | 299 |
299 } // namespace base | 300 } // namespace base |
OLD | NEW |