| 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 |