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

Side by Side Diff: third_party/WebKit/Source/platform/wtf/text/StringViewTest.cpp

Issue 2809983002: Fix g_k_* symbols after blink rename. (Closed)
Patch Set: Created 3 years, 8 months 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
« no previous file with comments | « third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp ('k') | 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "platform/wtf/text/StringView.h" 5 #include "platform/wtf/text/StringView.h"
6 6
7 #include "platform/wtf/text/AtomicString.h" 7 #include "platform/wtf/text/AtomicString.h"
8 #include "platform/wtf/text/StringImpl.h" 8 #include "platform/wtf/text/StringImpl.h"
9 #include "platform/wtf/text/WTFString.h" 9 #include "platform/wtf/text/WTFString.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
11 11
12 namespace WTF { 12 namespace WTF {
13 13
14 const char* g_k_chars = "12345"; 14 const char kChars[] = "12345";
15 const LChar* g_k_chars8 = reinterpret_cast<const LChar*>(g_k_chars); 15 const LChar* const kChars8 = reinterpret_cast<const LChar*>(kChars);
16 const UChar* g_k_chars16 = reinterpret_cast<const UChar*>(u"12345"); 16 const UChar* const kChars16 = reinterpret_cast<const UChar*>(u"12345");
17 17
18 TEST(StringViewTest, ConstructionStringImpl8) { 18 TEST(StringViewTest, ConstructionStringImpl8) {
19 RefPtr<StringImpl> impl8_bit = StringImpl::Create(g_k_chars8, 5); 19 RefPtr<StringImpl> impl8_bit = StringImpl::Create(kChars8, 5);
20 20
21 // StringView(StringImpl*); 21 // StringView(StringImpl*);
22 ASSERT_TRUE(StringView(impl8_bit.Get()).Is8Bit()); 22 ASSERT_TRUE(StringView(impl8_bit.Get()).Is8Bit());
23 EXPECT_FALSE(StringView(impl8_bit.Get()).IsNull()); 23 EXPECT_FALSE(StringView(impl8_bit.Get()).IsNull());
24 EXPECT_EQ(impl8_bit->Characters8(), 24 EXPECT_EQ(impl8_bit->Characters8(),
25 StringView(impl8_bit.Get()).Characters8()); 25 StringView(impl8_bit.Get()).Characters8());
26 EXPECT_EQ(impl8_bit->length(), StringView(impl8_bit.Get()).length()); 26 EXPECT_EQ(impl8_bit->length(), StringView(impl8_bit.Get()).length());
27 EXPECT_STREQ(g_k_chars, StringView(impl8_bit.Get()).ToString().Utf8().Data()); 27 EXPECT_STREQ(kChars, StringView(impl8_bit.Get()).ToString().Utf8().Data());
28 28
29 // StringView(StringImpl*, unsigned offset); 29 // StringView(StringImpl*, unsigned offset);
30 ASSERT_TRUE(StringView(impl8_bit.Get(), 2).Is8Bit()); 30 ASSERT_TRUE(StringView(impl8_bit.Get(), 2).Is8Bit());
31 EXPECT_FALSE(StringView(impl8_bit.Get(), 2).IsNull()); 31 EXPECT_FALSE(StringView(impl8_bit.Get(), 2).IsNull());
32 EXPECT_EQ(impl8_bit->Characters8() + 2, 32 EXPECT_EQ(impl8_bit->Characters8() + 2,
33 StringView(impl8_bit.Get(), 2).Characters8()); 33 StringView(impl8_bit.Get(), 2).Characters8());
34 EXPECT_EQ(3u, StringView(impl8_bit.Get(), 2).length()); 34 EXPECT_EQ(3u, StringView(impl8_bit.Get(), 2).length());
35 EXPECT_EQ(StringView("345"), StringView(impl8_bit.Get(), 2)); 35 EXPECT_EQ(StringView("345"), StringView(impl8_bit.Get(), 2));
36 EXPECT_STREQ("345", StringView(impl8_bit.Get(), 2).ToString().Utf8().Data()); 36 EXPECT_STREQ("345", StringView(impl8_bit.Get(), 2).ToString().Utf8().Data());
37 37
38 // StringView(StringImpl*, unsigned offset, unsigned length); 38 // StringView(StringImpl*, unsigned offset, unsigned length);
39 ASSERT_TRUE(StringView(impl8_bit.Get(), 2, 1).Is8Bit()); 39 ASSERT_TRUE(StringView(impl8_bit.Get(), 2, 1).Is8Bit());
40 EXPECT_FALSE(StringView(impl8_bit.Get(), 2, 1).IsNull()); 40 EXPECT_FALSE(StringView(impl8_bit.Get(), 2, 1).IsNull());
41 EXPECT_EQ(impl8_bit->Characters8() + 2, 41 EXPECT_EQ(impl8_bit->Characters8() + 2,
42 StringView(impl8_bit.Get(), 2, 1).Characters8()); 42 StringView(impl8_bit.Get(), 2, 1).Characters8());
43 EXPECT_EQ(1u, StringView(impl8_bit.Get(), 2, 1).length()); 43 EXPECT_EQ(1u, StringView(impl8_bit.Get(), 2, 1).length());
44 EXPECT_EQ(StringView("3"), StringView(impl8_bit.Get(), 2, 1)); 44 EXPECT_EQ(StringView("3"), StringView(impl8_bit.Get(), 2, 1));
45 EXPECT_STREQ("3", StringView(impl8_bit.Get(), 2, 1).ToString().Utf8().Data()); 45 EXPECT_STREQ("3", StringView(impl8_bit.Get(), 2, 1).ToString().Utf8().Data());
46 } 46 }
47 47
48 TEST(StringViewTest, ConstructionStringImpl16) { 48 TEST(StringViewTest, ConstructionStringImpl16) {
49 RefPtr<StringImpl> impl16_bit = StringImpl::Create(g_k_chars16, 5); 49 RefPtr<StringImpl> impl16_bit = StringImpl::Create(kChars16, 5);
50 50
51 // StringView(StringImpl*); 51 // StringView(StringImpl*);
52 ASSERT_FALSE(StringView(impl16_bit.Get()).Is8Bit()); 52 ASSERT_FALSE(StringView(impl16_bit.Get()).Is8Bit());
53 EXPECT_FALSE(StringView(impl16_bit.Get()).IsNull()); 53 EXPECT_FALSE(StringView(impl16_bit.Get()).IsNull());
54 EXPECT_EQ(impl16_bit->Characters16(), 54 EXPECT_EQ(impl16_bit->Characters16(),
55 StringView(impl16_bit.Get()).Characters16()); 55 StringView(impl16_bit.Get()).Characters16());
56 EXPECT_EQ(impl16_bit->length(), StringView(impl16_bit.Get()).length()); 56 EXPECT_EQ(impl16_bit->length(), StringView(impl16_bit.Get()).length());
57 EXPECT_STREQ(g_k_chars, 57 EXPECT_STREQ(kChars, StringView(impl16_bit.Get()).ToString().Utf8().Data());
58 StringView(impl16_bit.Get()).ToString().Utf8().Data());
59 58
60 // StringView(StringImpl*, unsigned offset); 59 // StringView(StringImpl*, unsigned offset);
61 ASSERT_FALSE(StringView(impl16_bit.Get(), 2).Is8Bit()); 60 ASSERT_FALSE(StringView(impl16_bit.Get(), 2).Is8Bit());
62 EXPECT_FALSE(StringView(impl16_bit.Get(), 2).IsNull()); 61 EXPECT_FALSE(StringView(impl16_bit.Get(), 2).IsNull());
63 EXPECT_EQ(impl16_bit->Characters16() + 2, 62 EXPECT_EQ(impl16_bit->Characters16() + 2,
64 StringView(impl16_bit.Get(), 2).Characters16()); 63 StringView(impl16_bit.Get(), 2).Characters16());
65 EXPECT_EQ(3u, StringView(impl16_bit.Get(), 2).length()); 64 EXPECT_EQ(3u, StringView(impl16_bit.Get(), 2).length());
66 EXPECT_EQ(StringView("345"), StringView(impl16_bit.Get(), 2)); 65 EXPECT_EQ(StringView("345"), StringView(impl16_bit.Get(), 2));
67 EXPECT_STREQ("345", StringView(impl16_bit.Get(), 2).ToString().Utf8().Data()); 66 EXPECT_STREQ("345", StringView(impl16_bit.Get(), 2).ToString().Utf8().Data());
68 67
69 // StringView(StringImpl*, unsigned offset, unsigned length); 68 // StringView(StringImpl*, unsigned offset, unsigned length);
70 ASSERT_FALSE(StringView(impl16_bit.Get(), 2, 1).Is8Bit()); 69 ASSERT_FALSE(StringView(impl16_bit.Get(), 2, 1).Is8Bit());
71 EXPECT_FALSE(StringView(impl16_bit.Get(), 2, 1).IsNull()); 70 EXPECT_FALSE(StringView(impl16_bit.Get(), 2, 1).IsNull());
72 EXPECT_EQ(impl16_bit->Characters16() + 2, 71 EXPECT_EQ(impl16_bit->Characters16() + 2,
73 StringView(impl16_bit.Get(), 2, 1).Characters16()); 72 StringView(impl16_bit.Get(), 2, 1).Characters16());
74 EXPECT_EQ(1u, StringView(impl16_bit.Get(), 2, 1).length()); 73 EXPECT_EQ(1u, StringView(impl16_bit.Get(), 2, 1).length());
75 EXPECT_EQ(StringView("3"), StringView(impl16_bit.Get(), 2, 1)); 74 EXPECT_EQ(StringView("3"), StringView(impl16_bit.Get(), 2, 1));
76 EXPECT_STREQ("3", 75 EXPECT_STREQ("3",
77 StringView(impl16_bit.Get(), 2, 1).ToString().Utf8().Data()); 76 StringView(impl16_bit.Get(), 2, 1).ToString().Utf8().Data());
78 } 77 }
79 78
80 TEST(StringViewTest, ConstructionStringImplRef8) { 79 TEST(StringViewTest, ConstructionStringImplRef8) {
81 RefPtr<StringImpl> impl8_bit = StringImpl::Create(g_k_chars8, 5); 80 RefPtr<StringImpl> impl8_bit = StringImpl::Create(kChars8, 5);
82 81
83 // StringView(StringImpl&); 82 // StringView(StringImpl&);
84 ASSERT_TRUE(StringView(*impl8_bit).Is8Bit()); 83 ASSERT_TRUE(StringView(*impl8_bit).Is8Bit());
85 EXPECT_FALSE(StringView(*impl8_bit).IsNull()); 84 EXPECT_FALSE(StringView(*impl8_bit).IsNull());
86 EXPECT_EQ(impl8_bit->Characters8(), StringView(*impl8_bit).Characters8()); 85 EXPECT_EQ(impl8_bit->Characters8(), StringView(*impl8_bit).Characters8());
87 EXPECT_EQ(impl8_bit->length(), StringView(*impl8_bit).length()); 86 EXPECT_EQ(impl8_bit->length(), StringView(*impl8_bit).length());
88 EXPECT_STREQ(g_k_chars, StringView(*impl8_bit).ToString().Utf8().Data()); 87 EXPECT_STREQ(kChars, StringView(*impl8_bit).ToString().Utf8().Data());
89 88
90 // StringView(StringImpl&, unsigned offset); 89 // StringView(StringImpl&, unsigned offset);
91 ASSERT_TRUE(StringView(*impl8_bit, 2).Is8Bit()); 90 ASSERT_TRUE(StringView(*impl8_bit, 2).Is8Bit());
92 EXPECT_FALSE(StringView(*impl8_bit, 2).IsNull()); 91 EXPECT_FALSE(StringView(*impl8_bit, 2).IsNull());
93 EXPECT_EQ(impl8_bit->Characters8() + 2, 92 EXPECT_EQ(impl8_bit->Characters8() + 2,
94 StringView(*impl8_bit, 2).Characters8()); 93 StringView(*impl8_bit, 2).Characters8());
95 EXPECT_EQ(3u, StringView(*impl8_bit, 2).length()); 94 EXPECT_EQ(3u, StringView(*impl8_bit, 2).length());
96 EXPECT_EQ(StringView("345"), StringView(*impl8_bit, 2)); 95 EXPECT_EQ(StringView("345"), StringView(*impl8_bit, 2));
97 EXPECT_STREQ("345", StringView(*impl8_bit, 2).ToString().Utf8().Data()); 96 EXPECT_STREQ("345", StringView(*impl8_bit, 2).ToString().Utf8().Data());
98 97
99 // StringView(StringImpl&, unsigned offset, unsigned length); 98 // StringView(StringImpl&, unsigned offset, unsigned length);
100 ASSERT_TRUE(StringView(*impl8_bit, 2, 1).Is8Bit()); 99 ASSERT_TRUE(StringView(*impl8_bit, 2, 1).Is8Bit());
101 EXPECT_FALSE(StringView(*impl8_bit, 2, 1).IsNull()); 100 EXPECT_FALSE(StringView(*impl8_bit, 2, 1).IsNull());
102 EXPECT_EQ(impl8_bit->Characters8() + 2, 101 EXPECT_EQ(impl8_bit->Characters8() + 2,
103 StringView(*impl8_bit, 2, 1).Characters8()); 102 StringView(*impl8_bit, 2, 1).Characters8());
104 EXPECT_EQ(1u, StringView(*impl8_bit, 2, 1).length()); 103 EXPECT_EQ(1u, StringView(*impl8_bit, 2, 1).length());
105 EXPECT_EQ(StringView("3"), StringView(*impl8_bit, 2, 1)); 104 EXPECT_EQ(StringView("3"), StringView(*impl8_bit, 2, 1));
106 EXPECT_STREQ("3", StringView(*impl8_bit, 2, 1).ToString().Utf8().Data()); 105 EXPECT_STREQ("3", StringView(*impl8_bit, 2, 1).ToString().Utf8().Data());
107 } 106 }
108 107
109 TEST(StringViewTest, ConstructionStringImplRef16) { 108 TEST(StringViewTest, ConstructionStringImplRef16) {
110 RefPtr<StringImpl> impl16_bit = StringImpl::Create(g_k_chars16, 5); 109 RefPtr<StringImpl> impl16_bit = StringImpl::Create(kChars16, 5);
111 110
112 // StringView(StringImpl&); 111 // StringView(StringImpl&);
113 ASSERT_FALSE(StringView(*impl16_bit).Is8Bit()); 112 ASSERT_FALSE(StringView(*impl16_bit).Is8Bit());
114 EXPECT_FALSE(StringView(*impl16_bit).IsNull()); 113 EXPECT_FALSE(StringView(*impl16_bit).IsNull());
115 EXPECT_EQ(impl16_bit->Characters16(), StringView(*impl16_bit).Characters16()); 114 EXPECT_EQ(impl16_bit->Characters16(), StringView(*impl16_bit).Characters16());
116 EXPECT_EQ(impl16_bit->length(), StringView(*impl16_bit).length()); 115 EXPECT_EQ(impl16_bit->length(), StringView(*impl16_bit).length());
117 EXPECT_STREQ(g_k_chars, StringView(*impl16_bit).ToString().Utf8().Data()); 116 EXPECT_STREQ(kChars, StringView(*impl16_bit).ToString().Utf8().Data());
118 117
119 // StringView(StringImpl&, unsigned offset); 118 // StringView(StringImpl&, unsigned offset);
120 ASSERT_FALSE(StringView(*impl16_bit, 2).Is8Bit()); 119 ASSERT_FALSE(StringView(*impl16_bit, 2).Is8Bit());
121 EXPECT_FALSE(StringView(*impl16_bit, 2).IsNull()); 120 EXPECT_FALSE(StringView(*impl16_bit, 2).IsNull());
122 EXPECT_EQ(impl16_bit->Characters16() + 2, 121 EXPECT_EQ(impl16_bit->Characters16() + 2,
123 StringView(*impl16_bit, 2).Characters16()); 122 StringView(*impl16_bit, 2).Characters16());
124 EXPECT_EQ(3u, StringView(*impl16_bit, 2).length()); 123 EXPECT_EQ(3u, StringView(*impl16_bit, 2).length());
125 EXPECT_EQ(StringView("345"), StringView(*impl16_bit, 2)); 124 EXPECT_EQ(StringView("345"), StringView(*impl16_bit, 2));
126 EXPECT_STREQ("345", StringView(*impl16_bit, 2).ToString().Utf8().Data()); 125 EXPECT_STREQ("345", StringView(*impl16_bit, 2).ToString().Utf8().Data());
127 126
128 // StringView(StringImpl&, unsigned offset, unsigned length); 127 // StringView(StringImpl&, unsigned offset, unsigned length);
129 ASSERT_FALSE(StringView(*impl16_bit, 2, 1).Is8Bit()); 128 ASSERT_FALSE(StringView(*impl16_bit, 2, 1).Is8Bit());
130 EXPECT_FALSE(StringView(*impl16_bit, 2, 1).IsNull()); 129 EXPECT_FALSE(StringView(*impl16_bit, 2, 1).IsNull());
131 EXPECT_EQ(impl16_bit->Characters16() + 2, 130 EXPECT_EQ(impl16_bit->Characters16() + 2,
132 StringView(*impl16_bit, 2, 1).Characters16()); 131 StringView(*impl16_bit, 2, 1).Characters16());
133 EXPECT_EQ(1u, StringView(*impl16_bit, 2, 1).length()); 132 EXPECT_EQ(1u, StringView(*impl16_bit, 2, 1).length());
134 EXPECT_EQ(StringView("3"), StringView(*impl16_bit, 2, 1)); 133 EXPECT_EQ(StringView("3"), StringView(*impl16_bit, 2, 1));
135 EXPECT_STREQ("3", StringView(*impl16_bit, 2, 1).ToString().Utf8().Data()); 134 EXPECT_STREQ("3", StringView(*impl16_bit, 2, 1).ToString().Utf8().Data());
136 } 135 }
137 136
138 TEST(StringViewTest, ConstructionString8) { 137 TEST(StringViewTest, ConstructionString8) {
139 String string8_bit = String(StringImpl::Create(g_k_chars8, 5)); 138 String string8_bit = String(StringImpl::Create(kChars8, 5));
140 139
141 // StringView(const String&); 140 // StringView(const String&);
142 ASSERT_TRUE(StringView(string8_bit).Is8Bit()); 141 ASSERT_TRUE(StringView(string8_bit).Is8Bit());
143 EXPECT_FALSE(StringView(string8_bit).IsNull()); 142 EXPECT_FALSE(StringView(string8_bit).IsNull());
144 EXPECT_EQ(string8_bit.Characters8(), StringView(string8_bit).Characters8()); 143 EXPECT_EQ(string8_bit.Characters8(), StringView(string8_bit).Characters8());
145 EXPECT_EQ(string8_bit.length(), StringView(string8_bit).length()); 144 EXPECT_EQ(string8_bit.length(), StringView(string8_bit).length());
146 EXPECT_STREQ(g_k_chars, StringView(string8_bit).ToString().Utf8().Data()); 145 EXPECT_STREQ(kChars, StringView(string8_bit).ToString().Utf8().Data());
147 146
148 // StringView(const String&, unsigned offset); 147 // StringView(const String&, unsigned offset);
149 ASSERT_TRUE(StringView(string8_bit, 2).Is8Bit()); 148 ASSERT_TRUE(StringView(string8_bit, 2).Is8Bit());
150 EXPECT_FALSE(StringView(string8_bit, 2).IsNull()); 149 EXPECT_FALSE(StringView(string8_bit, 2).IsNull());
151 EXPECT_EQ(string8_bit.Characters8() + 2, 150 EXPECT_EQ(string8_bit.Characters8() + 2,
152 StringView(string8_bit, 2).Characters8()); 151 StringView(string8_bit, 2).Characters8());
153 EXPECT_EQ(3u, StringView(string8_bit, 2).length()); 152 EXPECT_EQ(3u, StringView(string8_bit, 2).length());
154 EXPECT_EQ(StringView("345"), StringView(string8_bit, 2)); 153 EXPECT_EQ(StringView("345"), StringView(string8_bit, 2));
155 EXPECT_STREQ("345", StringView(string8_bit, 2).ToString().Utf8().Data()); 154 EXPECT_STREQ("345", StringView(string8_bit, 2).ToString().Utf8().Data());
156 155
157 // StringView(const String&, unsigned offset, unsigned length); 156 // StringView(const String&, unsigned offset, unsigned length);
158 ASSERT_TRUE(StringView(string8_bit, 2, 1).Is8Bit()); 157 ASSERT_TRUE(StringView(string8_bit, 2, 1).Is8Bit());
159 EXPECT_FALSE(StringView(string8_bit, 2, 1).IsNull()); 158 EXPECT_FALSE(StringView(string8_bit, 2, 1).IsNull());
160 EXPECT_EQ(string8_bit.Characters8() + 2, 159 EXPECT_EQ(string8_bit.Characters8() + 2,
161 StringView(string8_bit, 2, 1).Characters8()); 160 StringView(string8_bit, 2, 1).Characters8());
162 EXPECT_EQ(1u, StringView(string8_bit, 2, 1).length()); 161 EXPECT_EQ(1u, StringView(string8_bit, 2, 1).length());
163 EXPECT_EQ(StringView("3"), StringView(string8_bit, 2, 1)); 162 EXPECT_EQ(StringView("3"), StringView(string8_bit, 2, 1));
164 EXPECT_STREQ("3", StringView(string8_bit, 2, 1).ToString().Utf8().Data()); 163 EXPECT_STREQ("3", StringView(string8_bit, 2, 1).ToString().Utf8().Data());
165 } 164 }
166 165
167 TEST(StringViewTest, ConstructionString16) { 166 TEST(StringViewTest, ConstructionString16) {
168 String string16_bit = String(StringImpl::Create(g_k_chars16, 5)); 167 String string16_bit = String(StringImpl::Create(kChars16, 5));
169 168
170 // StringView(const String&); 169 // StringView(const String&);
171 ASSERT_FALSE(StringView(string16_bit).Is8Bit()); 170 ASSERT_FALSE(StringView(string16_bit).Is8Bit());
172 EXPECT_FALSE(StringView(string16_bit).IsNull()); 171 EXPECT_FALSE(StringView(string16_bit).IsNull());
173 EXPECT_EQ(string16_bit.Characters16(), 172 EXPECT_EQ(string16_bit.Characters16(),
174 StringView(string16_bit).Characters16()); 173 StringView(string16_bit).Characters16());
175 EXPECT_EQ(string16_bit.length(), StringView(string16_bit).length()); 174 EXPECT_EQ(string16_bit.length(), StringView(string16_bit).length());
176 EXPECT_STREQ(g_k_chars, StringView(string16_bit).ToString().Utf8().Data()); 175 EXPECT_STREQ(kChars, StringView(string16_bit).ToString().Utf8().Data());
177 176
178 // StringView(const String&, unsigned offset); 177 // StringView(const String&, unsigned offset);
179 ASSERT_FALSE(StringView(string16_bit, 2).Is8Bit()); 178 ASSERT_FALSE(StringView(string16_bit, 2).Is8Bit());
180 EXPECT_FALSE(StringView(string16_bit, 2).IsNull()); 179 EXPECT_FALSE(StringView(string16_bit, 2).IsNull());
181 EXPECT_EQ(string16_bit.Characters16() + 2, 180 EXPECT_EQ(string16_bit.Characters16() + 2,
182 StringView(string16_bit, 2).Characters16()); 181 StringView(string16_bit, 2).Characters16());
183 EXPECT_EQ(3u, StringView(string16_bit, 2).length()); 182 EXPECT_EQ(3u, StringView(string16_bit, 2).length());
184 EXPECT_EQ(StringView("345"), StringView(string16_bit, 2)); 183 EXPECT_EQ(StringView("345"), StringView(string16_bit, 2));
185 EXPECT_STREQ("345", StringView(string16_bit, 2).ToString().Utf8().Data()); 184 EXPECT_STREQ("345", StringView(string16_bit, 2).ToString().Utf8().Data());
186 185
187 // StringView(const String&, unsigned offset, unsigned length); 186 // StringView(const String&, unsigned offset, unsigned length);
188 ASSERT_FALSE(StringView(string16_bit, 2, 1).Is8Bit()); 187 ASSERT_FALSE(StringView(string16_bit, 2, 1).Is8Bit());
189 EXPECT_FALSE(StringView(string16_bit, 2, 1).IsNull()); 188 EXPECT_FALSE(StringView(string16_bit, 2, 1).IsNull());
190 EXPECT_EQ(string16_bit.Characters16() + 2, 189 EXPECT_EQ(string16_bit.Characters16() + 2,
191 StringView(string16_bit, 2, 1).Characters16()); 190 StringView(string16_bit, 2, 1).Characters16());
192 EXPECT_EQ(1u, StringView(string16_bit, 2, 1).length()); 191 EXPECT_EQ(1u, StringView(string16_bit, 2, 1).length());
193 EXPECT_EQ(StringView("3"), StringView(string16_bit, 2, 1)); 192 EXPECT_EQ(StringView("3"), StringView(string16_bit, 2, 1));
194 EXPECT_STREQ("3", StringView(string16_bit, 2, 1).ToString().Utf8().Data()); 193 EXPECT_STREQ("3", StringView(string16_bit, 2, 1).ToString().Utf8().Data());
195 } 194 }
196 195
197 TEST(StringViewTest, ConstructionAtomicString8) { 196 TEST(StringViewTest, ConstructionAtomicString8) {
198 AtomicString atom8_bit = AtomicString(StringImpl::Create(g_k_chars8, 5)); 197 AtomicString atom8_bit = AtomicString(StringImpl::Create(kChars8, 5));
199 198
200 // StringView(const AtomicString&); 199 // StringView(const AtomicString&);
201 ASSERT_TRUE(StringView(atom8_bit).Is8Bit()); 200 ASSERT_TRUE(StringView(atom8_bit).Is8Bit());
202 EXPECT_FALSE(StringView(atom8_bit).IsNull()); 201 EXPECT_FALSE(StringView(atom8_bit).IsNull());
203 EXPECT_EQ(atom8_bit.Characters8(), StringView(atom8_bit).Characters8()); 202 EXPECT_EQ(atom8_bit.Characters8(), StringView(atom8_bit).Characters8());
204 EXPECT_EQ(atom8_bit.length(), StringView(atom8_bit).length()); 203 EXPECT_EQ(atom8_bit.length(), StringView(atom8_bit).length());
205 EXPECT_STREQ(g_k_chars, StringView(atom8_bit).ToString().Utf8().Data()); 204 EXPECT_STREQ(kChars, StringView(atom8_bit).ToString().Utf8().Data());
206 205
207 // StringView(const AtomicString&, unsigned offset); 206 // StringView(const AtomicString&, unsigned offset);
208 ASSERT_TRUE(StringView(atom8_bit, 2).Is8Bit()); 207 ASSERT_TRUE(StringView(atom8_bit, 2).Is8Bit());
209 EXPECT_FALSE(StringView(atom8_bit, 2).IsNull()); 208 EXPECT_FALSE(StringView(atom8_bit, 2).IsNull());
210 EXPECT_EQ(atom8_bit.Characters8() + 2, 209 EXPECT_EQ(atom8_bit.Characters8() + 2,
211 StringView(atom8_bit, 2).Characters8()); 210 StringView(atom8_bit, 2).Characters8());
212 EXPECT_EQ(3u, StringView(atom8_bit, 2).length()); 211 EXPECT_EQ(3u, StringView(atom8_bit, 2).length());
213 EXPECT_EQ(StringView("345"), StringView(atom8_bit, 2)); 212 EXPECT_EQ(StringView("345"), StringView(atom8_bit, 2));
214 EXPECT_STREQ("345", StringView(atom8_bit, 2).ToString().Utf8().Data()); 213 EXPECT_STREQ("345", StringView(atom8_bit, 2).ToString().Utf8().Data());
215 214
216 // StringView(const AtomicString&, unsigned offset, unsigned length); 215 // StringView(const AtomicString&, unsigned offset, unsigned length);
217 ASSERT_TRUE(StringView(atom8_bit, 2, 1).Is8Bit()); 216 ASSERT_TRUE(StringView(atom8_bit, 2, 1).Is8Bit());
218 EXPECT_FALSE(StringView(atom8_bit, 2, 1).IsNull()); 217 EXPECT_FALSE(StringView(atom8_bit, 2, 1).IsNull());
219 EXPECT_EQ(atom8_bit.Characters8() + 2, 218 EXPECT_EQ(atom8_bit.Characters8() + 2,
220 StringView(atom8_bit, 2, 1).Characters8()); 219 StringView(atom8_bit, 2, 1).Characters8());
221 EXPECT_EQ(1u, StringView(atom8_bit, 2, 1).length()); 220 EXPECT_EQ(1u, StringView(atom8_bit, 2, 1).length());
222 EXPECT_EQ(StringView("3"), StringView(atom8_bit, 2, 1)); 221 EXPECT_EQ(StringView("3"), StringView(atom8_bit, 2, 1));
223 EXPECT_STREQ("3", StringView(atom8_bit, 2, 1).ToString().Utf8().Data()); 222 EXPECT_STREQ("3", StringView(atom8_bit, 2, 1).ToString().Utf8().Data());
224 } 223 }
225 224
226 TEST(StringViewTest, ConstructionAtomicString16) { 225 TEST(StringViewTest, ConstructionAtomicString16) {
227 AtomicString atom16_bit = AtomicString(StringImpl::Create(g_k_chars16, 5)); 226 AtomicString atom16_bit = AtomicString(StringImpl::Create(kChars16, 5));
228 227
229 // StringView(const AtomicString&); 228 // StringView(const AtomicString&);
230 ASSERT_FALSE(StringView(atom16_bit).Is8Bit()); 229 ASSERT_FALSE(StringView(atom16_bit).Is8Bit());
231 EXPECT_FALSE(StringView(atom16_bit).IsNull()); 230 EXPECT_FALSE(StringView(atom16_bit).IsNull());
232 EXPECT_EQ(atom16_bit.Characters16(), StringView(atom16_bit).Characters16()); 231 EXPECT_EQ(atom16_bit.Characters16(), StringView(atom16_bit).Characters16());
233 EXPECT_EQ(atom16_bit.length(), StringView(atom16_bit).length()); 232 EXPECT_EQ(atom16_bit.length(), StringView(atom16_bit).length());
234 EXPECT_STREQ(g_k_chars, StringView(atom16_bit).ToString().Utf8().Data()); 233 EXPECT_STREQ(kChars, StringView(atom16_bit).ToString().Utf8().Data());
235 234
236 // StringView(const AtomicString&, unsigned offset); 235 // StringView(const AtomicString&, unsigned offset);
237 ASSERT_FALSE(StringView(atom16_bit, 2).Is8Bit()); 236 ASSERT_FALSE(StringView(atom16_bit, 2).Is8Bit());
238 EXPECT_FALSE(StringView(atom16_bit, 2).IsNull()); 237 EXPECT_FALSE(StringView(atom16_bit, 2).IsNull());
239 EXPECT_EQ(atom16_bit.Characters16() + 2, 238 EXPECT_EQ(atom16_bit.Characters16() + 2,
240 StringView(atom16_bit, 2).Characters16()); 239 StringView(atom16_bit, 2).Characters16());
241 EXPECT_EQ(3u, StringView(atom16_bit, 2).length()); 240 EXPECT_EQ(3u, StringView(atom16_bit, 2).length());
242 EXPECT_EQ(StringView("345"), StringView(atom16_bit, 2)); 241 EXPECT_EQ(StringView("345"), StringView(atom16_bit, 2));
243 EXPECT_STREQ("345", StringView(atom16_bit, 2).ToString().Utf8().Data()); 242 EXPECT_STREQ("345", StringView(atom16_bit, 2).ToString().Utf8().Data());
244 243
245 // StringView(const AtomicString&, unsigned offset, unsigned length); 244 // StringView(const AtomicString&, unsigned offset, unsigned length);
246 ASSERT_FALSE(StringView(atom16_bit, 2, 1).Is8Bit()); 245 ASSERT_FALSE(StringView(atom16_bit, 2, 1).Is8Bit());
247 EXPECT_FALSE(StringView(atom16_bit, 2, 1).IsNull()); 246 EXPECT_FALSE(StringView(atom16_bit, 2, 1).IsNull());
248 EXPECT_EQ(atom16_bit.Characters16() + 2, 247 EXPECT_EQ(atom16_bit.Characters16() + 2,
249 StringView(atom16_bit, 2, 1).Characters16()); 248 StringView(atom16_bit, 2, 1).Characters16());
250 EXPECT_EQ(1u, StringView(atom16_bit, 2, 1).length()); 249 EXPECT_EQ(1u, StringView(atom16_bit, 2, 1).length());
251 EXPECT_EQ(StringView("3"), StringView(atom16_bit, 2, 1)); 250 EXPECT_EQ(StringView("3"), StringView(atom16_bit, 2, 1));
252 EXPECT_STREQ("3", StringView(atom16_bit, 2, 1).ToString().Utf8().Data()); 251 EXPECT_STREQ("3", StringView(atom16_bit, 2, 1).ToString().Utf8().Data());
253 } 252 }
254 253
255 TEST(StringViewTest, ConstructionStringView8) { 254 TEST(StringViewTest, ConstructionStringView8) {
256 StringView view8_bit = StringView(g_k_chars8, 5); 255 StringView view8_bit = StringView(kChars8, 5);
257 256
258 // StringView(StringView&); 257 // StringView(StringView&);
259 ASSERT_TRUE(StringView(view8_bit).Is8Bit()); 258 ASSERT_TRUE(StringView(view8_bit).Is8Bit());
260 EXPECT_FALSE(StringView(view8_bit).IsNull()); 259 EXPECT_FALSE(StringView(view8_bit).IsNull());
261 EXPECT_EQ(view8_bit.Characters8(), StringView(view8_bit).Characters8()); 260 EXPECT_EQ(view8_bit.Characters8(), StringView(view8_bit).Characters8());
262 EXPECT_EQ(view8_bit.length(), StringView(view8_bit).length()); 261 EXPECT_EQ(view8_bit.length(), StringView(view8_bit).length());
263 EXPECT_STREQ(g_k_chars, StringView(view8_bit).ToString().Utf8().Data()); 262 EXPECT_STREQ(kChars, StringView(view8_bit).ToString().Utf8().Data());
264 263
265 // StringView(const StringView&, unsigned offset); 264 // StringView(const StringView&, unsigned offset);
266 ASSERT_TRUE(StringView(view8_bit, 2).Is8Bit()); 265 ASSERT_TRUE(StringView(view8_bit, 2).Is8Bit());
267 EXPECT_FALSE(StringView(view8_bit, 2).IsNull()); 266 EXPECT_FALSE(StringView(view8_bit, 2).IsNull());
268 EXPECT_EQ(view8_bit.Characters8() + 2, 267 EXPECT_EQ(view8_bit.Characters8() + 2,
269 StringView(view8_bit, 2).Characters8()); 268 StringView(view8_bit, 2).Characters8());
270 EXPECT_EQ(3u, StringView(view8_bit, 2).length()); 269 EXPECT_EQ(3u, StringView(view8_bit, 2).length());
271 EXPECT_EQ(StringView("345"), StringView(view8_bit, 2)); 270 EXPECT_EQ(StringView("345"), StringView(view8_bit, 2));
272 EXPECT_STREQ("345", StringView(view8_bit, 2).ToString().Utf8().Data()); 271 EXPECT_STREQ("345", StringView(view8_bit, 2).ToString().Utf8().Data());
273 272
274 // StringView(const StringView&, unsigned offset, unsigned length); 273 // StringView(const StringView&, unsigned offset, unsigned length);
275 ASSERT_TRUE(StringView(view8_bit, 2, 1).Is8Bit()); 274 ASSERT_TRUE(StringView(view8_bit, 2, 1).Is8Bit());
276 EXPECT_FALSE(StringView(view8_bit, 2, 1).IsNull()); 275 EXPECT_FALSE(StringView(view8_bit, 2, 1).IsNull());
277 EXPECT_EQ(view8_bit.Characters8() + 2, 276 EXPECT_EQ(view8_bit.Characters8() + 2,
278 StringView(view8_bit, 2, 1).Characters8()); 277 StringView(view8_bit, 2, 1).Characters8());
279 EXPECT_EQ(1u, StringView(view8_bit, 2, 1).length()); 278 EXPECT_EQ(1u, StringView(view8_bit, 2, 1).length());
280 EXPECT_EQ(StringView("3"), StringView(view8_bit, 2, 1)); 279 EXPECT_EQ(StringView("3"), StringView(view8_bit, 2, 1));
281 EXPECT_STREQ("3", StringView(view8_bit, 2, 1).ToString().Utf8().Data()); 280 EXPECT_STREQ("3", StringView(view8_bit, 2, 1).ToString().Utf8().Data());
282 } 281 }
283 282
284 TEST(StringViewTest, ConstructionStringView16) { 283 TEST(StringViewTest, ConstructionStringView16) {
285 StringView view16_bit = StringView(g_k_chars16, 5); 284 StringView view16_bit = StringView(kChars16, 5);
286 285
287 // StringView(StringView&); 286 // StringView(StringView&);
288 ASSERT_FALSE(StringView(view16_bit).Is8Bit()); 287 ASSERT_FALSE(StringView(view16_bit).Is8Bit());
289 EXPECT_FALSE(StringView(view16_bit).IsNull()); 288 EXPECT_FALSE(StringView(view16_bit).IsNull());
290 EXPECT_EQ(view16_bit.Characters16(), StringView(view16_bit).Characters16()); 289 EXPECT_EQ(view16_bit.Characters16(), StringView(view16_bit).Characters16());
291 EXPECT_EQ(view16_bit.length(), StringView(view16_bit).length()); 290 EXPECT_EQ(view16_bit.length(), StringView(view16_bit).length());
292 EXPECT_EQ(g_k_chars, StringView(view16_bit).ToString()); 291 EXPECT_EQ(kChars, StringView(view16_bit).ToString());
293 292
294 // StringView(const StringView&, unsigned offset); 293 // StringView(const StringView&, unsigned offset);
295 ASSERT_FALSE(StringView(view16_bit, 2).Is8Bit()); 294 ASSERT_FALSE(StringView(view16_bit, 2).Is8Bit());
296 EXPECT_FALSE(StringView(view16_bit, 2).IsNull()); 295 EXPECT_FALSE(StringView(view16_bit, 2).IsNull());
297 EXPECT_EQ(view16_bit.Characters16() + 2, 296 EXPECT_EQ(view16_bit.Characters16() + 2,
298 StringView(view16_bit, 2).Characters16()); 297 StringView(view16_bit, 2).Characters16());
299 EXPECT_EQ(3u, StringView(view16_bit, 2).length()); 298 EXPECT_EQ(3u, StringView(view16_bit, 2).length());
300 EXPECT_EQ(StringView("345"), StringView(view16_bit, 2)); 299 EXPECT_EQ(StringView("345"), StringView(view16_bit, 2));
301 EXPECT_STREQ("345", StringView(view16_bit, 2).ToString().Utf8().Data()); 300 EXPECT_STREQ("345", StringView(view16_bit, 2).ToString().Utf8().Data());
302 301
303 // StringView(const StringView&, unsigned offset, unsigned length); 302 // StringView(const StringView&, unsigned offset, unsigned length);
304 ASSERT_FALSE(StringView(view16_bit, 2, 1).Is8Bit()); 303 ASSERT_FALSE(StringView(view16_bit, 2, 1).Is8Bit());
305 EXPECT_FALSE(StringView(view16_bit, 2, 1).IsNull()); 304 EXPECT_FALSE(StringView(view16_bit, 2, 1).IsNull());
306 EXPECT_EQ(view16_bit.Characters16() + 2, 305 EXPECT_EQ(view16_bit.Characters16() + 2,
307 StringView(view16_bit, 2, 1).Characters16()); 306 StringView(view16_bit, 2, 1).Characters16());
308 EXPECT_EQ(1u, StringView(view16_bit, 2, 1).length()); 307 EXPECT_EQ(1u, StringView(view16_bit, 2, 1).length());
309 EXPECT_EQ(StringView("3"), StringView(view16_bit, 2, 1)); 308 EXPECT_EQ(StringView("3"), StringView(view16_bit, 2, 1));
310 EXPECT_STREQ("3", StringView(view16_bit, 2, 1).ToString().Utf8().Data()); 309 EXPECT_STREQ("3", StringView(view16_bit, 2, 1).ToString().Utf8().Data());
311 } 310 }
312 311
313 TEST(StringViewTest, ConstructionLiteral8) { 312 TEST(StringViewTest, ConstructionLiteral8) {
314 // StringView(const LChar* chars); 313 // StringView(const LChar* chars);
315 ASSERT_TRUE(StringView(g_k_chars8).Is8Bit()); 314 ASSERT_TRUE(StringView(kChars8).Is8Bit());
316 EXPECT_FALSE(StringView(g_k_chars8).IsNull()); 315 EXPECT_FALSE(StringView(kChars8).IsNull());
317 EXPECT_EQ(g_k_chars8, StringView(g_k_chars8).Characters8()); 316 EXPECT_EQ(kChars8, StringView(kChars8).Characters8());
318 EXPECT_EQ(5u, StringView(g_k_chars8).length()); 317 EXPECT_EQ(5u, StringView(kChars8).length());
319 EXPECT_STREQ(g_k_chars, StringView(g_k_chars8).ToString().Utf8().Data()); 318 EXPECT_STREQ(kChars, StringView(kChars8).ToString().Utf8().Data());
320 319
321 // StringView(const char* chars); 320 // StringView(const char* chars);
322 ASSERT_TRUE(StringView(g_k_chars).Is8Bit()); 321 ASSERT_TRUE(StringView(kChars).Is8Bit());
323 EXPECT_FALSE(StringView(g_k_chars).IsNull()); 322 EXPECT_FALSE(StringView(kChars).IsNull());
324 EXPECT_EQ(g_k_chars8, StringView(g_k_chars).Characters8()); 323 EXPECT_EQ(kChars8, StringView(kChars).Characters8());
325 EXPECT_EQ(5u, StringView(g_k_chars).length()); 324 EXPECT_EQ(5u, StringView(kChars).length());
326 EXPECT_STREQ(g_k_chars, StringView(g_k_chars).ToString().Utf8().Data()); 325 EXPECT_STREQ(kChars, StringView(kChars).ToString().Utf8().Data());
327 326
328 // StringView(const LChar* chars, unsigned length); 327 // StringView(const LChar* chars, unsigned length);
329 ASSERT_TRUE(StringView(g_k_chars8, 2).Is8Bit()); 328 ASSERT_TRUE(StringView(kChars8, 2).Is8Bit());
330 EXPECT_FALSE(StringView(g_k_chars8, 2).IsNull()); 329 EXPECT_FALSE(StringView(kChars8, 2).IsNull());
331 EXPECT_EQ(2u, StringView(g_k_chars8, 2).length()); 330 EXPECT_EQ(2u, StringView(kChars8, 2).length());
332 EXPECT_EQ(StringView("12"), StringView(g_k_chars8, 2)); 331 EXPECT_EQ(StringView("12"), StringView(kChars8, 2));
333 EXPECT_STREQ("12", StringView(g_k_chars8, 2).ToString().Utf8().Data()); 332 EXPECT_STREQ("12", StringView(kChars8, 2).ToString().Utf8().Data());
334 333
335 // StringView(const char* chars, unsigned length); 334 // StringView(const char* chars, unsigned length);
336 ASSERT_TRUE(StringView(g_k_chars, 2).Is8Bit()); 335 ASSERT_TRUE(StringView(kChars, 2).Is8Bit());
337 EXPECT_FALSE(StringView(g_k_chars, 2).IsNull()); 336 EXPECT_FALSE(StringView(kChars, 2).IsNull());
338 EXPECT_EQ(2u, StringView(g_k_chars, 2).length()); 337 EXPECT_EQ(2u, StringView(kChars, 2).length());
339 EXPECT_EQ(StringView("12"), StringView(g_k_chars, 2)); 338 EXPECT_EQ(StringView("12"), StringView(kChars, 2));
340 EXPECT_STREQ("12", StringView(g_k_chars, 2).ToString().Utf8().Data()); 339 EXPECT_STREQ("12", StringView(kChars, 2).ToString().Utf8().Data());
341 } 340 }
342 341
343 TEST(StringViewTest, ConstructionLiteral16) { 342 TEST(StringViewTest, ConstructionLiteral16) {
344 // StringView(const UChar* chars); 343 // StringView(const UChar* chars);
345 ASSERT_FALSE(StringView(g_k_chars16).Is8Bit()); 344 ASSERT_FALSE(StringView(kChars16).Is8Bit());
346 EXPECT_FALSE(StringView(g_k_chars16).IsNull()); 345 EXPECT_FALSE(StringView(kChars16).IsNull());
347 EXPECT_EQ(g_k_chars16, StringView(g_k_chars16).Characters16()); 346 EXPECT_EQ(kChars16, StringView(kChars16).Characters16());
348 EXPECT_EQ(5u, StringView(g_k_chars16).length()); 347 EXPECT_EQ(5u, StringView(kChars16).length());
349 EXPECT_EQ(String(g_k_chars16), 348 EXPECT_EQ(String(kChars16), StringView(kChars16).ToString().Utf8().Data());
350 StringView(g_k_chars16).ToString().Utf8().Data());
351 349
352 // StringView(const UChar* chars, unsigned length); 350 // StringView(const UChar* chars, unsigned length);
353 ASSERT_FALSE(StringView(g_k_chars16, 2).Is8Bit()); 351 ASSERT_FALSE(StringView(kChars16, 2).Is8Bit());
354 EXPECT_FALSE(StringView(g_k_chars16, 2).IsNull()); 352 EXPECT_FALSE(StringView(kChars16, 2).IsNull());
355 EXPECT_EQ(g_k_chars16, StringView(g_k_chars16, 2).Characters16()); 353 EXPECT_EQ(kChars16, StringView(kChars16, 2).Characters16());
356 EXPECT_EQ(StringView("12"), StringView(g_k_chars16, 2)); 354 EXPECT_EQ(StringView("12"), StringView(kChars16, 2));
357 EXPECT_EQ(StringView(reinterpret_cast<const UChar*>(u"12")), 355 EXPECT_EQ(StringView(reinterpret_cast<const UChar*>(u"12")),
358 StringView(g_k_chars16, 2)); 356 StringView(kChars16, 2));
359 EXPECT_EQ(2u, StringView(g_k_chars16, 2).length()); 357 EXPECT_EQ(2u, StringView(kChars16, 2).length());
360 EXPECT_EQ(String("12"), StringView(g_k_chars16, 2).ToString()); 358 EXPECT_EQ(String("12"), StringView(kChars16, 2).ToString());
361 } 359 }
362 360
363 TEST(StringViewTest, IsEmpty) { 361 TEST(StringViewTest, IsEmpty) {
364 EXPECT_FALSE(StringView(g_k_chars).IsEmpty()); 362 EXPECT_FALSE(StringView(kChars).IsEmpty());
365 EXPECT_TRUE(StringView(g_k_chars, 0).IsEmpty()); 363 EXPECT_TRUE(StringView(kChars, 0).IsEmpty());
366 EXPECT_FALSE(StringView(String(g_k_chars)).IsEmpty()); 364 EXPECT_FALSE(StringView(String(kChars)).IsEmpty());
367 EXPECT_TRUE(StringView(String(g_k_chars), 5).IsEmpty()); 365 EXPECT_TRUE(StringView(String(kChars), 5).IsEmpty());
368 EXPECT_TRUE(StringView(String(g_k_chars), 4, 0).IsEmpty()); 366 EXPECT_TRUE(StringView(String(kChars), 4, 0).IsEmpty());
369 EXPECT_TRUE(StringView().IsEmpty()); 367 EXPECT_TRUE(StringView().IsEmpty());
370 EXPECT_TRUE(StringView("").IsEmpty()); 368 EXPECT_TRUE(StringView("").IsEmpty());
371 EXPECT_TRUE(StringView(reinterpret_cast<const UChar*>(u"")).IsEmpty()); 369 EXPECT_TRUE(StringView(reinterpret_cast<const UChar*>(u"")).IsEmpty());
372 EXPECT_FALSE(StringView(g_k_chars16).IsEmpty()); 370 EXPECT_FALSE(StringView(kChars16).IsEmpty());
373 } 371 }
374 372
375 TEST(StringViewTest, ToString) { 373 TEST(StringViewTest, ToString) {
376 EXPECT_EQ(g_empty_string.Impl(), StringView("").ToString().Impl()); 374 EXPECT_EQ(g_empty_string.Impl(), StringView("").ToString().Impl());
377 EXPECT_EQ(g_null_atom.Impl(), StringView().ToString().Impl()); 375 EXPECT_EQ(g_null_atom.Impl(), StringView().ToString().Impl());
378 // NOTE: All the construction tests also check toString(). 376 // NOTE: All the construction tests also check toString().
379 } 377 }
380 378
381 TEST(StringViewTest, ToAtomicString) { 379 TEST(StringViewTest, ToAtomicString) {
382 EXPECT_EQ(g_null_atom.Impl(), StringView().ToAtomicString()); 380 EXPECT_EQ(g_null_atom.Impl(), StringView().ToAtomicString());
383 EXPECT_EQ(g_empty_atom.Impl(), StringView("").ToAtomicString()); 381 EXPECT_EQ(g_empty_atom.Impl(), StringView("").ToAtomicString());
384 EXPECT_EQ(AtomicString("12"), StringView(g_k_chars8, 2).ToAtomicString()); 382 EXPECT_EQ(AtomicString("12"), StringView(kChars8, 2).ToAtomicString());
385 // AtomicString will convert to 8bit if possible when creating the string. 383 // AtomicString will convert to 8bit if possible when creating the string.
386 EXPECT_EQ(AtomicString("12").Impl(), 384 EXPECT_EQ(AtomicString("12").Impl(),
387 StringView(g_k_chars16, 2).ToAtomicString().Impl()); 385 StringView(kChars16, 2).ToAtomicString().Impl());
388 } 386 }
389 387
390 TEST(StringViewTest, ToStringImplSharing) { 388 TEST(StringViewTest, ToStringImplSharing) {
391 String string(g_k_chars); 389 String string(kChars);
392 EXPECT_EQ(string.Impl(), StringView(string).SharedImpl()); 390 EXPECT_EQ(string.Impl(), StringView(string).SharedImpl());
393 EXPECT_EQ(string.Impl(), StringView(string).ToString().Impl()); 391 EXPECT_EQ(string.Impl(), StringView(string).ToString().Impl());
394 EXPECT_EQ(string.Impl(), StringView(string).ToAtomicString().Impl()); 392 EXPECT_EQ(string.Impl(), StringView(string).ToAtomicString().Impl());
395 } 393 }
396 394
397 TEST(StringViewTest, NullString) { 395 TEST(StringViewTest, NullString) {
398 EXPECT_TRUE(StringView().IsNull()); 396 EXPECT_TRUE(StringView().IsNull());
399 EXPECT_TRUE(StringView(String()).IsNull()); 397 EXPECT_TRUE(StringView(String()).IsNull());
400 EXPECT_TRUE(StringView(AtomicString()).IsNull()); 398 EXPECT_TRUE(StringView(AtomicString()).IsNull());
401 EXPECT_TRUE(StringView(static_cast<const char*>(nullptr)).IsNull()); 399 EXPECT_TRUE(StringView(static_cast<const char*>(nullptr)).IsNull());
402 StringView view(g_k_chars); 400 StringView view(kChars);
403 EXPECT_FALSE(view.IsNull()); 401 EXPECT_FALSE(view.IsNull());
404 view.Clear(); 402 view.Clear();
405 EXPECT_TRUE(view.IsNull()); 403 EXPECT_TRUE(view.IsNull());
406 EXPECT_EQ(String(), StringView()); 404 EXPECT_EQ(String(), StringView());
407 EXPECT_TRUE(StringView().ToString().IsNull()); 405 EXPECT_TRUE(StringView().ToString().IsNull());
408 EXPECT_FALSE(EqualStringView(StringView(), "")); 406 EXPECT_FALSE(EqualStringView(StringView(), ""));
409 EXPECT_TRUE(EqualStringView(StringView(), StringView())); 407 EXPECT_TRUE(EqualStringView(StringView(), StringView()));
410 EXPECT_FALSE(EqualStringView(StringView(), "abc")); 408 EXPECT_FALSE(EqualStringView(StringView(), "abc"));
411 EXPECT_FALSE(EqualStringView("abc", StringView())); 409 EXPECT_FALSE(EqualStringView("abc", StringView()));
412 EXPECT_FALSE(EqualIgnoringASCIICase(StringView(), "")); 410 EXPECT_FALSE(EqualIgnoringASCIICase(StringView(), ""));
413 EXPECT_TRUE(EqualIgnoringASCIICase(StringView(), StringView())); 411 EXPECT_TRUE(EqualIgnoringASCIICase(StringView(), StringView()));
414 EXPECT_FALSE(EqualIgnoringASCIICase(StringView(), "abc")); 412 EXPECT_FALSE(EqualIgnoringASCIICase(StringView(), "abc"));
415 EXPECT_FALSE(EqualIgnoringASCIICase("abc", StringView())); 413 EXPECT_FALSE(EqualIgnoringASCIICase("abc", StringView()));
416 } 414 }
417 415
418 TEST(StringViewTest, IndexAccess) { 416 TEST(StringViewTest, IndexAccess) {
419 StringView view8(g_k_chars8); 417 StringView view8(kChars8);
420 EXPECT_EQ('1', view8[0]); 418 EXPECT_EQ('1', view8[0]);
421 EXPECT_EQ('3', view8[2]); 419 EXPECT_EQ('3', view8[2]);
422 StringView view16(g_k_chars16); 420 StringView view16(kChars16);
423 EXPECT_EQ('1', view16[0]); 421 EXPECT_EQ('1', view16[0]);
424 EXPECT_EQ('3', view16[2]); 422 EXPECT_EQ('3', view16[2]);
425 } 423 }
426 424
427 TEST(StringViewTest, EqualIgnoringASCIICase) { 425 TEST(StringViewTest, EqualIgnoringASCIICase) {
428 static const char* link8 = "link"; 426 static const char* link8 = "link";
429 static const char* link_caps8 = "LINK"; 427 static const char* link_caps8 = "LINK";
430 static const char* non_ascii8 = "a\xE1"; 428 static const char* non_ascii8 = "a\xE1";
431 static const char* non_ascii_caps8 = "A\xE1"; 429 static const char* non_ascii_caps8 = "A\xE1";
432 static const char* non_ascii_invalid8 = "a\xC1"; 430 static const char* non_ascii_invalid8 = "a\xC1";
(...skipping 24 matching lines...) Expand all
457 EXPECT_FALSE(EqualIgnoringASCIICase(StringView("link"), "INKL")); 455 EXPECT_FALSE(EqualIgnoringASCIICase(StringView("link"), "INKL"));
458 EXPECT_FALSE( 456 EXPECT_FALSE(
459 EqualIgnoringASCIICase(StringView("link"), "link different length")); 457 EqualIgnoringASCIICase(StringView("link"), "link different length"));
460 EXPECT_FALSE( 458 EXPECT_FALSE(
461 EqualIgnoringASCIICase(StringView("link different length"), "link")); 459 EqualIgnoringASCIICase(StringView("link different length"), "link"));
462 460
463 EXPECT_TRUE(EqualIgnoringASCIICase(StringView(""), "")); 461 EXPECT_TRUE(EqualIgnoringASCIICase(StringView(""), ""));
464 } 462 }
465 463
466 } // namespace WTF 464 } // namespace WTF
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698