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

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

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