Skip to content

Commit b4f0a51

Browse files
luispadronstephencelis
authored andcommitted
Add iPhone 13 devices (pointfreeco#603)
Co-authored-by: Stephen Celis <[email protected]>
1 parent 844bf8b commit b4f0a51

File tree

1 file changed

+113
-16
lines changed

1 file changed

+113
-16
lines changed

Sources/SnapshotTesting/Common/View.swift

+113-16
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,12 @@ public struct ViewImageConfig {
162162
return .init(safeArea: safeArea, size: size, traits: .iPhone12(orientation))
163163
}
164164

165+
public static let iPhone12Pro = ViewImageConfig.iPhone12Pro(.portrait)
166+
167+
public static func iPhone12Pro(_ orientation: Orientation) -> ViewImageConfig {
168+
.iPhone12(orientation)
169+
}
170+
165171
public static let iPhone12ProMax = ViewImageConfig.iPhone12ProMax(.portrait)
166172

167173
public static func iPhone12ProMax(_ orientation: Orientation) -> ViewImageConfig {
@@ -178,6 +184,63 @@ public struct ViewImageConfig {
178184
return .init(safeArea: safeArea, size: size, traits: .iPhone12ProMax(orientation))
179185
}
180186

187+
public static let iPhone13 = ViewImageConfig.iPhone13(.portrait)
188+
189+
public static func iPhone13(_ orientation: Orientation) -> ViewImageConfig {
190+
let safeArea: UIEdgeInsets
191+
let size: CGSize
192+
switch orientation {
193+
case .landscape:
194+
safeArea = .init(top: 0, left: 47, bottom: 21, right: 47)
195+
size = .init(width: 844, height: 390)
196+
case .portrait:
197+
safeArea = .init(top: 47, left: 0, bottom: 34, right: 0)
198+
size = .init(width: 390, height: 844)
199+
}
200+
201+
return .init(safeArea: safeArea, size: size, traits: UITraitCollection.iPhone13(orientation))
202+
}
203+
204+
public static let iPhone13Mini = ViewImageConfig.iPhone13Mini(.portrait)
205+
206+
public static func iPhone13Mini(_ orientation: Orientation) -> ViewImageConfig {
207+
let safeArea: UIEdgeInsets
208+
let size: CGSize
209+
switch orientation {
210+
case .landscape:
211+
safeArea = .init(top: 0, left: 50, bottom: 21, right: 50)
212+
size = .init(width: 812, height: 375)
213+
case .portrait:
214+
safeArea = .init(top: 50, left: 0, bottom: 34, right: 0)
215+
size = .init(width: 375, height: 812)
216+
}
217+
218+
return .init(safeArea: safeArea, size: size, traits: .iPhone13(orientation))
219+
}
220+
221+
public static let iPhone13Pro = ViewImageConfig.iPhone13Pro(.portrait)
222+
223+
public static func iPhone13Pro(_ orientation: Orientation) -> ViewImageConfig {
224+
.iPhone13(orientation)
225+
}
226+
227+
public static let iPhone13ProMax = ViewImageConfig.iPhone13ProMax(.portrait)
228+
229+
public static func iPhone13ProMax(_ orientation: Orientation) -> ViewImageConfig {
230+
let safeArea: UIEdgeInsets
231+
let size: CGSize
232+
switch orientation {
233+
case .landscape:
234+
safeArea = .init(top: 0, left: 47, bottom: 21, right: 47)
235+
size = .init(width: 926, height: 428)
236+
case .portrait:
237+
safeArea = .init(top: 47, left: 0, bottom: 34, right: 0)
238+
size = .init(width: 428, height: 926)
239+
}
240+
241+
return .init(safeArea: safeArea, size: size, traits: .iPhone13ProMax(orientation))
242+
}
243+
181244
public static let iPadMini = ViewImageConfig.iPadMini(.landscape)
182245

183246
public static func iPadMini(_ orientation: Orientation) -> ViewImageConfig {
@@ -439,8 +502,6 @@ extension UITraitCollection {
439502
public static func iPhoneSe(_ orientation: ViewImageConfig.Orientation)
440503
-> UITraitCollection {
441504
let base: [UITraitCollection] = [
442-
// .init(displayGamut: .SRGB),
443-
// .init(displayScale: 2),
444505
.init(forceTouchCapability: .available),
445506
.init(layoutDirection: .leftToRight),
446507
.init(preferredContentSizeCategory: .medium),
@@ -467,8 +528,6 @@ extension UITraitCollection {
467528
public static func iPhone8(_ orientation: ViewImageConfig.Orientation)
468529
-> UITraitCollection {
469530
let base: [UITraitCollection] = [
470-
// .init(displayGamut: .P3),
471-
// .init(displayScale: 2),
472531
.init(forceTouchCapability: .available),
473532
.init(layoutDirection: .leftToRight),
474533
.init(preferredContentSizeCategory: .medium),
@@ -495,8 +554,6 @@ extension UITraitCollection {
495554
public static func iPhone8Plus(_ orientation: ViewImageConfig.Orientation)
496555
-> UITraitCollection {
497556
let base: [UITraitCollection] = [
498-
// .init(displayGamut: .P3),
499-
// .init(displayScale: 3),
500557
.init(forceTouchCapability: .available),
501558
.init(layoutDirection: .leftToRight),
502559
.init(preferredContentSizeCategory: .medium),
@@ -523,8 +580,6 @@ extension UITraitCollection {
523580
public static func iPhoneX(_ orientation: ViewImageConfig.Orientation)
524581
-> UITraitCollection {
525582
let base: [UITraitCollection] = [
526-
// .init(displayGamut: .P3),
527-
// .init(displayScale: 3),
528583
.init(forceTouchCapability: .available),
529584
.init(layoutDirection: .leftToRight),
530585
.init(preferredContentSizeCategory: .medium),
@@ -551,8 +606,6 @@ extension UITraitCollection {
551606
public static func iPhoneXr(_ orientation: ViewImageConfig.Orientation)
552607
-> UITraitCollection {
553608
let base: [UITraitCollection] = [
554-
// .init(displayGamut: .P3),
555-
// .init(displayScale: 2),
556609
.init(forceTouchCapability: .unavailable),
557610
.init(layoutDirection: .leftToRight),
558611
.init(preferredContentSizeCategory: .medium),
@@ -579,8 +632,6 @@ extension UITraitCollection {
579632
public static func iPhoneXsMax(_ orientation: ViewImageConfig.Orientation)
580633
-> UITraitCollection {
581634
let base: [UITraitCollection] = [
582-
// .init(displayGamut: .P3),
583-
// .init(displayScale: 3),
584635
.init(forceTouchCapability: .available),
585636
.init(layoutDirection: .leftToRight),
586637
.init(preferredContentSizeCategory: .medium),
@@ -607,8 +658,6 @@ extension UITraitCollection {
607658
public static func iPhone12(_ orientation: ViewImageConfig.Orientation)
608659
-> UITraitCollection {
609660
let base: [UITraitCollection] = [
610-
// .init(displayGamut: .P3),
611-
// .init(displayScale: 3),
612661
.init(forceTouchCapability: .available),
613662
.init(layoutDirection: .leftToRight),
614663
.init(preferredContentSizeCategory: .medium),
@@ -635,8 +684,56 @@ extension UITraitCollection {
635684
public static func iPhone12ProMax(_ orientation: ViewImageConfig.Orientation)
636685
-> UITraitCollection {
637686
let base: [UITraitCollection] = [
638-
// .init(displayGamut: .P3),
639-
// .init(displayScale: 3),
687+
.init(forceTouchCapability: .available),
688+
.init(layoutDirection: .leftToRight),
689+
.init(preferredContentSizeCategory: .medium),
690+
.init(userInterfaceIdiom: .phone)
691+
]
692+
switch orientation {
693+
case .landscape:
694+
return .init(
695+
traitsFrom: base + [
696+
.init(horizontalSizeClass: .regular),
697+
.init(verticalSizeClass: .compact)
698+
]
699+
)
700+
case .portrait:
701+
return .init(
702+
traitsFrom: base + [
703+
.init(horizontalSizeClass: .compact),
704+
.init(verticalSizeClass: .regular)
705+
]
706+
)
707+
}
708+
}
709+
710+
public static func iPhone13(_ orientation: ViewImageConfig.Orientation) -> UITraitCollection {
711+
let base: [UITraitCollection] = [
712+
.init(forceTouchCapability: .available),
713+
.init(layoutDirection: .leftToRight),
714+
.init(preferredContentSizeCategory: .medium),
715+
.init(userInterfaceIdiom: .phone)
716+
]
717+
switch orientation {
718+
case .landscape:
719+
return .init(
720+
traitsFrom: base + [
721+
.init(horizontalSizeClass: .compact),
722+
.init(verticalSizeClass: .compact)
723+
]
724+
)
725+
case .portrait:
726+
return .init(
727+
traitsFrom: base + [
728+
.init(horizontalSizeClass: .compact),
729+
.init(verticalSizeClass: .regular)
730+
]
731+
)
732+
}
733+
}
734+
735+
public static func iPhone13ProMax(_ orientation: ViewImageConfig.Orientation) -> UITraitCollection {
736+
let base: [UITraitCollection] = [
640737
.init(forceTouchCapability: .available),
641738
.init(layoutDirection: .leftToRight),
642739
.init(preferredContentSizeCategory: .medium),

0 commit comments

Comments
 (0)