OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "SkRandom.h" | 8 #include "SkRandom.h" |
9 #include "SkReader32.h" | 9 #include "SkReader32.h" |
10 #include "SkWriter32.h" | 10 #include "SkWriter32.h" |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 *ptr++ = rand.nextU(); | 156 *ptr++ = rand.nextU(); |
157 } | 157 } |
158 | 158 |
159 // Write the random data to the writer at different lengths for | 159 // Write the random data to the writer at different lengths for |
160 // different alignments. | 160 // different alignments. |
161 for (size_t len = 0; len < dataSize; len++) { | 161 for (size_t len = 0; len < dataSize; len++) { |
162 writer->writePad(originalData.get(), len); | 162 writer->writePad(originalData.get(), len); |
163 } | 163 } |
164 } | 164 } |
165 | 165 |
166 uint32_t totalBytes = writer->bytesWritten(); | 166 size_t totalBytes = writer->bytesWritten(); |
167 | 167 |
168 SkAutoMalloc readStorage(totalBytes); | 168 SkAutoMalloc readStorage(totalBytes); |
169 writer->flatten(readStorage.get()); | 169 writer->flatten(readStorage.get()); |
170 | 170 |
171 SkReader32 reader; | 171 SkReader32 reader; |
172 reader.setMemory(readStorage.get(), totalBytes); | 172 reader.setMemory(readStorage.get(), totalBytes); |
173 | 173 |
174 for (size_t len = 0; len < dataSize; len++) { | 174 for (size_t len = 0; len < dataSize; len++) { |
175 const char* readPtr = static_cast<const char*>(reader.skip(len)); | 175 const char* readPtr = static_cast<const char*>(reader.skip(len)); |
176 // Ensure that the data read is the same as what was written. | 176 // Ensure that the data read is the same as what was written. |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
305 SkAutoDataUnref snapshot(writer.snapshotAsData()); | 305 SkAutoDataUnref snapshot(writer.snapshotAsData()); |
306 // check the snapshot still points to the same data as the writer | 306 // check the snapshot still points to the same data as the writer |
307 REPORTER_ASSERT(reporter, writer.contiguousArray() == beforeData); | 307 REPORTER_ASSERT(reporter, writer.contiguousArray() == beforeData); |
308 REPORTER_ASSERT(reporter, snapshot->data() == beforeData); | 308 REPORTER_ASSERT(reporter, snapshot->data() == beforeData); |
309 REPORTER_ASSERT(reporter, snapshot->size() == writer.bytesWritten()); | 309 REPORTER_ASSERT(reporter, snapshot->size() == writer.bytesWritten()); |
310 // write more data that would fit in the buffer | 310 // write more data that would fit in the buffer |
311 writer.write(array, sizeof(array)); | 311 writer.write(array, sizeof(array)); |
312 // test it triggered COW anyway | 312 // test it triggered COW anyway |
313 REPORTER_ASSERT(reporter, writer.contiguousArray() != beforeData); | 313 REPORTER_ASSERT(reporter, writer.contiguousArray() != beforeData); |
314 } | 314 } |
OLD | NEW |