Skip to content

Commit

Permalink
Add test for downsampling from image
Browse files Browse the repository at this point in the history
  • Loading branch information
onevcat committed Mar 2, 2019
1 parent 77e70a3 commit d96a5b6
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 0 deletions.
8 changes: 8 additions & 0 deletions Kingfisher.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,9 @@
D1BA781E2174D07800C69D7B /* CallbackQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1BA781C2174D07800C69D7B /* CallbackQueue.swift */; };
D1BA781F2174D07800C69D7B /* CallbackQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1BA781C2174D07800C69D7B /* CallbackQueue.swift */; };
D1BA78202174D07800C69D7B /* CallbackQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1BA781C2174D07800C69D7B /* CallbackQueue.swift */; };
D1BFED95222ACC6B009330C8 /* ImageProcessorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1BFED94222ACC6B009330C8 /* ImageProcessorTests.swift */; };
D1BFED96222ACC6B009330C8 /* ImageProcessorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1BFED94222ACC6B009330C8 /* ImageProcessorTests.swift */; };
D1BFED97222ACC6B009330C8 /* ImageProcessorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1BFED94222ACC6B009330C8 /* ImageProcessorTests.swift */; };
D1D2C32A1C70A3230018F2F9 /* single-frame.gif in Resources */ = {isa = PBXBuildFile; fileRef = D1D2C3291C70A3230018F2F9 /* single-frame.gif */; };
D1D2C32B1C70A3230018F2F9 /* single-frame.gif in Resources */ = {isa = PBXBuildFile; fileRef = D1D2C3291C70A3230018F2F9 /* single-frame.gif */; };
D1D2C32C1C70A3230018F2F9 /* single-frame.gif in Resources */ = {isa = PBXBuildFile; fileRef = D1D2C3291C70A3230018F2F9 /* single-frame.gif */; };
Expand Down Expand Up @@ -350,6 +353,7 @@
D1A37BEC215D375F009B39B7 /* Deprecated.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Deprecated.swift; sourceTree = "<group>"; };
D1A37BF1215D3850009B39B7 /* SizeExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SizeExtensions.swift; sourceTree = "<group>"; };
D1BA781C2174D07800C69D7B /* CallbackQueue.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CallbackQueue.swift; sourceTree = "<group>"; };
D1BFED94222ACC6B009330C8 /* ImageProcessorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageProcessorTests.swift; sourceTree = "<group>"; };
D1D2C3291C70A3230018F2F9 /* single-frame.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = "single-frame.gif"; sourceTree = "<group>"; };
D1DC4B401D60996D00DFDFAA /* StringExtensionTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StringExtensionTests.swift; sourceTree = "<group>"; };
D1E564402199C21E0057AAE3 /* StorageExpirationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StorageExpirationTests.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -596,6 +600,7 @@
4BCFF7A9219932390055AAC4 /* DiskStorageTests.swift */,
D1E564402199C21E0057AAE3 /* StorageExpirationTests.swift */,
D1A1CC9E21A0F98600263AD8 /* ImageDataProviderTests.swift */,
D1BFED94222ACC6B009330C8 /* ImageProcessorTests.swift */,
);
name = KingfisherTests;
path = Tests/KingfisherTests;
Expand Down Expand Up @@ -1122,6 +1127,7 @@
D1A1CCA021A0F98600263AD8 /* ImageDataProviderTests.swift in Sources */,
4B8351C9217066580081EED8 /* StubHelpers.swift in Sources */,
D1DC4B421D60996D00DFDFAA /* StringExtensionTests.swift in Sources */,
D1BFED96222ACC6B009330C8 /* ImageProcessorTests.swift in Sources */,
D12E0C741C47F6FE00AC98AD /* UIButtonExtensionTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
Expand All @@ -1146,6 +1152,7 @@
D1A1CCA121A0F98600263AD8 /* ImageDataProviderTests.swift in Sources */,
4B8351CA217066580081EED8 /* StubHelpers.swift in Sources */,
D1DC4B431D60996D00DFDFAA /* StringExtensionTests.swift in Sources */,
D1BFED97222ACC6B009330C8 /* ImageProcessorTests.swift in Sources */,
D12E0C871C47F7AF00AC98AD /* KingfisherOptionsInfoTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
Expand Down Expand Up @@ -1318,6 +1325,7 @@
D1A1CC9F21A0F98600263AD8 /* ImageDataProviderTests.swift in Sources */,
4B8351C8217066580081EED8 /* StubHelpers.swift in Sources */,
D1DC4B411D60996D00DFDFAA /* StringExtensionTests.swift in Sources */,
D1BFED95222ACC6B009330C8 /* ImageProcessorTests.swift in Sources */,
D12E0C501C47F23500AC98AD /* ImageCacheTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
Expand Down
48 changes: 48 additions & 0 deletions Tests/KingfisherTests/ImageProcessorTests.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
//
// ImageProcessorTests.swift
// Kingfisher
//
// Created by onevcat on 2019/03/02.
//
// Copyright (c) 2019 Wei Wang <[email protected]>
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.

import XCTest
import Kingfisher

class ImageProcessorTests: XCTestCase {

// Issue 1125. https://github.com/onevcat/Kingfisher/issues/1125
func testDownsamplingSizes() {
XCTAssertEqual(testImage.size, CGSize(width: 64, height: 64))

let emptyOption = KingfisherParsedOptionsInfo(nil)

let targetSize = CGSize(width: 20, height: 40)
let downsamplingProcessor = DownsamplingImageProcessor(size: targetSize)

let resultFromData = downsamplingProcessor.process(item: .data(testImageData), options: emptyOption)
XCTAssertEqual(resultFromData!.size, CGSize(width: 40, height: 40))

let resultFromImage = downsamplingProcessor.process(item: .image(testImage), options: emptyOption)
XCTAssertEqual(resultFromImage!.size, CGSize(width: 40, height: 40))

}
}

0 comments on commit d96a5b6

Please sign in to comment.