Skip to content

Commit 62fb12d

Browse files
authored
fix(image): turn off image prefetching (#529)
* fix(image): turn off image prefetching * fix(image): removing image pre catching
1 parent f8a33d0 commit 62fb12d

File tree

2 files changed

+130
-129
lines changed

2 files changed

+130
-129
lines changed

PocketKit/Sources/PocketKit/ImageManager.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ class ImageManager {
5555
imagesController.delegate = self
5656
try? imagesController.performFetch()
5757

58-
handle(images: imagesController.images)
58+
// handle(images: imagesController.images)
5959
}
6060
}
6161

@@ -140,6 +140,6 @@ extension ImageManager: ImagesControllerDelegate {
140140
func controllerDidChangeContent(_ controller: ImagesController) {
141141
// Called once all context changes are saved (inserts, deletes, etc)
142142
// so we can bulk handle the latest Images
143-
handle(images: controller.images)
143+
// handle(images: controller.images)
144144
}
145145
}

PocketKit/Tests/PocketKitTests/ImageManagerTests.swift

+128-127
Original file line numberDiff line numberDiff line change
@@ -3,130 +3,131 @@ import XCTest
33
@testable import PocketKit
44
@testable import Sync
55

6-
class ImageManagerTests: XCTestCase {
7-
var imagesController: MockImagesController!
8-
var imageCache: MockImageCache!
9-
var imageRetriever: MockImageRetriever!
10-
var source: MockSource!
11-
var space: Space!
12-
13-
override func setUp() {
14-
continueAfterFailure = false
15-
16-
imagesController = MockImagesController()
17-
imageCache = MockImageCache()
18-
imageRetriever = MockImageRetriever(imageCache: imageCache)
19-
source = MockSource()
20-
space = Space.testSpace()
21-
22-
imagesController.stubPerformFetch { }
23-
imageCache.stubRemoveImage { _, _, _, _, _, _ in }
24-
imageRetriever.stubRetrieveImage { _, _, _, _, _ in return nil }
25-
source.stubDeleteImages { _ in }
26-
}
27-
28-
override func tearDownWithError() throws {
29-
try space.clear()
30-
}
31-
32-
private func subject(
33-
imagesController: ImagesController? = nil,
34-
imageRetriever: ImageRetriever? = nil,
35-
source: Sync.Source? = nil
36-
) -> ImageManager {
37-
ImageManager(
38-
imagesController: imagesController ?? self.imagesController,
39-
imageRetriever: imageRetriever ?? self.imageRetriever,
40-
source: source ?? self.source
41-
)
42-
}
43-
44-
func test_onStart_withNoOrphans_andNoCachedImages_downloadsImages() {
45-
imagesController.images = [
46-
try! space.createImage(
47-
source: URL(string: "https://getpocket.com"),
48-
item: try! space.createItem()
49-
)
50-
]
51-
52-
imageCache.stubIsCached { _, _ in
53-
return false
54-
}
55-
56-
let subject = subject()
57-
58-
subject.start()
59-
60-
let resource = imageRetriever.retrieveImageCall(at: 0)?.resource
61-
let expectedURL = imageCacheURL(for: imagesController.images!.first!.source)
62-
63-
// Force unwrapping also tests for nil; two-in-one
64-
XCTAssertEqual(resource!.downloadURL, expectedURL)
65-
}
66-
67-
func test_onStart_withNoOrphans_andCachedImages_doesNothing() {
68-
imagesController.images = [
69-
try! space.createImage(
70-
source: URL(string: "https://getpocket.com"),
71-
item: try! space.createItem()
72-
)
73-
]
74-
75-
imageCache.stubIsCached { _, _ in
76-
return true
77-
}
78-
79-
let subject = subject()
80-
81-
subject.start()
82-
83-
XCTAssertNil(imageRetriever.retrieveImageCall(at: 0))
84-
}
85-
86-
func test_onStart_withOrphans_andNoCachedImages_deletesImagesFromSource() {
87-
imagesController.images = [
88-
try! space.createImage(
89-
source: URL(string: "https://getpocket.com/"),
90-
item: try! space.createItem()
91-
),
92-
try! space.createImage(
93-
source: URL(string: "https://getpocket.com/orphan")
94-
)
95-
]
96-
97-
imageCache.stubIsCached { _, _ in
98-
return false
99-
}
100-
101-
let subject = subject()
102-
103-
subject.start()
104-
105-
XCTAssertEqual(
106-
source.deleteImagesCall(at: 0)!.images[0],
107-
imagesController.images![1]
108-
)
109-
}
110-
111-
func test_onStart_withOrphans_andCachedImages_removesOrphansFromCache() {
112-
imagesController.images = [
113-
try! space.createImage(
114-
source: URL(string: "https://getpocket.com/orphan")
115-
)
116-
]
117-
118-
imageCache.stubIsCached { _, _ in
119-
return true
120-
}
121-
122-
let subject = subject()
123-
124-
subject.start()
125-
126-
let expectedKey = imageCacheURL(for: imagesController.images![0].source!)!.absoluteString
127-
XCTAssertEqual(
128-
imageCache.removeImageCall(at: 0)!.key,
129-
expectedKey
130-
)
131-
}
132-
}
6+
// Commenting out for now
7+
//class ImageManagerTests: XCTestCase {
8+
// var imagesController: MockImagesController!
9+
// var imageCache: MockImageCache!
10+
// var imageRetriever: MockImageRetriever!
11+
// var source: MockSource!
12+
// var space: Space!
13+
//
14+
// override func setUp() {
15+
// continueAfterFailure = false
16+
//
17+
// imagesController = MockImagesController()
18+
// imageCache = MockImageCache()
19+
// imageRetriever = MockImageRetriever(imageCache: imageCache)
20+
// source = MockSource()
21+
// space = Space.testSpace()
22+
//
23+
// imagesController.stubPerformFetch { }
24+
// imageCache.stubRemoveImage { _, _, _, _, _, _ in }
25+
// imageRetriever.stubRetrieveImage { _, _, _, _, _ in return nil }
26+
// source.stubDeleteImages { _ in }
27+
// }
28+
//
29+
// override func tearDownWithError() throws {
30+
// try space.clear()
31+
// }
32+
//
33+
// private func subject(
34+
// imagesController: ImagesController? = nil,
35+
// imageRetriever: ImageRetriever? = nil,
36+
// source: Sync.Source? = nil
37+
// ) -> ImageManager {
38+
// ImageManager(
39+
// imagesController: imagesController ?? self.imagesController,
40+
// imageRetriever: imageRetriever ?? self.imageRetriever,
41+
// source: source ?? self.source
42+
// )
43+
// }
44+
//
45+
// func test_onStart_withNoOrphans_andNoCachedImages_downloadsImages() {
46+
// imagesController.images = [
47+
// try! space.createImage(
48+
// source: URL(string: "https://getpocket.com"),
49+
// item: try! space.createItem()
50+
// )
51+
// ]
52+
//
53+
// imageCache.stubIsCached { _, _ in
54+
// return false
55+
// }
56+
//
57+
// let subject = subject()
58+
//
59+
// subject.start()
60+
//
61+
// let resource = imageRetriever.retrieveImageCall(at: 0)?.resource
62+
// let expectedURL = imageCacheURL(for: imagesController.images!.first!.source)
63+
//
64+
// // Force unwrapping also tests for nil; two-in-one
65+
// XCTAssertEqual(resource!.downloadURL, expectedURL)
66+
// }
67+
//
68+
// func test_onStart_withNoOrphans_andCachedImages_doesNothing() {
69+
// imagesController.images = [
70+
// try! space.createImage(
71+
// source: URL(string: "https://getpocket.com"),
72+
// item: try! space.createItem()
73+
// )
74+
// ]
75+
//
76+
// imageCache.stubIsCached { _, _ in
77+
// return true
78+
// }
79+
//
80+
// let subject = subject()
81+
//
82+
// subject.start()
83+
//
84+
// XCTAssertNil(imageRetriever.retrieveImageCall(at: 0))
85+
// }
86+
//
87+
// func test_onStart_withOrphans_andNoCachedImages_deletesImagesFromSource() {
88+
// imagesController.images = [
89+
// try! space.createImage(
90+
// source: URL(string: "https://getpocket.com/"),
91+
// item: try! space.createItem()
92+
// ),
93+
// try! space.createImage(
94+
// source: URL(string: "https://getpocket.com/orphan")
95+
// )
96+
// ]
97+
//
98+
// imageCache.stubIsCached { _, _ in
99+
// return false
100+
// }
101+
//
102+
// let subject = subject()
103+
//
104+
// subject.start()
105+
//
106+
// XCTAssertEqual(
107+
// source.deleteImagesCall(at: 0)!.images[0],
108+
// imagesController.images![1]
109+
// )
110+
// }
111+
//
112+
// func test_onStart_withOrphans_andCachedImages_removesOrphansFromCache() {
113+
// imagesController.images = [
114+
// try! space.createImage(
115+
// source: URL(string: "https://getpocket.com/orphan")
116+
// )
117+
// ]
118+
//
119+
// imageCache.stubIsCached { _, _ in
120+
// return true
121+
// }
122+
//
123+
// let subject = subject()
124+
//
125+
// subject.start()
126+
//
127+
// let expectedKey = imageCacheURL(for: imagesController.images![0].source!)!.absoluteString
128+
// XCTAssertEqual(
129+
// imageCache.removeImageCall(at: 0)!.key,
130+
// expectedKey
131+
// )
132+
// }
133+
//}

0 commit comments

Comments
 (0)