Kaynağa Gözat

Add DiskStorageTests

방성원 6 yıl önce
ebeveyn
işleme
7ba11a7cd3
1 değiştirilmiş dosya ile 22 ekleme ve 0 silme
  1. 22 0
      Tests/KingfisherTests/DiskStorageTests.swift

+ 22 - 0
Tests/KingfisherTests/DiskStorageTests.swift

@@ -131,6 +131,28 @@ class DiskStorageTests: XCTestCase {
         waitForExpectations(timeout: 2, handler: nil)
     }
 
+    func testNotExtendExpirationByAccessing() {
+
+        let exp = expectation(description: #function)
+        let now = Date()
+        try! storage.store(value: "1", forKey: "1", expiration: .seconds(2))
+        XCTAssertTrue(storage.isCached(forKey: "1"))
+        XCTAssertFalse(storage.isCached(forKey: "1", referenceDate: now.addingTimeInterval(3)))
+
+        delay(1) {
+            let v = try! self.storage.value(forKey: "1", extendingExpiration: .none)
+            XCTAssertNotNil(v)
+            // The meta extending happens on its own queue.
+            self.storage.metaChangingQueue.async {
+                XCTAssertFalse(self.storage.isCached(forKey: "1", referenceDate: now.addingTimeInterval(3)))
+                XCTAssertFalse(self.storage.isCached(forKey: "1", referenceDate: now.addingTimeInterval(10)))
+                exp.fulfill()
+            }
+        }
+
+        waitForExpectations(timeout: 2, handler: nil)
+    }
+
     func testRemoveExpired() {
 
         let expiration = StorageExpiration.seconds(1)