Add browser import hint debug variants
This commit is contained in:
parent
f97716939a
commit
b9de0f0446
7 changed files with 892 additions and 22 deletions
|
|
@ -2306,6 +2306,24 @@ final class AppDelegate: NSObject, NSApplicationDelegate, UNUserNotificationCent
|
|||
// In UI tests, `WindowGroup` occasionally fails to materialize a window quickly on the VM.
|
||||
// If there are no windows shortly after launch, force-create one so XCUITest can proceed.
|
||||
if isRunningUnderXCTest {
|
||||
if let rawVariant = env["CMUX_UI_TEST_BROWSER_IMPORT_HINT_VARIANT"] {
|
||||
UserDefaults.standard.set(
|
||||
BrowserImportHintSettings.variant(for: rawVariant).rawValue,
|
||||
forKey: BrowserImportHintSettings.variantKey
|
||||
)
|
||||
}
|
||||
if let rawShow = env["CMUX_UI_TEST_BROWSER_IMPORT_HINT_SHOW"] {
|
||||
UserDefaults.standard.set(
|
||||
rawShow == "1",
|
||||
forKey: BrowserImportHintSettings.showOnBlankTabsKey
|
||||
)
|
||||
}
|
||||
if let rawDismissed = env["CMUX_UI_TEST_BROWSER_IMPORT_HINT_DISMISSED"] {
|
||||
UserDefaults.standard.set(
|
||||
rawDismissed == "1",
|
||||
forKey: BrowserImportHintSettings.dismissedKey
|
||||
)
|
||||
}
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.25) { [weak self] in
|
||||
guard let self else { return }
|
||||
if NSApp.windows.isEmpty {
|
||||
|
|
@ -2314,6 +2332,20 @@ final class AppDelegate: NSObject, NSApplicationDelegate, UNUserNotificationCent
|
|||
NSRunningApplication.current.activate(options: [.activateAllWindows, .activateIgnoringOtherApps])
|
||||
self.writeUITestDiagnosticsIfNeeded(stage: "afterForceWindow")
|
||||
}
|
||||
if env["CMUX_UI_TEST_BROWSER_IMPORT_HINT_OPEN_BLANK_BROWSER"] == "1" {
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.45) { [weak self] in
|
||||
guard let self else { return }
|
||||
_ = self.openBrowserAndFocusAddressBar(insertAtEnd: true)
|
||||
}
|
||||
}
|
||||
if env["CMUX_UI_TEST_BROWSER_IMPORT_HINT_OPEN_SETTINGS"] == "1" {
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.55) { [weak self] in
|
||||
self?.openPreferencesWindow(
|
||||
debugSource: "uiTest.browserImportHint",
|
||||
navigationTarget: .browser
|
||||
)
|
||||
}
|
||||
}
|
||||
if env["CMUX_UI_TEST_BROWSER_IMPORT_AUTO_OPEN"] == "1" {
|
||||
DispatchQueue.main.asyncAfter(deadline: .now() + 0.4) {
|
||||
BrowserDataImportCoordinator.shared.presentImportDialog()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue