diff --git a/WireUI/Package.swift b/WireUI/Package.swift index d58f81d4b49..edbe85619b6 100644 --- a/WireUI/Package.swift +++ b/WireUI/Package.swift @@ -43,9 +43,13 @@ let package = Package( .target( name: "WireAuthenticationUI", - dependencies: ["WireDesign", "WireFoundation", "WireReusableUIComponents"] + dependencies: ["WireDesign", "WireFoundation", "WireReusableUIComponents"], + plugins: [.plugin(name: "SwiftGenPlugin", package: "WirePlugins")] + ), + .testTarget( + name: "WireAuthenticationUITests", + dependencies: ["WireAuthenticationUI"] ), - .testTarget(name: "WireAuthenticationUITests", dependencies: ["WireAuthenticationUI"]), .target(name: "WireConversationListUI"), .testTarget(name: "WireConversationListUITests", dependencies: ["WireConversationListUI", "WireSettingsUI"]), diff --git a/WireUI/Sources/WireAuthenticationUI/.swiftgen.yml b/WireUI/Sources/WireAuthenticationUI/.swiftgen.yml new file mode 100644 index 00000000000..668e9ff4faf --- /dev/null +++ b/WireUI/Sources/WireAuthenticationUI/.swiftgen.yml @@ -0,0 +1,14 @@ +# Every input/output paths in the rest of the config will then be expressed relative to these. + +input_dir: ./ +output_dir: ${GENERATED}/ + +# Generate constants for your localized strings. + +strings: + inputs: + - Resources/en.lproj/Localizable.strings + filter: + outputs: + - templateName: structured-swift5 + output: Strings+Generated.swift diff --git a/WireUI/Sources/WireAuthenticationUI/Components/Logo.swift b/WireUI/Sources/WireAuthenticationUI/Components/Logo.swift index 84b17c9655a..a8951aabbf5 100644 --- a/WireUI/Sources/WireAuthenticationUI/Components/Logo.swift +++ b/WireUI/Sources/WireAuthenticationUI/Components/Logo.swift @@ -24,7 +24,7 @@ struct Logo: View { Image(ImageResource(name: "logo", bundle: .module)) .resizable() .scaledToFit() - .padding(.all, min(geometry.size.height, geometry.size.width) / 2.97) + .padding(.all, min(geometry.size.height, geometry.size.width) / 3) } } } diff --git a/WireUI/Sources/WireAuthenticationUI/Resources/en.lproj/Localizable.strings b/WireUI/Sources/WireAuthenticationUI/Resources/en.lproj/Localizable.strings new file mode 100644 index 00000000000..c609d822219 --- /dev/null +++ b/WireUI/Sources/WireAuthenticationUI/Resources/en.lproj/Localizable.strings @@ -0,0 +1,24 @@ +// + // Wire + // Copyright (C) 2025 Wire Swiss GmbH + // + // This program is free software: you can redistribute it and/or modify + // it under the terms of the GNU General Public License as published by + // the Free Software Foundation, either version 3 of the License, or + // (at your option) any later version. + // + // This program is distributed in the hope that it will be useful, + // but WITHOUT ANY WARRANTY; without even the implied warranty of + // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + // GNU General Public License for more details. + // + // You should have received a copy of the GNU General Public License + // along with this program. If not, see http://www.gnu.org/licenses/. + // + +"authentication.identity.input.body" = "Simply enter your email address to start!"; +"authentication.identity.input.field.placeholder" = "Email or SSO code"; +"authentication.identity.input.field.title" = "Email or SSO code"; +"authentication.identity.input.submit" = "Next"; +"authentication.identity.input.terms" = "By pressing on “Next”, you accept Wire’s [Terms and Conditions](%@)"; + diff --git a/WireUI/Sources/WireAuthenticationUI/Views/AuthenticationIdentityInputView.swift b/WireUI/Sources/WireAuthenticationUI/Views/AuthenticationIdentityInputView.swift new file mode 100644 index 00000000000..58ff471649c --- /dev/null +++ b/WireUI/Sources/WireAuthenticationUI/Views/AuthenticationIdentityInputView.swift @@ -0,0 +1,106 @@ +// +// Wire +// Copyright (C) 2025 Wire Swiss GmbH +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see http://www.gnu.org/licenses/. +// + +import SwiftUI +import WireDesign +import WireFoundation +import WireReusableUIComponents + +package struct AuthenticationIdentityInputView: View { + + package enum Action { + case submit(identity: String) + } + + @State private var identity: String = "" + private let actionCallback: @Sendable (Action) -> Void + private let termsURL: URL + + package init(actionCallback: @escaping @Sendable (Action) -> Void, termsURL: URL) { + self.actionCallback = actionCallback + self.termsURL = termsURL + } + + package var body: some View { + VStack(alignment: .center, spacing: 16) { + HStack { + Spacer() + .frame(maxWidth: .infinity) + Logo() + .frame(width: 164, height: 95) + Spacer() + .frame(maxWidth: .infinity) + } + Text(L10n.Authentication.Identity.Input.body) + .wireTextStyle(.body1) + .lineLimit(nil) + LabeledTextField( + isMandatory: false, + placeholder: L10n.Authentication.Identity.Input.Field.placeholder, + title: L10n.Authentication.Identity.Input.Field.title, + string: $identity + ) + .lineLimit(nil) + Button(action: { + actionCallback(.submit(identity: identity)) + }, label: { + Text(L10n.Authentication.Identity.Input.submit) + .lineLimit(nil) + }) + .wireButtonStyle(.primary) + .disabled(identity.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty) + Text(AttributedString.markdown(from: L10n.Authentication.Identity.Input.terms(termsURL.absoluteString))) + .multilineTextAlignment(.center) + .wireTextStyle(.subline1) + .lineLimit(nil) + } + } +} + +struct AuthenticationIdentityInputPreview: View { + var body: some View { + AuthenticationIdentityInputView( + actionCallback: { _ in }, + termsURL: URL(string: "https://example.com")! + ) + .environment(\.wireTextStyleMapping, WireTextStyleMapping()) + .padding(32) + } +} + +#Preview { + BackgroundView() + .overlay { + VStack(spacing: 0) { + Spacer() + .frame(maxHeight: .infinity) + if #available(iOS 16.4, *) { + ScrollView(.vertical) { + AuthenticationIdentityInputPreview() + } + .background() + .scrollBounceBehavior(.basedOnSize) + } else { + ScrollView(.vertical) { + AuthenticationIdentityInputPreview() + } + .background() + } + } + } +} diff --git a/WireUI/Sources/WireDesign/Colors/ColorTheme.swift b/WireUI/Sources/WireDesign/Colors/ColorTheme.swift index ca9dc7dc564..387d3b1a343 100644 --- a/WireUI/Sources/WireDesign/Colors/ColorTheme.swift +++ b/WireUI/Sources/WireDesign/Colors/ColorTheme.swift @@ -46,6 +46,9 @@ public enum ColorTheme { public static let secondaryText = UIColor(light: .gray70, dark: .gray60) public static let requiredField = UIColor(light: .red500Light, dark: .red500Dark) + + public static let labelTitle = UIColor(light: .gray80, dark: .gray50) + public static let onDisabled = UIColor(light: .gray80, dark: .gray50) } public enum Backgrounds { @@ -145,6 +148,7 @@ public enum ColorTheme { public enum Strokes { public static let outline = UIColor(light: .gray40, dark: .gray90) + public static let disabledOutline = UIColor(light: .gray50, dark: .gray80) public static let dividersOutlineVariant = UIColor(light: .gray20, dark: .gray100) } diff --git a/WireUI/Sources/WireReusableUIComponents/LabeledTextField/LabeledTextField.swift b/WireUI/Sources/WireReusableUIComponents/LabeledTextField/LabeledTextField.swift index eddc8d58ba2..04e7d5b2b84 100644 --- a/WireUI/Sources/WireReusableUIComponents/LabeledTextField/LabeledTextField.swift +++ b/WireUI/Sources/WireReusableUIComponents/LabeledTextField/LabeledTextField.swift @@ -21,14 +21,21 @@ import WireDesign import WireFoundation public struct LabeledTextField: View { + @Environment(\.isEnabled) private var isEnabled private let isMandatory: Bool private let placeholder: String? private let title: String? + @FocusState var isFocused: Bool @Binding private var string: String - public init(isMandatory: Bool = false, placeholder: String?, title: String?, string: Binding) { + public init( + isMandatory: Bool = false, + placeholder: String?, + title: String?, + string: Binding + ) { self.isMandatory = isMandatory self.placeholder = placeholder self.title = title @@ -36,7 +43,7 @@ public struct LabeledTextField: View { } public var body: some View { - VStack(alignment: .leading) { + VStack(alignment: .leading, spacing: 2) { if let title { ( isMandatory ? ( @@ -45,12 +52,68 @@ public struct LabeledTextField: View { .foregroundColor(ColorTheme.Base.requiredField.color) ) : Text(title) ) - .wireTextStyle(.h4) + .foregroundStyle(titleColor) + .wireTextStyle(.subline1) } - TextField(placeholder ?? "", text: $string) - .textFieldStyle(.roundedBorder) - .wireTextStyle(.body1) + HStack(spacing: 0) { + TextField(placeholder ?? "", text: $string) + .wireTextStyle(.body1) + .focused($isFocused) + .foregroundStyle(labelColor) + .padding(.vertical, 12) + if !string.isEmpty, isEnabled { + Button(action: { + string = "" + }, label: { + Image(systemName: "xmark.circle.fill") + .foregroundStyle(.black) + .frame(width: 16, height: 16) + .padding(19) + }) + } + } + .padding(.leading, 16) + .background { + if #available(iOS 17.0, *) { + RoundedRectangle(cornerRadius: 12) + .fill(labelBackgroundColor) + .stroke(labelBorderColor, lineWidth: 1) + } else { + RoundedRectangle(cornerRadius: 12) + .stroke(labelBorderColor, lineWidth: 1) + .background(labelBackgroundColor) + .cornerRadius(12) + } + } + } + } + + private var titleColor: Color { + if isEnabled, isFocused { + return ColorTheme.Base.onPrimaryVariant.color } + if isEnabled { + return ColorTheme.Base.labelTitle.color + } + return ColorTheme.Base.labelTitle.color + } + + private var labelColor: Color { + isEnabled ? .primaryText : ColorTheme.Base.onDisabled.color + } + + private var labelBackgroundColor: Color { + isEnabled ? .clear : ColorTheme.Backgrounds.background.color + } + + private var labelBorderColor: Color { + if isEnabled, isFocused { + return ColorTheme.Base.onPrimaryVariant.color + } + if isEnabled { + return ColorTheme.Strokes.outline.color + } + return ColorTheme.Strokes.outline.color } } @@ -61,22 +124,34 @@ public struct LabeledTextField: View { title: nil, string: .constant("") ) + .padding() LabeledTextField( isMandatory: false, placeholder: "Placeholder", title: "Some Title", string: .constant("") ) + .padding() LabeledTextField( isMandatory: true, placeholder: "Placeholder", title: "Some Title", string: .constant("") ) + .padding() + LabeledTextField( + isMandatory: true, + placeholder: "Placeholder", + title: "Some Title", + string: .constant("Lorem ipsum dolor sit amet, consectetur [...]") + ) + .padding() LabeledTextField( isMandatory: true, placeholder: "Placeholder", title: "Some Title", - string: .constant("Lorem ipsum sic amet [...]") + string: .constant("Lorem ipsum dolor sit amet, consectetur [...]") ) + .padding() + .disabled(true) } diff --git a/WireUI/Tests/TestPlans/AllTests.xctestplan b/WireUI/Tests/TestPlans/AllTests.xctestplan index 7e982d3333a..258bd482f2b 100644 --- a/WireUI/Tests/TestPlans/AllTests.xctestplan +++ b/WireUI/Tests/TestPlans/AllTests.xctestplan @@ -40,50 +40,57 @@ { "target" : { "containerPath" : "container:WireUI", - "identifier" : "WireConversationListUITests", - "name" : "WireConversationListUITests" + "identifier" : "WireSidebarUITests", + "name" : "WireSidebarUITests" } }, { "target" : { "containerPath" : "container:WireUI", - "identifier" : "WireSettingsUITests", - "name" : "WireSettingsUITests" + "identifier" : "WireAuthenticationUITests", + "name" : "WireAuthenticationUITests" } }, { "target" : { "containerPath" : "container:WireUI", - "identifier" : "WireIndividualToTeamMigrationUITests", - "name" : "WireIndividualToTeamMigrationUITests" + "identifier" : "WireMainNavigationUITests", + "name" : "WireMainNavigationUITests" } }, { "target" : { "containerPath" : "container:WireUI", - "identifier" : "WireAccountImageUITests", - "name" : "WireAccountImageUITests" + "identifier" : "WireSettingsUITests", + "name" : "WireSettingsUITests" } }, { "target" : { "containerPath" : "container:WireUI", - "identifier" : "WireSidebarUITests", - "name" : "WireSidebarUITests" + "identifier" : "WireDesignTests", + "name" : "WireDesignTests" } }, { "target" : { "containerPath" : "container:WireUI", - "identifier" : "WireMainNavigationUITests", - "name" : "WireMainNavigationUITests" + "identifier" : "WireIndividualToTeamMigrationUITests", + "name" : "WireIndividualToTeamMigrationUITests" } }, { "target" : { "containerPath" : "container:WireUI", - "identifier" : "WireDesignTests", - "name" : "WireDesignTests" + "identifier" : "WireConversationListUITests", + "name" : "WireConversationListUITests" + } + }, + { + "target" : { + "containerPath" : "container:WireUI", + "identifier" : "WireAccountImageUITests", + "name" : "WireAccountImageUITests" } }, { diff --git a/WireUI/Tests/WireAuthenticationUITests/AuthenticationIdentityInputViewTests.swift b/WireUI/Tests/WireAuthenticationUITests/AuthenticationIdentityInputViewTests.swift new file mode 100644 index 00000000000..edc65b6fea4 --- /dev/null +++ b/WireUI/Tests/WireAuthenticationUITests/AuthenticationIdentityInputViewTests.swift @@ -0,0 +1,67 @@ +// +// Wire +// Copyright (C) 2025 Wire Swiss GmbH +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see http://www.gnu.org/licenses/. +// + +import SwiftUI +import WireTestingPackage +import XCTest + +@testable import WireAuthenticationUI + +class AuthenticationIdentityInputViewTests: XCTestCase { + private var snapshotHelper: SnapshotHelper! + + override func setUp() { + snapshotHelper = .init() + .withSnapshotDirectory(SnapshotTestReferenceImageDirectory) + } + + override func tearDown() { + snapshotHelper = nil + } + + @MainActor + func testColorSchemeVariants() { + let screenBounds = UIScreen.main.bounds + + let view = AuthenticationIdentityInputPreview() + .frame(width: screenBounds.width) + + snapshotHelper + .withUserInterfaceStyle(.light) + .verify(matching: view, named: "light") + snapshotHelper + .withUserInterfaceStyle(.dark) + .verify(matching: view, named: "dark") + } + + @MainActor + func testDynamicTypeVariants() { + let screenBounds = UIScreen.main.bounds + + let view = AuthenticationIdentityInputPreview() + .frame(width: screenBounds.width) + + for dynamicTypeSize in DynamicTypeSize.allCases { + snapshotHelper + .verify( + matching: view.dynamicTypeSize(dynamicTypeSize), + named: "\(dynamicTypeSize)" + ) + } + } +} diff --git a/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testColorSchemeVariants.dark.png b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testColorSchemeVariants.dark.png new file mode 100644 index 00000000000..b5bb89401a1 --- /dev/null +++ b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testColorSchemeVariants.dark.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e145bc8ee2ae53c109a9204308e7689f71596ef226c579456434776e9cbd6f13 +size 76411 diff --git a/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testColorSchemeVariants.light.png b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testColorSchemeVariants.light.png new file mode 100644 index 00000000000..4f57fb4ba77 --- /dev/null +++ b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testColorSchemeVariants.light.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00ce90717b82f090beeaaf9fd8617fd645dd303a643203130279645165e6e7f4 +size 79807 diff --git a/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.accessibility1.png b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.accessibility1.png new file mode 100644 index 00000000000..f68c699abba --- /dev/null +++ b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.accessibility1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66596da35029d629045f985a88b2529182324fcf6bf7f2ce559b1029c8372336 +size 97955 diff --git a/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.accessibility2.png b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.accessibility2.png new file mode 100644 index 00000000000..ff1e814fb6a --- /dev/null +++ b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.accessibility2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9234d9476243cdccf162e412c1ff94fa9bd0b06b609b8198640afc815ea7fa76 +size 106032 diff --git a/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.accessibility3.png b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.accessibility3.png new file mode 100644 index 00000000000..150f3d459a9 --- /dev/null +++ b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.accessibility3.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:40fdfc49dcde8f7cde271dda0e104dc4300323d8cf3ba6ba5e194b59a8458b42 +size 118304 diff --git a/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.accessibility4.png b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.accessibility4.png new file mode 100644 index 00000000000..511fc2249a9 --- /dev/null +++ b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.accessibility4.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7baa0e00f97aa0d051f026305d8e1e4d3fd5ef6764c42e53088d3eda9916670 +size 124139 diff --git a/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.accessibility5.png b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.accessibility5.png new file mode 100644 index 00000000000..6348c3e6459 --- /dev/null +++ b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.accessibility5.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ecebc9090c9603afcc85264b0921b1a25745c0f2ba507b33629a34c6adde090 +size 130488 diff --git a/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.large.png b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.large.png new file mode 100644 index 00000000000..4f57fb4ba77 --- /dev/null +++ b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.large.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00ce90717b82f090beeaaf9fd8617fd645dd303a643203130279645165e6e7f4 +size 79807 diff --git a/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.medium.png b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.medium.png new file mode 100644 index 00000000000..a2d3910d47d --- /dev/null +++ b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.medium.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:65ba7aca01527bbdb2d5f4cab0e335c7a5ac869fe3da639854230fdd4ae2d98f +size 78556 diff --git a/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.small.png b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.small.png new file mode 100644 index 00000000000..c9e60eda5c2 --- /dev/null +++ b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.small.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cb332eeb3d1b89ce7fa93e916d22a01e90697ca79036f341b10414fa070eeb09 +size 77396 diff --git a/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.xLarge.png b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.xLarge.png new file mode 100644 index 00000000000..36c7c2a33c5 --- /dev/null +++ b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.xLarge.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4995eff1a662372f67674c2a3e69e0494cc15ee1a36d60c2c2b73f4ceb2ffc82 +size 83590 diff --git a/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.xSmall.png b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.xSmall.png new file mode 100644 index 00000000000..ed3f3ab9bcf --- /dev/null +++ b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.xSmall.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e75e10e25a4e07fe821fd76342506b50680583833210d3a1147a92b25205428 +size 76067 diff --git a/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.xxLarge.png b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.xxLarge.png new file mode 100644 index 00000000000..6b257643767 --- /dev/null +++ b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.xxLarge.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbb14a28a7c622bdd1d2c9d76211a3a6157894b899df808515d7357f88fc41c4 +size 86452 diff --git a/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.xxxLarge.png b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.xxxLarge.png new file mode 100644 index 00000000000..ed8dd767289 --- /dev/null +++ b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/AuthenticationIdentityInputViewTests/testDynamicTypeVariants.xxxLarge.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79a9c97e0aa9e45e7d5028b03b8b779005c1492fdfb16498e2acfc69bd99930d +size 90498 diff --git a/WireUI/Tests/WireAuthenticationUITests/WireIndividualToTeamMigrationTests.swift b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/SnapshotTestReferenceImageDirectory.swift similarity index 78% rename from WireUI/Tests/WireAuthenticationUITests/WireIndividualToTeamMigrationTests.swift rename to WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/SnapshotTestReferenceImageDirectory.swift index 8a6af86fd02..6b1997849e8 100644 --- a/WireUI/Tests/WireAuthenticationUITests/WireIndividualToTeamMigrationTests.swift +++ b/WireUI/Tests/WireAuthenticationUITests/Resources/ReferenceImages/SnapshotTestReferenceImageDirectory.swift @@ -16,11 +16,8 @@ // along with this program. If not, see http://www.gnu.org/licenses/. // -import XCTest -@testable import WireAuthenticationUI +import Foundation -class WireAuthenticationUITests: XCTestCase { - func testExample() throws { - throw XCTSkip("[WPB-15229] Not yet implemented") - } -} +public let SnapshotTestReferenceImageDirectory = URL(fileURLWithPath: #filePath) + .deletingLastPathComponent() + .path diff --git a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testColorSchemeVariants.dark.png b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testColorSchemeVariants.dark.png index e27b53a56f5..2314cc1eefb 100644 --- a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testColorSchemeVariants.dark.png +++ b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testColorSchemeVariants.dark.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:522794a73a7040670dcdc5dea49e04dfc1334f394de60c22a636e318b6e77a87 -size 106942 +oid sha256:2945aaca0e98108971f7a6eac77c762d7c4d6ee130df19880a406a7bf621b364 +size 108432 diff --git a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testColorSchemeVariants.light.png b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testColorSchemeVariants.light.png index 7a3f3015795..6fa45eefde1 100644 --- a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testColorSchemeVariants.light.png +++ b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testColorSchemeVariants.light.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:341d03d5038b93e7beb9b77f92111dd007d128a74fcde720029e4617b35d5864 -size 99143 +oid sha256:4f4cf23ea98cfbe59fbbef3184b2f2ca6305bb8b1d89a9924ab63cb61301cb4c +size 100107 diff --git a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.accessibility1.png b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.accessibility1.png index 676442628a6..c1c5146442f 100644 --- a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.accessibility1.png +++ b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.accessibility1.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dd8bed323e5f2459999c6b47c497194b2427a0bf067ed0212cc6c9f42c49d2a8 -size 122659 +oid sha256:a2ee3fa37ad6c6dcc0803b9a46bed876b3e749cb9a403416e8733797eafcbb12 +size 123822 diff --git a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.accessibility2.png b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.accessibility2.png index 7b749bfe383..00227ce4574 100644 --- a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.accessibility2.png +++ b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.accessibility2.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:17b612daaf9ee5f387abcd89d33b26c706eaf1f602df4031a44e663bff07de1b -size 138262 +oid sha256:d776b152a33d13190f33b16a73617bdf0f8afb38aa507869b3b33f31d6ed8872 +size 139078 diff --git a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.accessibility3.png b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.accessibility3.png index 59a7e57e1bc..ea29d81118f 100644 --- a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.accessibility3.png +++ b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.accessibility3.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f74254b5c1c98ab5cbd14b9fd76f37b53b89985a66640371de815f1a0f55b76e -size 157394 +oid sha256:5b2b6a6727336983410113a97cdd709d7a25a7d3ee3d6bb24e5befb0b9f0f8f9 +size 158380 diff --git a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.accessibility4.png b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.accessibility4.png index 3c91c258bcb..a4ebb15540a 100644 --- a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.accessibility4.png +++ b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.accessibility4.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ba3f3eb100d972bc6555195112d50630d04aae76af3fb3317171b1da9dc72ea8 -size 174624 +oid sha256:b55fe074a62df26bb38f010718af7f60db43c2f19d27c4fff5ed1785b76d8442 +size 175241 diff --git a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.accessibility5.png b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.accessibility5.png index 6df87d07037..ff7e7f38054 100644 --- a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.accessibility5.png +++ b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.accessibility5.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cb8e717d00359674e19fc74c903a1fa1b8fd228ec5be9166c6073366e93d3316 -size 189756 +oid sha256:e7654b19e52064791f43fd3314869e989725d90fdea30782f80af3b747c8e971 +size 189784 diff --git a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.large.png b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.large.png index 7a3f3015795..6fa45eefde1 100644 --- a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.large.png +++ b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.large.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:341d03d5038b93e7beb9b77f92111dd007d128a74fcde720029e4617b35d5864 -size 99143 +oid sha256:4f4cf23ea98cfbe59fbbef3184b2f2ca6305bb8b1d89a9924ab63cb61301cb4c +size 100107 diff --git a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.medium.png b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.medium.png index f8fa9b8ff36..e5bfc5e269e 100644 --- a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.medium.png +++ b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.medium.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5cfe2c4da46b6586065e0223a7c65e70b039d922fe69d1082b102e8d5af039b4 -size 96852 +oid sha256:a07ecb4c2b6f1bcaf1d2041b6d7a3feb2b68a588395293d7824d92bf5bf12e39 +size 98938 diff --git a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.small.png b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.small.png index 192957a01dd..d8ffa51f6d6 100644 --- a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.small.png +++ b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.small.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:91c5f3c293f8f7fd56b20dc5928db0e53aa7a549aa47e02118b5f5c6dc6838e2 -size 95122 +oid sha256:67af9a8b050a51f4c1e9fb91eac779ea72fe82a3162578de8c1694926c6c771d +size 97340 diff --git a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.xLarge.png b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.xLarge.png index 5032bafcc28..8dc8be3eb49 100644 --- a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.xLarge.png +++ b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.xLarge.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:944810acc4a076fffaa93743d11fb13f5b15f48cdb42896ba21491fb7ebeb1ce -size 104316 +oid sha256:2eacfc06619972d232f6ae7aef5092e040fea44d8654acf8e30cb7b0dea9ba06 +size 105325 diff --git a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.xSmall.png b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.xSmall.png index 34b64f87e2c..4d3e6d184bf 100644 --- a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.xSmall.png +++ b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.xSmall.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7b38626cb338beb7571a63a85ada06f01fd716e62a0f1c8c4e9ba147a91c49a5 -size 93774 +oid sha256:0a1d53090ec5fb58552850f558e8a927d70a90b809af85d43850459290aa078d +size 96135 diff --git a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.xxLarge.png b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.xxLarge.png index 45bd44090e2..b8305fe68f0 100644 --- a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.xxLarge.png +++ b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.xxLarge.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0862a0153ac361837abc1c0da0047e61ac25f399f88278e2599cab388df35beb -size 107318 +oid sha256:f50f8bd174f8c467dd6bb9701812a720412938faa95ac070c842a9824a8057ca +size 108484 diff --git a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.xxxLarge.png b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.xxxLarge.png index b323cb6bdc1..7fefa26b167 100644 --- a/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.xxxLarge.png +++ b/WireUI/Tests/WireIndividualToTeamMigrationUITests/Resources/ReferenceImages/TeamNameViewSnapshotTests/testDynamicTypeVariants.xxxLarge.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3d720b306795186059e552523d901542f2a6b460041ddb67cc31f167fb829438 -size 111554 +oid sha256:eac89c1429b506d2feef505f65073677e1ff40b1f865523f5c06ed40d981c811 +size 112889