fix(imagepicker): 크롭 범위를 보정한다
This commit is contained in:
40
work/tests/ImageCropGeometryCheck.swift
Normal file
40
work/tests/ImageCropGeometryCheck.swift
Normal file
@@ -0,0 +1,40 @@
|
||||
import CoreGraphics
|
||||
import Foundation
|
||||
|
||||
@main
|
||||
struct ImageCropGeometryCheck {
|
||||
static func main() {
|
||||
assertSize(
|
||||
ImageCropGeometry.maximumCropSize(fitting: CGSize(width: 350, height: 700), aspectRatio: 1),
|
||||
equals: CGSize(width: 350, height: 350),
|
||||
scenario: "portraitUsesFullWidth"
|
||||
)
|
||||
assertSize(
|
||||
ImageCropGeometry.maximumCropSize(fitting: CGSize(width: 400, height: 200), aspectRatio: 4.0 / 3.0),
|
||||
equals: CGSize(width: 800.0 / 3.0, height: 200),
|
||||
scenario: "landscapeUsesFullHeight"
|
||||
)
|
||||
assertSize(
|
||||
ImageCropGeometry.maximumCropSize(fitting: CGSize(width: 320, height: 180), aspectRatio: 16.0 / 9.0),
|
||||
equals: CGSize(width: 320, height: 180),
|
||||
scenario: "matchingRatioUsesWholeImage"
|
||||
)
|
||||
assertSize(
|
||||
ImageCropGeometry.maximumCropSize(fitting: .zero, aspectRatio: 1),
|
||||
equals: .zero,
|
||||
scenario: "invalidInputReturnsZero"
|
||||
)
|
||||
assertSize(
|
||||
ImageCropGeometry.maximumCropSize(fitting: CGSize(width: 100, height: 100), aspectRatio: 0),
|
||||
equals: .zero,
|
||||
scenario: "invalidRatioReturnsZero"
|
||||
)
|
||||
print("ImageCropGeometryCheck PASS")
|
||||
}
|
||||
|
||||
private static func assertSize(_ actual: CGSize, equals expected: CGSize, scenario: String) {
|
||||
let tolerance = 0.001
|
||||
precondition(abs(actual.width - expected.width) < tolerance, "\(scenario) width: \(actual.width)")
|
||||
precondition(abs(actual.height - expected.height) < tolerance, "\(scenario) height: \(actual.height)")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user