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

Side by Side Diff: third_party/WebKit/Source/wtf/ArrayBufferBuilderTest.cpp

Issue 1611343002: wtf reformat test Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: pydent Created 4 years, 11 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 19 matching lines...) Expand all
30 30
31 #include "wtf/ArrayBufferBuilder.h" 31 #include "wtf/ArrayBufferBuilder.h"
32 32
33 #include "testing/gtest/include/gtest/gtest.h" 33 #include "testing/gtest/include/gtest/gtest.h"
34 #include "wtf/Assertions.h" 34 #include "wtf/Assertions.h"
35 #include <limits.h> 35 #include <limits.h>
36 #include <string.h> 36 #include <string.h>
37 37
38 namespace WTF { 38 namespace WTF {
39 39
40 TEST(ArrayBufferBuilderTest, Constructor) 40 TEST(ArrayBufferBuilderTest, Constructor) {
41 { 41 ArrayBufferBuilder zeroBuilder(0);
42 ArrayBufferBuilder zeroBuilder(0); 42 EXPECT_EQ(0u, zeroBuilder.byteLength());
43 EXPECT_EQ(0u, zeroBuilder.byteLength()); 43 EXPECT_EQ(0u, zeroBuilder.capacity());
44 EXPECT_EQ(0u, zeroBuilder.capacity());
45 44
46 ArrayBufferBuilder smallBuilder(1024); 45 ArrayBufferBuilder smallBuilder(1024);
47 EXPECT_EQ(0u, zeroBuilder.byteLength()); 46 EXPECT_EQ(0u, zeroBuilder.byteLength());
48 EXPECT_EQ(1024u, smallBuilder.capacity()); 47 EXPECT_EQ(1024u, smallBuilder.capacity());
49 48
50 ArrayBufferBuilder bigBuilder(2048); 49 ArrayBufferBuilder bigBuilder(2048);
51 EXPECT_EQ(0u, zeroBuilder.byteLength()); 50 EXPECT_EQ(0u, zeroBuilder.byteLength());
52 EXPECT_EQ(2048u, bigBuilder.capacity()); 51 EXPECT_EQ(2048u, bigBuilder.capacity());
53 } 52 }
54 53
55 TEST(ArrayBufferBuilderTest, Append) 54 TEST(ArrayBufferBuilderTest, Append) {
56 { 55 const char data[] = "HelloWorld";
57 const char data[] = "HelloWorld"; 56 size_t dataSize = sizeof(data) - 1;
58 size_t dataSize = sizeof(data) - 1;
59 57
60 ArrayBufferBuilder builder(2 * dataSize); 58 ArrayBufferBuilder builder(2 * dataSize);
61 59
62 EXPECT_EQ(dataSize, builder.append(data, dataSize)); 60 EXPECT_EQ(dataSize, builder.append(data, dataSize));
63 EXPECT_EQ(dataSize, builder.byteLength()); 61 EXPECT_EQ(dataSize, builder.byteLength());
64 EXPECT_EQ(dataSize * 2, builder.capacity()); 62 EXPECT_EQ(dataSize * 2, builder.capacity());
65 63
66 EXPECT_EQ(dataSize, builder.append(data, dataSize)); 64 EXPECT_EQ(dataSize, builder.append(data, dataSize));
67 EXPECT_EQ(dataSize * 2, builder.byteLength()); 65 EXPECT_EQ(dataSize * 2, builder.byteLength());
68 EXPECT_EQ(dataSize * 2, builder.capacity()); 66 EXPECT_EQ(dataSize * 2, builder.capacity());
69 67
70 EXPECT_EQ(dataSize, builder.append(data, dataSize)); 68 EXPECT_EQ(dataSize, builder.append(data, dataSize));
71 EXPECT_EQ(dataSize * 3, builder.byteLength()); 69 EXPECT_EQ(dataSize * 3, builder.byteLength());
72 EXPECT_GE(builder.capacity(), dataSize * 3); 70 EXPECT_GE(builder.capacity(), dataSize * 3);
73 } 71 }
74 72
75 TEST(ArrayBufferBuilderTest, AppendRepeatedly) 73 TEST(ArrayBufferBuilderTest, AppendRepeatedly) {
76 { 74 const char data[] = "HelloWorld";
77 const char data[] = "HelloWorld"; 75 size_t dataSize = sizeof(data) - 1;
78 size_t dataSize = sizeof(data) - 1;
79 76
80 ArrayBufferBuilder builder(37); // Some number coprime with dataSize. 77 ArrayBufferBuilder builder(37); // Some number coprime with dataSize.
81 78
82 for (size_t i = 1; i < 1000U; ++i) { 79 for (size_t i = 1; i < 1000U; ++i) {
83 EXPECT_EQ(dataSize, builder.append(data, dataSize)); 80 EXPECT_EQ(dataSize, builder.append(data, dataSize));
84 EXPECT_EQ(dataSize * i, builder.byteLength()); 81 EXPECT_EQ(dataSize * i, builder.byteLength());
85 EXPECT_GE(builder.capacity(), dataSize * i); 82 EXPECT_GE(builder.capacity(), dataSize * i);
86 } 83 }
87 } 84 }
88 85
89 TEST(ArrayBufferBuilderTest, DefaultConstructorAndAppendRepeatedly) 86 TEST(ArrayBufferBuilderTest, DefaultConstructorAndAppendRepeatedly) {
90 { 87 const char data[] = "HelloWorld";
91 const char data[] = "HelloWorld"; 88 size_t dataSize = sizeof(data) - 1;
92 size_t dataSize = sizeof(data) - 1;
93 89
94 ArrayBufferBuilder builder; 90 ArrayBufferBuilder builder;
95 91
96 for (size_t i = 1; i < 4000U; ++i) { 92 for (size_t i = 1; i < 4000U; ++i) {
97 EXPECT_EQ(dataSize, builder.append(data, dataSize)); 93 EXPECT_EQ(dataSize, builder.append(data, dataSize));
98 EXPECT_EQ(dataSize * i, builder.byteLength()); 94 EXPECT_EQ(dataSize * i, builder.byteLength());
99 EXPECT_GE(builder.capacity(), dataSize * i); 95 EXPECT_GE(builder.capacity(), dataSize * i);
100 } 96 }
101 } 97 }
102 98
103 TEST(ArrayBufferBuilderTest, AppendFixedCapacity) 99 TEST(ArrayBufferBuilderTest, AppendFixedCapacity) {
104 { 100 const char data[] = "HelloWorld";
105 const char data[] = "HelloWorld"; 101 size_t dataSize = sizeof(data) - 1;
106 size_t dataSize = sizeof(data) - 1;
107 102
108 ArrayBufferBuilder builder(15); 103 ArrayBufferBuilder builder(15);
109 builder.setVariableCapacity(false); 104 builder.setVariableCapacity(false);
110 105
111 EXPECT_EQ(dataSize, builder.append(data, dataSize)); 106 EXPECT_EQ(dataSize, builder.append(data, dataSize));
112 EXPECT_EQ(dataSize, builder.byteLength()); 107 EXPECT_EQ(dataSize, builder.byteLength());
113 EXPECT_EQ(15u, builder.capacity()); 108 EXPECT_EQ(15u, builder.capacity());
114 109
115 EXPECT_EQ(5u, builder.append(data, dataSize)); 110 EXPECT_EQ(5u, builder.append(data, dataSize));
116 EXPECT_EQ(15u, builder.byteLength()); 111 EXPECT_EQ(15u, builder.byteLength());
117 EXPECT_EQ(15u, builder.capacity()); 112 EXPECT_EQ(15u, builder.capacity());
118 113
119 EXPECT_EQ(0u, builder.append(data, dataSize)); 114 EXPECT_EQ(0u, builder.append(data, dataSize));
120 EXPECT_EQ(15u, builder.byteLength()); 115 EXPECT_EQ(15u, builder.byteLength());
121 EXPECT_EQ(15u, builder.capacity()); 116 EXPECT_EQ(15u, builder.capacity());
122 } 117 }
123 118
124 TEST(ArrayBufferBuilderTest, ToArrayBuffer) 119 TEST(ArrayBufferBuilderTest, ToArrayBuffer) {
125 { 120 const char data1[] = "HelloWorld";
126 const char data1[] = "HelloWorld"; 121 size_t data1Size = sizeof(data1) - 1;
127 size_t data1Size = sizeof(data1) - 1;
128 122
129 const char data2[] = "GoodbyeWorld"; 123 const char data2[] = "GoodbyeWorld";
130 size_t data2Size = sizeof(data2) - 1; 124 size_t data2Size = sizeof(data2) - 1;
131 125
132 ArrayBufferBuilder builder(1024); 126 ArrayBufferBuilder builder(1024);
133 builder.append(data1, data1Size); 127 builder.append(data1, data1Size);
134 builder.append(data2, data2Size); 128 builder.append(data2, data2Size);
135 129
136 const char expected[] = "HelloWorldGoodbyeWorld"; 130 const char expected[] = "HelloWorldGoodbyeWorld";
137 size_t expectedSize = sizeof(expected) - 1; 131 size_t expectedSize = sizeof(expected) - 1;
138 132
139 RefPtr<ArrayBuffer> result = builder.toArrayBuffer(); 133 RefPtr<ArrayBuffer> result = builder.toArrayBuffer();
140 ASSERT_EQ(data1Size + data2Size, result->byteLength()); 134 ASSERT_EQ(data1Size + data2Size, result->byteLength());
141 ASSERT_EQ(expectedSize, result->byteLength()); 135 ASSERT_EQ(expectedSize, result->byteLength());
142 EXPECT_EQ(0, memcmp(expected, result->data(), expectedSize)); 136 EXPECT_EQ(0, memcmp(expected, result->data(), expectedSize));
143 } 137 }
144 138
145 TEST(ArrayBufferBuilderTest, ToArrayBufferSameAddressIfExactCapacity) 139 TEST(ArrayBufferBuilderTest, ToArrayBufferSameAddressIfExactCapacity) {
146 { 140 const char data[] = "HelloWorld";
147 const char data[] = "HelloWorld"; 141 size_t dataSize = sizeof(data) - 1;
148 size_t dataSize = sizeof(data) - 1;
149 142
150 ArrayBufferBuilder builder(dataSize); 143 ArrayBufferBuilder builder(dataSize);
151 builder.append(data, dataSize); 144 builder.append(data, dataSize);
152 145
153 RefPtr<ArrayBuffer> result1 = builder.toArrayBuffer(); 146 RefPtr<ArrayBuffer> result1 = builder.toArrayBuffer();
154 RefPtr<ArrayBuffer> result2 = builder.toArrayBuffer(); 147 RefPtr<ArrayBuffer> result2 = builder.toArrayBuffer();
155 EXPECT_EQ(result1.get(), result2.get()); 148 EXPECT_EQ(result1.get(), result2.get());
156 } 149 }
157 150
158 TEST(ArrayBufferBuilderTest, ToString) 151 TEST(ArrayBufferBuilderTest, ToString) {
159 { 152 const char data1[] = "HelloWorld";
160 const char data1[] = "HelloWorld"; 153 size_t data1Size = sizeof(data1) - 1;
161 size_t data1Size = sizeof(data1) - 1;
162 154
163 const char data2[] = "GoodbyeWorld"; 155 const char data2[] = "GoodbyeWorld";
164 size_t data2Size = sizeof(data2) - 1; 156 size_t data2Size = sizeof(data2) - 1;
165 157
166 ArrayBufferBuilder builder(1024); 158 ArrayBufferBuilder builder(1024);
167 builder.append(data1, data1Size); 159 builder.append(data1, data1Size);
168 builder.append(data2, data2Size); 160 builder.append(data2, data2Size);
169 161
170 const char expected[] = "HelloWorldGoodbyeWorld"; 162 const char expected[] = "HelloWorldGoodbyeWorld";
171 size_t expectedSize = sizeof(expected) - 1; 163 size_t expectedSize = sizeof(expected) - 1;
172 164
173 String result = builder.toString(); 165 String result = builder.toString();
174 EXPECT_EQ(expectedSize, result.length()); 166 EXPECT_EQ(expectedSize, result.length());
175 for (unsigned i = 0; i < result.length(); ++i) 167 for (unsigned i = 0; i < result.length(); ++i)
176 EXPECT_EQ(expected[i], result[i]); 168 EXPECT_EQ(expected[i], result[i]);
177 } 169 }
178 170
179 TEST(ArrayBufferBuilderTest, ShrinkToFitNoAppend) 171 TEST(ArrayBufferBuilderTest, ShrinkToFitNoAppend) {
180 { 172 ArrayBufferBuilder builder(1024);
181 ArrayBufferBuilder builder(1024); 173 EXPECT_EQ(1024u, builder.capacity());
182 EXPECT_EQ(1024u, builder.capacity()); 174 builder.shrinkToFit();
183 builder.shrinkToFit(); 175 EXPECT_EQ(0u, builder.byteLength());
184 EXPECT_EQ(0u, builder.byteLength()); 176 EXPECT_EQ(0u, builder.capacity());
185 EXPECT_EQ(0u, builder.capacity());
186 } 177 }
187 178
188 TEST(ArrayBufferBuilderTest, ShrinkToFit) 179 TEST(ArrayBufferBuilderTest, ShrinkToFit) {
189 { 180 const char data[] = "HelloWorld";
190 const char data[] = "HelloWorld"; 181 size_t dataSize = sizeof(data) - 1;
191 size_t dataSize = sizeof(data) - 1;
192 182
193 ArrayBufferBuilder builder(32); 183 ArrayBufferBuilder builder(32);
194 184
195 EXPECT_EQ(dataSize, builder.append(data, dataSize)); 185 EXPECT_EQ(dataSize, builder.append(data, dataSize));
196 EXPECT_EQ(dataSize, builder.byteLength()); 186 EXPECT_EQ(dataSize, builder.byteLength());
197 EXPECT_EQ(32u, builder.capacity()); 187 EXPECT_EQ(32u, builder.capacity());
198 188
199 builder.shrinkToFit(); 189 builder.shrinkToFit();
200 EXPECT_EQ(dataSize, builder.byteLength()); 190 EXPECT_EQ(dataSize, builder.byteLength());
201 EXPECT_EQ(dataSize, builder.capacity()); 191 EXPECT_EQ(dataSize, builder.capacity());
202 } 192 }
203 193
204 TEST(ArrayBufferBuilderTest, ShrinkToFitFullyUsed) 194 TEST(ArrayBufferBuilderTest, ShrinkToFitFullyUsed) {
205 { 195 const char data[] = "HelloWorld";
206 const char data[] = "HelloWorld"; 196 size_t dataSize = sizeof(data) - 1;
207 size_t dataSize = sizeof(data) - 1;
208 197
209 ArrayBufferBuilder builder(dataSize); 198 ArrayBufferBuilder builder(dataSize);
210 const void* internalAddress = builder.data(); 199 const void* internalAddress = builder.data();
211 200
212 EXPECT_EQ(dataSize, builder.append(data, dataSize)); 201 EXPECT_EQ(dataSize, builder.append(data, dataSize));
213 EXPECT_EQ(dataSize, builder.byteLength()); 202 EXPECT_EQ(dataSize, builder.byteLength());
214 EXPECT_EQ(dataSize, builder.capacity()); 203 EXPECT_EQ(dataSize, builder.capacity());
215 204
216 builder.shrinkToFit(); 205 builder.shrinkToFit();
217 // Reallocation should not happen. 206 // Reallocation should not happen.
218 EXPECT_EQ(internalAddress, builder.data()); 207 EXPECT_EQ(internalAddress, builder.data());
219 EXPECT_EQ(dataSize, builder.byteLength()); 208 EXPECT_EQ(dataSize, builder.byteLength());
220 EXPECT_EQ(dataSize, builder.capacity()); 209 EXPECT_EQ(dataSize, builder.capacity());
221 } 210 }
222 211
223 TEST(ArrayBufferBuilderTest, ShrinkToFitAfterGrowth) 212 TEST(ArrayBufferBuilderTest, ShrinkToFitAfterGrowth) {
224 { 213 const char data[] = "HelloWorld";
225 const char data[] = "HelloWorld"; 214 size_t dataSize = sizeof(data) - 1;
226 size_t dataSize = sizeof(data) - 1;
227 215
228 ArrayBufferBuilder builder(5); 216 ArrayBufferBuilder builder(5);
229 217
230 EXPECT_EQ(dataSize, builder.append(data, dataSize)); 218 EXPECT_EQ(dataSize, builder.append(data, dataSize));
231 EXPECT_GE(builder.capacity(), dataSize); 219 EXPECT_GE(builder.capacity(), dataSize);
232 builder.shrinkToFit(); 220 builder.shrinkToFit();
233 EXPECT_EQ(dataSize, builder.byteLength()); 221 EXPECT_EQ(dataSize, builder.byteLength());
234 EXPECT_EQ(dataSize, builder.capacity()); 222 EXPECT_EQ(dataSize, builder.capacity());
235 } 223 }
236 224
237 } // namespace WTF 225 } // namespace WTF
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/wtf/ArrayBufferBuilder.cpp ('k') | third_party/WebKit/Source/wtf/ArrayBufferContents.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698