| 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 "SkPackBits.h" | 8 #include "SkPackBits.h" | 
| 9 #include "Test.h" | 9 #include "Test.h" | 
| 10 | 10 | 
| (...skipping 25 matching lines...) Expand all  Loading... | 
| 36         size_t dstSize = SkPackBits::Pack16(gTests[i].fSrc, | 36         size_t dstSize = SkPackBits::Pack16(gTests[i].fSrc, | 
| 37                                             gTests[i].fCount, dst); | 37                                             gTests[i].fCount, dst); | 
| 38         uint16_t src[100]; | 38         uint16_t src[100]; | 
| 39         int srcCount = SkPackBits::Unpack16(dst, dstSize, src); | 39         int srcCount = SkPackBits::Unpack16(dst, dstSize, src); | 
| 40         bool match = gTests[i].fCount == srcCount && memcmp(gTests[i].fSrc, src, | 40         bool match = gTests[i].fCount == srcCount && memcmp(gTests[i].fSrc, src, | 
| 41                                     gTests[i].fCount * sizeof(uint16_t)) == 0; | 41                                     gTests[i].fCount * sizeof(uint16_t)) == 0; | 
| 42         REPORTER_ASSERT(reporter, match); | 42         REPORTER_ASSERT(reporter, match); | 
| 43     } | 43     } | 
| 44 | 44 | 
| 45     for (int n = 1000; n; n--) { | 45     for (int n = 1000; n; n--) { | 
| 46         size_t size = 50; | 46         int size = 50; | 
| 47         uint16_t src[100], src2[100]; | 47         uint16_t src[100], src2[100]; | 
| 48         uint8_t dst[200]; | 48         uint8_t dst[200]; | 
| 49         rand_fill(src, size); | 49         rand_fill(src, size); | 
| 50 | 50 | 
| 51         size_t dstSize = SkPackBits::Pack16(src, size, dst); | 51         size_t dstSize = SkPackBits::Pack16(src, size, dst); | 
| 52         size_t maxSize = SkPackBits::ComputeMaxSize16(size); | 52         size_t maxSize = SkPackBits::ComputeMaxSize16(size); | 
| 53         REPORTER_ASSERT(reporter, maxSize >= dstSize); | 53         REPORTER_ASSERT(reporter, maxSize >= dstSize); | 
| 54 | 54 | 
| 55         size_t srcCount = SkPackBits::Unpack16(dst, dstSize, src2); | 55         int srcCount = SkPackBits::Unpack16(dst, dstSize, src2); | 
| 56         REPORTER_ASSERT(reporter, size == srcCount); | 56         REPORTER_ASSERT(reporter, size == srcCount); | 
| 57         bool match = memcmp(src, src2, size * sizeof(uint16_t)) == 0; | 57         bool match = memcmp(src, src2, size * sizeof(uint16_t)) == 0; | 
| 58         REPORTER_ASSERT(reporter, match); | 58         REPORTER_ASSERT(reporter, match); | 
| 59     } | 59     } | 
| 60 } | 60 } | 
| 61 | 61 | 
| 62 static const uint8_t gTest80[] = { 0, 0, 1, 1 }; | 62 static const uint8_t gTest80[] = { 0, 0, 1, 1 }; | 
| 63 static const uint8_t gTest81[] = { 1, 2, 3, 4, 5, 6 }; | 63 static const uint8_t gTest81[] = { 1, 2, 3, 4, 5, 6 }; | 
| 64 static const uint8_t gTest82[] = { 0, 0, 0, 1, 2, 3, 3, 3 }; | 64 static const uint8_t gTest82[] = { 0, 0, 0, 1, 2, 3, 3, 3 }; | 
| 65 static const uint8_t gTest83[] = { 0, 0, 0, 0, 0, 0, 1, 2, 3, 3, 3, 0, 0, 1 }; | 65 static const uint8_t gTest83[] = { 0, 0, 0, 0, 0, 0, 1, 2, 3, 3, 3, 0, 0, 1 }; | 
| (...skipping 23 matching lines...) Expand all  Loading... | 
| 89                                            gTests[i].fCount, dst); | 89                                            gTests[i].fCount, dst); | 
| 90         REPORTER_ASSERT(reporter, dstSize <= maxSize); | 90         REPORTER_ASSERT(reporter, dstSize <= maxSize); | 
| 91         uint8_t src[100]; | 91         uint8_t src[100]; | 
| 92         int srcCount = SkPackBits::Unpack8(dst, dstSize, src); | 92         int srcCount = SkPackBits::Unpack8(dst, dstSize, src); | 
| 93         bool match = gTests[i].fCount == srcCount && | 93         bool match = gTests[i].fCount == srcCount && | 
| 94                     memcmp(gTests[i].fSrc, src, | 94                     memcmp(gTests[i].fSrc, src, | 
| 95                            gTests[i].fCount * sizeof(uint8_t)) == 0; | 95                            gTests[i].fCount * sizeof(uint8_t)) == 0; | 
| 96         REPORTER_ASSERT(reporter, match); | 96         REPORTER_ASSERT(reporter, match); | 
| 97     } | 97     } | 
| 98 | 98 | 
| 99     for (size_t size = 1; size <= 512; size += 1) { | 99     for (uint32_t size = 1; size <= 512; size += 1) { | 
| 100         for (int n = 100; n; n--) { | 100         for (int n = 100; n; n--) { | 
| 101             uint8_t src[600], src2[600]; | 101             uint8_t src[600], src2[600]; | 
| 102             uint8_t dst[600]; | 102             uint8_t dst[600]; | 
| 103             rand_fill(src, size); | 103             rand_fill(src, size); | 
| 104 | 104 | 
| 105             size_t dstSize = SkPackBits::Pack8(src, size, dst); | 105             size_t dstSize = SkPackBits::Pack8(src, size, dst); | 
| 106             size_t maxSize = SkPackBits::ComputeMaxSize8(size); | 106             size_t maxSize = SkPackBits::ComputeMaxSize8(size); | 
| 107             REPORTER_ASSERT(reporter, maxSize >= dstSize); | 107             REPORTER_ASSERT(reporter, maxSize >= dstSize); | 
| 108 | 108 | 
| 109             size_t srcCount = SkPackBits::Unpack8(dst, dstSize, src2); | 109             size_t srcCount = SkPackBits::Unpack8(dst, dstSize, src2); | 
| 110             REPORTER_ASSERT(reporter, size == srcCount); | 110             REPORTER_ASSERT(reporter, size == srcCount); | 
| 111             bool match = memcmp(src, src2, size * sizeof(uint8_t)) == 0; | 111             bool match = memcmp(src, src2, size * sizeof(uint8_t)) == 0; | 
| 112             REPORTER_ASSERT(reporter, match); | 112             REPORTER_ASSERT(reporter, match); | 
| 113 | 113 | 
| 114             for (int j = 0; j < 100; j++) { | 114             for (int j = 0; j < 100; j++) { | 
| 115                 size_t skip = gRand.nextU() % size; | 115                 uint32_t skip = gRand.nextU() % size; | 
| 116                 size_t write = gRand.nextU() % size; | 116                 uint32_t write = gRand.nextU() % size; | 
| 117                 if (skip + write > size) { | 117                 if (skip + write > size) { | 
| 118                     write = size - skip; | 118                     write = size - skip; | 
| 119                 } | 119                 } | 
| 120                 SkPackBits::Unpack8(src, skip, write, dst); | 120                 SkPackBits::Unpack8(src, skip, write, dst); | 
| 121                 bool match = memcmp(src, src2 + skip, write) == 0; | 121                 bool match = memcmp(src, src2 + skip, write) == 0; | 
| 122                 REPORTER_ASSERT(reporter, match); | 122                 REPORTER_ASSERT(reporter, match); | 
| 123             } | 123             } | 
| 124         } | 124         } | 
| 125     } | 125     } | 
| 126 } | 126 } | 
| 127 | 127 | 
| 128 DEF_TEST(PackBits, reporter) { | 128 DEF_TEST(PackBits, reporter) { | 
| 129     test_pack8(reporter); | 129     test_pack8(reporter); | 
| 130     test_pack16(reporter); | 130     test_pack16(reporter); | 
| 131 } | 131 } | 
| OLD | NEW | 
|---|