OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 | 8 |
9 | 9 |
10 | 10 |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 void* p1 = &writer; | 79 void* p1 = &writer; |
80 | 80 |
81 // try writing ptrs where at least one of them may be at a non-multiple of | 81 // try writing ptrs where at least one of them may be at a non-multiple of |
82 // 8 boundary, to confirm this works on 64bit machines. | 82 // 8 boundary, to confirm this works on 64bit machines. |
83 | 83 |
84 writer.writePtr(p0); | 84 writer.writePtr(p0); |
85 writer.write8(0x33); | 85 writer.write8(0x33); |
86 writer.writePtr(p1); | 86 writer.writePtr(p1); |
87 writer.write8(0x66); | 87 writer.write8(0x66); |
88 | 88 |
89 size_t size = writer.size(); | 89 size_t size = writer.bytesWritten(); |
90 REPORTER_ASSERT(reporter, 2 * sizeof(void*) + 2 * sizeof(int32_t)); | 90 REPORTER_ASSERT(reporter, 2 * sizeof(void*) + 2 * sizeof(int32_t)); |
91 | 91 |
92 char buffer[32]; | 92 char buffer[32]; |
93 SkASSERT(sizeof(buffer) >= size); | 93 SkASSERT(sizeof(buffer) >= size); |
94 writer.flatten(buffer); | 94 writer.flatten(buffer); |
95 | 95 |
96 SkReader32 reader(buffer, size); | 96 SkReader32 reader(buffer, size); |
97 REPORTER_ASSERT(reporter, reader.readPtr() == p0); | 97 REPORTER_ASSERT(reporter, reader.readPtr() == p0); |
98 REPORTER_ASSERT(reporter, reader.readInt() == 0x33); | 98 REPORTER_ASSERT(reporter, reader.readInt() == 0x33); |
99 REPORTER_ASSERT(reporter, reader.readPtr() == p1); | 99 REPORTER_ASSERT(reporter, reader.readPtr() == p1); |
100 REPORTER_ASSERT(reporter, reader.readInt() == 0x66); | 100 REPORTER_ASSERT(reporter, reader.readInt() == 0x66); |
101 } | 101 } |
102 | 102 |
103 static void test1(skiatest::Reporter* reporter, SkWriter32* writer) { | 103 static void test1(skiatest::Reporter* reporter, SkWriter32* writer) { |
104 const uint32_t data[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; | 104 const uint32_t data[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; |
105 for (size_t i = 0; i < SK_ARRAY_COUNT(data); ++i) { | 105 for (size_t i = 0; i < SK_ARRAY_COUNT(data); ++i) { |
106 REPORTER_ASSERT(reporter, i*4 == writer->size()); | 106 REPORTER_ASSERT(reporter, i*4 == writer->bytesWritten()); |
107 writer->write32(data[i]); | 107 writer->write32(data[i]); |
108 uint32_t* addr = writer->peek32(i * 4); | 108 uint32_t* addr = writer->peek32(i * 4); |
109 REPORTER_ASSERT(reporter, data[i] == *addr); | 109 REPORTER_ASSERT(reporter, data[i] == *addr); |
110 } | 110 } |
111 | 111 |
112 char buffer[sizeof(data)]; | 112 char buffer[sizeof(data)]; |
113 REPORTER_ASSERT(reporter, sizeof(buffer) == writer->size()); | 113 REPORTER_ASSERT(reporter, sizeof(buffer) == writer->bytesWritten()); |
114 writer->flatten(buffer); | 114 writer->flatten(buffer); |
115 REPORTER_ASSERT(reporter, !memcmp(data, buffer, sizeof(buffer))); | 115 REPORTER_ASSERT(reporter, !memcmp(data, buffer, sizeof(buffer))); |
116 } | 116 } |
117 | 117 |
118 static void test2(skiatest::Reporter* reporter, SkWriter32* writer) { | 118 static void test2(skiatest::Reporter* reporter, SkWriter32* writer) { |
119 static const char gStr[] = "abcdefghimjklmnopqrstuvwxyz"; | 119 static const char gStr[] = "abcdefghimjklmnopqrstuvwxyz"; |
120 size_t i; | 120 size_t i; |
121 | 121 |
122 size_t len = 0; | 122 size_t len = 0; |
123 for (i = 0; i <= 26; ++i) { | 123 for (i = 0; i <= 26; ++i) { |
124 len += SkWriter32::WriteStringSize(gStr, i); | 124 len += SkWriter32::WriteStringSize(gStr, i); |
125 writer->writeString(gStr, i); | 125 writer->writeString(gStr, i); |
126 } | 126 } |
127 REPORTER_ASSERT(reporter, writer->size() == len); | 127 REPORTER_ASSERT(reporter, writer->bytesWritten() == len); |
128 | 128 |
129 SkAutoMalloc storage(len); | 129 SkAutoMalloc storage(len); |
130 writer->flatten(storage.get()); | 130 writer->flatten(storage.get()); |
131 | 131 |
132 SkReader32 reader; | 132 SkReader32 reader; |
133 reader.setMemory(storage.get(), len); | 133 reader.setMemory(storage.get(), len); |
134 for (i = 0; i <= 26; ++i) { | 134 for (i = 0; i <= 26; ++i) { |
135 REPORTER_ASSERT(reporter, !reader.eof()); | 135 REPORTER_ASSERT(reporter, !reader.eof()); |
136 const char* str = reader.readString(&len); | 136 const char* str = reader.readString(&len); |
137 REPORTER_ASSERT(reporter, i == len); | 137 REPORTER_ASSERT(reporter, i == len); |
(...skipping 22 matching lines...) Expand all Loading... |
160 *ptr++ = rand.nextU(); | 160 *ptr++ = rand.nextU(); |
161 } | 161 } |
162 | 162 |
163 // Write the random data to the writer at different lengths for | 163 // Write the random data to the writer at different lengths for |
164 // different alignments. | 164 // different alignments. |
165 for (size_t len = 0; len < dataSize; len++) { | 165 for (size_t len = 0; len < dataSize; len++) { |
166 writer->writePad(originalData.get(), len); | 166 writer->writePad(originalData.get(), len); |
167 } | 167 } |
168 } | 168 } |
169 | 169 |
170 uint32_t totalBytes = writer->size(); | 170 uint32_t totalBytes = writer->bytesWritten(); |
171 | 171 |
172 SkAutoMalloc readStorage(totalBytes); | 172 SkAutoMalloc readStorage(totalBytes); |
173 writer->flatten(readStorage.get()); | 173 writer->flatten(readStorage.get()); |
174 | 174 |
175 SkReader32 reader; | 175 SkReader32 reader; |
176 reader.setMemory(readStorage.get(), totalBytes); | 176 reader.setMemory(readStorage.get(), totalBytes); |
177 | 177 |
178 for (size_t len = 0; len < dataSize; len++) { | 178 for (size_t len = 0; len < dataSize; len++) { |
179 const char* readPtr = static_cast<const char*>(reader.skip(len)); | 179 const char* readPtr = static_cast<const char*>(reader.skip(len)); |
180 // Ensure that the data read is the same as what was written. | 180 // Ensure that the data read is the same as what was written. |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 } | 248 } |
249 | 249 |
250 test_reserve(reporter); | 250 test_reserve(reporter); |
251 test_string_null(reporter); | 251 test_string_null(reporter); |
252 test_ptr(reporter); | 252 test_ptr(reporter); |
253 test_rewind(reporter); | 253 test_rewind(reporter); |
254 } | 254 } |
255 | 255 |
256 #include "TestClassDef.h" | 256 #include "TestClassDef.h" |
257 DEFINE_TESTCLASS("Writer32", Writer32Class, Tests) | 257 DEFINE_TESTCLASS("Writer32", Writer32Class, Tests) |
OLD | NEW |