OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 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 | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. 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 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 const SkISize size = SkISize::Make(1, 1); | 76 const SkISize size = SkISize::Make(1, 1); |
77 std::unique_ptr<ImageDecoder> decoder = MockImageDecoder::create(this); | 77 std::unique_ptr<ImageDecoder> decoder = MockImageDecoder::create(this); |
78 decoder->setSize(1, 1); | 78 decoder->setSize(1, 1); |
79 const ImageDecoder* refDecoder = decoder.get(); | 79 const ImageDecoder* refDecoder = decoder.get(); |
80 ImageDecodingStore::instance().insertDecoder(m_generator.get(), | 80 ImageDecodingStore::instance().insertDecoder(m_generator.get(), |
81 std::move(decoder)); | 81 std::move(decoder)); |
82 EXPECT_EQ(1, ImageDecodingStore::instance().cacheEntries()); | 82 EXPECT_EQ(1, ImageDecodingStore::instance().cacheEntries()); |
83 EXPECT_EQ(4u, ImageDecodingStore::instance().memoryUsageInBytes()); | 83 EXPECT_EQ(4u, ImageDecodingStore::instance().memoryUsageInBytes()); |
84 | 84 |
85 ImageDecoder* testDecoder; | 85 ImageDecoder* testDecoder; |
86 EXPECT_TRUE(ImageDecodingStore::instance().lockDecoder(m_generator.get(), | 86 EXPECT_TRUE(ImageDecodingStore::instance().lockDecoder( |
87 size, &testDecoder)); | 87 m_generator.get(), size, ImageDecoder::AlphaPremultiplied, &testDecoder)); |
88 EXPECT_TRUE(testDecoder); | 88 EXPECT_TRUE(testDecoder); |
89 EXPECT_EQ(refDecoder, testDecoder); | 89 EXPECT_EQ(refDecoder, testDecoder); |
90 ImageDecodingStore::instance().unlockDecoder(m_generator.get(), testDecoder); | 90 ImageDecodingStore::instance().unlockDecoder(m_generator.get(), testDecoder); |
91 EXPECT_EQ(1, ImageDecodingStore::instance().cacheEntries()); | 91 EXPECT_EQ(1, ImageDecodingStore::instance().cacheEntries()); |
92 } | 92 } |
93 | 93 |
94 TEST_F(ImageDecodingStoreTest, evictDecoder) { | 94 TEST_F(ImageDecodingStoreTest, evictDecoder) { |
95 std::unique_ptr<ImageDecoder> decoder1 = MockImageDecoder::create(this); | 95 std::unique_ptr<ImageDecoder> decoder1 = MockImageDecoder::create(this); |
96 std::unique_ptr<ImageDecoder> decoder2 = MockImageDecoder::create(this); | 96 std::unique_ptr<ImageDecoder> decoder2 = MockImageDecoder::create(this); |
97 std::unique_ptr<ImageDecoder> decoder3 = MockImageDecoder::create(this); | 97 std::unique_ptr<ImageDecoder> decoder3 = MockImageDecoder::create(this); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 ImageDecodingStore::instance().insertDecoder(m_generator.get(), | 130 ImageDecodingStore::instance().insertDecoder(m_generator.get(), |
131 std::move(decoder1)); | 131 std::move(decoder1)); |
132 ImageDecodingStore::instance().insertDecoder(m_generator.get(), | 132 ImageDecodingStore::instance().insertDecoder(m_generator.get(), |
133 std::move(decoder2)); | 133 std::move(decoder2)); |
134 ImageDecodingStore::instance().insertDecoder(m_generator.get(), | 134 ImageDecodingStore::instance().insertDecoder(m_generator.get(), |
135 std::move(decoder3)); | 135 std::move(decoder3)); |
136 EXPECT_EQ(3, ImageDecodingStore::instance().cacheEntries()); | 136 EXPECT_EQ(3, ImageDecodingStore::instance().cacheEntries()); |
137 | 137 |
138 ImageDecoder* testDecoder; | 138 ImageDecoder* testDecoder; |
139 EXPECT_TRUE(ImageDecodingStore::instance().lockDecoder( | 139 EXPECT_TRUE(ImageDecodingStore::instance().lockDecoder( |
140 m_generator.get(), SkISize::Make(2, 2), &testDecoder)); | 140 m_generator.get(), SkISize::Make(2, 2), ImageDecoder::AlphaPremultiplied, |
| 141 &testDecoder)); |
141 | 142 |
142 evictOneCache(); | 143 evictOneCache(); |
143 evictOneCache(); | 144 evictOneCache(); |
144 evictOneCache(); | 145 evictOneCache(); |
145 EXPECT_EQ(1, ImageDecodingStore::instance().cacheEntries()); | 146 EXPECT_EQ(1, ImageDecodingStore::instance().cacheEntries()); |
146 EXPECT_EQ(16u, ImageDecodingStore::instance().memoryUsageInBytes()); | 147 EXPECT_EQ(16u, ImageDecodingStore::instance().memoryUsageInBytes()); |
147 | 148 |
148 ImageDecodingStore::instance().unlockDecoder(m_generator.get(), testDecoder); | 149 ImageDecodingStore::instance().unlockDecoder(m_generator.get(), testDecoder); |
149 evictOneCache(); | 150 evictOneCache(); |
150 EXPECT_FALSE(ImageDecodingStore::instance().cacheEntries()); | 151 EXPECT_FALSE(ImageDecodingStore::instance().cacheEntries()); |
151 EXPECT_FALSE(ImageDecodingStore::instance().memoryUsageInBytes()); | 152 EXPECT_FALSE(ImageDecodingStore::instance().memoryUsageInBytes()); |
152 } | 153 } |
153 | 154 |
154 TEST_F(ImageDecodingStoreTest, removeDecoder) { | 155 TEST_F(ImageDecodingStoreTest, removeDecoder) { |
155 const SkISize size = SkISize::Make(1, 1); | 156 const SkISize size = SkISize::Make(1, 1); |
156 std::unique_ptr<ImageDecoder> decoder = MockImageDecoder::create(this); | 157 std::unique_ptr<ImageDecoder> decoder = MockImageDecoder::create(this); |
157 decoder->setSize(1, 1); | 158 decoder->setSize(1, 1); |
158 const ImageDecoder* refDecoder = decoder.get(); | 159 const ImageDecoder* refDecoder = decoder.get(); |
159 ImageDecodingStore::instance().insertDecoder(m_generator.get(), | 160 ImageDecodingStore::instance().insertDecoder(m_generator.get(), |
160 std::move(decoder)); | 161 std::move(decoder)); |
161 EXPECT_EQ(1, ImageDecodingStore::instance().cacheEntries()); | 162 EXPECT_EQ(1, ImageDecodingStore::instance().cacheEntries()); |
162 EXPECT_EQ(4u, ImageDecodingStore::instance().memoryUsageInBytes()); | 163 EXPECT_EQ(4u, ImageDecodingStore::instance().memoryUsageInBytes()); |
163 | 164 |
164 ImageDecoder* testDecoder; | 165 ImageDecoder* testDecoder; |
165 EXPECT_TRUE(ImageDecodingStore::instance().lockDecoder(m_generator.get(), | 166 EXPECT_TRUE(ImageDecodingStore::instance().lockDecoder( |
166 size, &testDecoder)); | 167 m_generator.get(), size, ImageDecoder::AlphaPremultiplied, &testDecoder)); |
167 EXPECT_TRUE(testDecoder); | 168 EXPECT_TRUE(testDecoder); |
168 EXPECT_EQ(refDecoder, testDecoder); | 169 EXPECT_EQ(refDecoder, testDecoder); |
169 ImageDecodingStore::instance().removeDecoder(m_generator.get(), testDecoder); | 170 ImageDecodingStore::instance().removeDecoder(m_generator.get(), testDecoder); |
170 EXPECT_FALSE(ImageDecodingStore::instance().cacheEntries()); | 171 EXPECT_FALSE(ImageDecodingStore::instance().cacheEntries()); |
171 | 172 |
172 EXPECT_FALSE(ImageDecodingStore::instance().lockDecoder(m_generator.get(), | 173 EXPECT_FALSE(ImageDecodingStore::instance().lockDecoder( |
173 size, &testDecoder)); | 174 m_generator.get(), size, ImageDecoder::AlphaPremultiplied, &testDecoder)); |
174 } | 175 } |
175 | 176 |
176 } // namespace blink | 177 } // namespace blink |
OLD | NEW |