@@ -36,20 +36,21 @@ - (void)test03ImageCacheCanBeInstantiated {
36
36
- (void )test04ClearDiskCache {
37
37
XCTestExpectation *expectation = [self expectationWithDescription: @" Clear disk cache" ];
38
38
39
- [[SDImageCache sharedImageCache ] storeImage: [self testJPEGImage ] forKey: kTestImageKeyJPEG completion: nil ];
40
- [[SDImageCache sharedImageCache ] clearDiskOnCompletion: ^{
41
- expect ([[SDImageCache sharedImageCache ] imageFromMemoryCacheForKey: kTestImageKeyJPEG ]).to .equal ([self testJPEGImage ]);
42
- [[SDImageCache sharedImageCache ] diskImageExistsWithKey: kTestImageKeyJPEG completion: ^(BOOL isInCache) {
43
- if (!isInCache) {
44
- [[SDImageCache sharedImageCache ] calculateSizeWithCompletionBlock: ^(NSUInteger fileCount, NSUInteger totalSize) {
45
- expect (fileCount).to .equal (0 );
46
- [[SDImageCache sharedImageCache ] removeImageForKey: kTestImageKeyJPEG withCompletion: ^{
47
- [expectation fulfill ];
39
+ [[SDImageCache sharedImageCache ] storeImage: [self testJPEGImage ] forKey: kTestImageKeyJPEG completion: ^{
40
+ [[SDImageCache sharedImageCache ] clearDiskOnCompletion: ^{
41
+ expect ([[SDImageCache sharedImageCache ] imageFromMemoryCacheForKey: kTestImageKeyJPEG ]).to .equal ([self testJPEGImage ]);
42
+ [[SDImageCache sharedImageCache ] diskImageExistsWithKey: kTestImageKeyJPEG completion: ^(BOOL isInCache) {
43
+ if (!isInCache) {
44
+ [[SDImageCache sharedImageCache ] calculateSizeWithCompletionBlock: ^(NSUInteger fileCount, NSUInteger totalSize) {
45
+ expect (fileCount).to .equal (0 );
46
+ [[SDImageCache sharedImageCache ] removeImageForKey: kTestImageKeyJPEG withCompletion: ^{
47
+ [expectation fulfill ];
48
+ }];
48
49
}];
49
- }];
50
- } else {
51
- XCTFail ( @" Image should not be in cache " );
52
- }
50
+ } else {
51
+ XCTFail ( @" Image should not be in cache " );
52
+ }
53
+ }];
53
54
}];
54
55
}];
55
56
[self waitForExpectationsWithCommonTimeout ];
@@ -79,17 +80,22 @@ - (void)test06InsertionOfImage {
79
80
XCTestExpectation *expectation = [self expectationWithDescription: @" storeImage forKey" ];
80
81
81
82
UIImage *image = [self testJPEGImage ];
82
- [[SDImageCache sharedImageCache ] storeImage: image forKey: kTestImageKeyJPEG completion: nil ];
83
- expect ([[SDImageCache sharedImageCache ] imageFromMemoryCacheForKey: kTestImageKeyJPEG ]).to .equal (image);
84
- [[SDImageCache sharedImageCache ] diskImageExistsWithKey: kTestImageKeyJPEG completion: ^(BOOL isInCache) {
85
- if (isInCache) {
86
- [[SDImageCache sharedImageCache ] removeImageForKey: kTestImageKeyJPEG withCompletion: ^{
87
- [expectation fulfill ];
88
- }];
89
- } else {
90
- XCTFail (@" Image should be in cache" );
91
- }
83
+ [[SDImageCache sharedImageCache ] removeImageFromDiskForKey: kTestImageKeyJPEG ];
84
+ [[SDImageCache sharedImageCache ] removeImageFromMemoryForKey: kTestImageKeyJPEG ];
85
+ [[SDImageCache sharedImageCache ] storeImage: image forKey: kTestImageKeyJPEG completion: ^{
86
+ // Disk cache store in async
87
+ [[SDImageCache sharedImageCache ] diskImageExistsWithKey: kTestImageKeyJPEG completion: ^(BOOL isInCache) {
88
+ if (isInCache) {
89
+ [[SDImageCache sharedImageCache ] removeImageForKey: kTestImageKeyJPEG withCompletion: ^{
90
+ [expectation fulfill ];
91
+ }];
92
+ } else {
93
+ XCTFail (@" Image should be in cache" );
94
+ }
95
+ }];
92
96
}];
97
+ // Memory cache store in sync
98
+ expect ([[SDImageCache sharedImageCache ] imageFromMemoryCacheForKey: kTestImageKeyJPEG ]).to .equal (image);
93
99
[self waitForExpectationsWithCommonTimeout ];
94
100
}
95
101
@@ -98,34 +104,41 @@ - (void)test07InsertionOfImageForcingDiskStorage {
98
104
XCTestExpectation *expectation = [self expectationWithDescription: @" storeImage forKey toDisk=YES" ];
99
105
100
106
UIImage *image = [self testJPEGImage ];
101
- [[SDImageCache sharedImageCache ] storeImage: image forKey: kTestImageKeyJPEG toDisk: YES completion: nil ];
102
- expect ([[SDImageCache sharedImageCache ] imageFromMemoryCacheForKey: kTestImageKeyJPEG ]).to .equal (image);
103
- [[SDImageCache sharedImageCache ] diskImageExistsWithKey: kTestImageKeyJPEG completion: ^(BOOL isInCache) {
104
- if (isInCache) {
105
- [[SDImageCache sharedImageCache ] removeImageForKey: kTestImageKeyJPEG withCompletion: ^{
106
- [expectation fulfill ];
107
- }];
108
- } else {
109
- XCTFail (@" Image should be in cache" );
110
- }
107
+ [[SDImageCache sharedImageCache ] storeImage: image forKey: kTestImageKeyJPEG toDisk: YES completion: ^{
108
+ // Disk cache store in async
109
+ [[SDImageCache sharedImageCache ] diskImageExistsWithKey: kTestImageKeyJPEG completion: ^(BOOL isInCache) {
110
+ if (isInCache) {
111
+ [[SDImageCache sharedImageCache ] removeImageForKey: kTestImageKeyJPEG withCompletion: ^{
112
+ [expectation fulfill ];
113
+ }];
114
+ } else {
115
+ XCTFail (@" Image should be in cache" );
116
+ }
117
+ }];
111
118
}];
119
+ // Memory cache store in sync
120
+ expect ([[SDImageCache sharedImageCache ] imageFromMemoryCacheForKey: kTestImageKeyJPEG ]).to .equal (image);
112
121
[self waitForExpectationsWithCommonTimeout ];
113
122
}
114
123
115
124
// Testing storeImage:forKey:toDisk:NO
116
125
- (void )test08InsertionOfImageOnlyInMemory {
117
126
XCTestExpectation *expectation = [self expectationWithDescription: @" storeImage forKey toDisk=NO" ];
118
127
UIImage *image = [self testJPEGImage ];
119
- [[SDImageCache sharedImageCache ] storeImage: image forKey: kTestImageKeyJPEG toDisk: NO completion: nil ];
120
-
121
- expect ([[SDImageCache sharedImageCache ] imageFromMemoryCacheForKey: kTestImageKeyJPEG ]).to .equal ([self testJPEGImage ]);
122
- [[SDImageCache sharedImageCache ] diskImageExistsWithKey: kTestImageKeyJPEG completion: ^(BOOL isInCache) {
123
- if (!isInCache) {
124
- [expectation fulfill ];
125
- } else {
126
- XCTFail (@" Image should not be in cache" );
127
- }
128
+ [[SDImageCache sharedImageCache ] removeImageFromDiskForKey: kTestImageKeyJPEG ];
129
+ [[SDImageCache sharedImageCache ] removeImageFromMemoryForKey: kTestImageKeyJPEG ];
130
+ [[SDImageCache sharedImageCache ] storeImage: image forKey: kTestImageKeyJPEG toDisk: NO completion: ^{
131
+ // Disk cache store in async
132
+ [[SDImageCache sharedImageCache ] diskImageExistsWithKey: kTestImageKeyJPEG completion: ^(BOOL isInCache) {
133
+ if (!isInCache) {
134
+ [expectation fulfill ];
135
+ } else {
136
+ XCTFail (@" Image should not be in cache" );
137
+ }
138
+ }];
128
139
}];
140
+ // Memory cache store in sync
141
+ expect ([[SDImageCache sharedImageCache ] imageFromMemoryCacheForKey: kTestImageKeyJPEG ]).to .equal ([self testJPEGImage ]);
129
142
[[SDImageCache sharedImageCache ] storeImageToMemory: image forKey: kTestImageKeyJPEG ];
130
143
[[SDImageCache sharedImageCache ] clearMemory ];
131
144
expect ([[SDImageCache sharedImageCache ] imageFromMemoryCacheForKey: kTestImageKeyJPEG ]).to .beNil ();
@@ -135,46 +148,50 @@ - (void)test08InsertionOfImageOnlyInMemory {
135
148
- (void )test09RetrieveImageThroughNSOperation {
136
149
XCTestExpectation *expectation = [self expectationWithDescription: @" queryCacheOperationForKey" ];
137
150
UIImage *imageForTesting = [self testJPEGImage ];
138
- [[SDImageCache sharedImageCache ] storeImage: imageForTesting forKey: kTestImageKeyJPEG completion: nil ];
139
- id <SDWebImageOperation> operation = [[SDImageCache sharedImageCache ] queryCacheOperationForKey: kTestImageKeyJPEG done: ^(UIImage *image, NSData *data, SDImageCacheType cacheType) {
140
- expect (image).to .equal (imageForTesting);
141
- [[SDImageCache sharedImageCache ] removeImageForKey: kTestImageKeyJPEG withCompletion: ^{
142
- [expectation fulfill ];
151
+ [[SDImageCache sharedImageCache ] storeImage: imageForTesting forKey: kTestImageKeyJPEG completion: ^{
152
+ id <SDWebImageOperation> operation = [[SDImageCache sharedImageCache ] queryCacheOperationForKey: kTestImageKeyJPEG done: ^(UIImage *image, NSData *data, SDImageCacheType cacheType) {
153
+ expect (image).to .equal (imageForTesting);
154
+ [[SDImageCache sharedImageCache ] removeImageForKey: kTestImageKeyJPEG withCompletion: ^{
155
+ [expectation fulfill ];
156
+ }];
143
157
}];
158
+ expect (operation).toNot .beNil ;
144
159
}];
145
- expect (operation).toNot .beNil ;
146
160
[self waitForExpectationsWithCommonTimeout ];
147
161
}
148
162
149
163
- (void )test10RemoveImageForKeyWithCompletion {
150
164
XCTestExpectation *expectation = [self expectationWithDescription: @" removeImageForKey" ];
151
- [[SDImageCache sharedImageCache ] storeImage: [self testJPEGImage ] forKey: kTestImageKeyJPEG completion: nil ];
152
- [[SDImageCache sharedImageCache ] removeImageForKey: kTestImageKeyJPEG withCompletion: ^{
153
- expect ([[SDImageCache sharedImageCache ] imageFromDiskCacheForKey: kTestImageKeyJPEG ]).to .beNil ;
154
- expect ([[SDImageCache sharedImageCache ] imageFromMemoryCacheForKey: kTestImageKeyJPEG ]).to .beNil ;
155
- [expectation fulfill ];
165
+ [[SDImageCache sharedImageCache ] storeImage: [self testJPEGImage ] forKey: kTestImageKeyJPEG completion: ^{
166
+ [[SDImageCache sharedImageCache ] removeImageForKey: kTestImageKeyJPEG withCompletion: ^{
167
+ expect ([[SDImageCache sharedImageCache ] imageFromDiskCacheForKey: kTestImageKeyJPEG ]).to .beNil ;
168
+ expect ([[SDImageCache sharedImageCache ] imageFromMemoryCacheForKey: kTestImageKeyJPEG ]).to .beNil ;
169
+ [expectation fulfill ];
170
+ }];
156
171
}];
157
172
[self waitForExpectationsWithCommonTimeout ];
158
173
}
159
174
160
175
- (void )test11RemoveImageforKeyNotFromDiskWithCompletion {
161
176
XCTestExpectation *expectation = [self expectationWithDescription: @" removeImageForKey fromDisk:NO" ];
162
- [[SDImageCache sharedImageCache ] storeImage: [self testJPEGImage ] forKey: kTestImageKeyJPEG completion: nil ];
163
- [[SDImageCache sharedImageCache ] removeImageForKey: kTestImageKeyJPEG fromDisk: NO withCompletion: ^{
164
- expect ([[SDImageCache sharedImageCache ] imageFromDiskCacheForKey: kTestImageKeyJPEG ]).toNot .beNil ;
165
- expect ([[SDImageCache sharedImageCache ] imageFromMemoryCacheForKey: kTestImageKeyJPEG ]).to .beNil ;
166
- [expectation fulfill ];
177
+ [[SDImageCache sharedImageCache ] storeImage: [self testJPEGImage ] forKey: kTestImageKeyJPEG completion: ^{
178
+ [[SDImageCache sharedImageCache ] removeImageForKey: kTestImageKeyJPEG fromDisk: NO withCompletion: ^{
179
+ expect ([[SDImageCache sharedImageCache ] imageFromDiskCacheForKey: kTestImageKeyJPEG ]).toNot .beNil ;
180
+ expect ([[SDImageCache sharedImageCache ] imageFromMemoryCacheForKey: kTestImageKeyJPEG ]).to .beNil ;
181
+ [expectation fulfill ];
182
+ }];
167
183
}];
168
184
[self waitForExpectationsWithCommonTimeout ];
169
185
}
170
186
171
187
- (void )test12RemoveImageforKeyFromDiskWithCompletion {
172
188
XCTestExpectation *expectation = [self expectationWithDescription: @" removeImageForKey fromDisk:YES" ];
173
- [[SDImageCache sharedImageCache ] storeImage: [self testJPEGImage ] forKey: kTestImageKeyJPEG completion: nil ];
174
- [[SDImageCache sharedImageCache ] removeImageForKey: kTestImageKeyJPEG fromDisk: YES withCompletion: ^{
175
- expect ([[SDImageCache sharedImageCache ] imageFromDiskCacheForKey: kTestImageKeyJPEG ]).to .beNil ;
176
- expect ([[SDImageCache sharedImageCache ] imageFromMemoryCacheForKey: kTestImageKeyJPEG ]).to .beNil ;
177
- [expectation fulfill ];
189
+ [[SDImageCache sharedImageCache ] storeImage: [self testJPEGImage ] forKey: kTestImageKeyJPEG completion: ^{
190
+ [[SDImageCache sharedImageCache ] removeImageForKey: kTestImageKeyJPEG fromDisk: YES withCompletion: ^{
191
+ expect ([[SDImageCache sharedImageCache ] imageFromDiskCacheForKey: kTestImageKeyJPEG ]).to .beNil ;
192
+ expect ([[SDImageCache sharedImageCache ] imageFromMemoryCacheForKey: kTestImageKeyJPEG ]).to .beNil ;
193
+ [expectation fulfill ];
194
+ }];
178
195
}];
179
196
[self waitForExpectationsWithCommonTimeout ];
180
197
}
0 commit comments