mirror of
https://github.com/nicoverbruggen/phpmon.git
synced 2026-03-26 06:00:07 +01:00
✅ Add a test that checks if language change works
This commit is contained in:
@@ -83,6 +83,7 @@
|
|||||||
036061D82F4C705B00B5998F /* WindowManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 036061D62F4C705800B5998F /* WindowManager.swift */; };
|
036061D82F4C705B00B5998F /* WindowManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 036061D62F4C705800B5998F /* WindowManager.swift */; };
|
||||||
036061D92F4C705B00B5998F /* WindowManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 036061D62F4C705800B5998F /* WindowManager.swift */; };
|
036061D92F4C705B00B5998F /* WindowManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 036061D62F4C705800B5998F /* WindowManager.swift */; };
|
||||||
036061DA2F4C705B00B5998F /* WindowManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 036061D62F4C705800B5998F /* WindowManager.swift */; };
|
036061DA2F4C705B00B5998F /* WindowManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 036061D62F4C705800B5998F /* WindowManager.swift */; };
|
||||||
|
036061DC2F4C7AE700B5998F /* SettingsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 036061DB2F4C7AE100B5998F /* SettingsTest.swift */; };
|
||||||
036C39022E5C883B008DAEDF /* Packagist.swift in Sources */ = {isa = PBXBuildFile; fileRef = 036C39012E5C883A008DAEDF /* Packagist.swift */; };
|
036C39022E5C883B008DAEDF /* Packagist.swift in Sources */ = {isa = PBXBuildFile; fileRef = 036C39012E5C883A008DAEDF /* Packagist.swift */; };
|
||||||
036C39032E5C883B008DAEDF /* Packagist.swift in Sources */ = {isa = PBXBuildFile; fileRef = 036C39012E5C883A008DAEDF /* Packagist.swift */; };
|
036C39032E5C883B008DAEDF /* Packagist.swift in Sources */ = {isa = PBXBuildFile; fileRef = 036C39012E5C883A008DAEDF /* Packagist.swift */; };
|
||||||
036C39042E5C883B008DAEDF /* Packagist.swift in Sources */ = {isa = PBXBuildFile; fileRef = 036C39012E5C883A008DAEDF /* Packagist.swift */; };
|
036C39042E5C883B008DAEDF /* Packagist.swift in Sources */ = {isa = PBXBuildFile; fileRef = 036C39012E5C883A008DAEDF /* Packagist.swift */; };
|
||||||
@@ -1074,6 +1075,7 @@
|
|||||||
034515482EC4FBB500472561 /* bn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bn; path = bn.lproj/Localizable.strings; sourceTree = "<group>"; };
|
034515482EC4FBB500472561 /* bn */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bn; path = bn.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||||
034515492EC4FBBD00472561 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/Localizable.strings; sourceTree = "<group>"; };
|
034515492EC4FBBD00472561 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = ar.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||||
036061D62F4C705800B5998F /* WindowManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WindowManager.swift; sourceTree = "<group>"; };
|
036061D62F4C705800B5998F /* WindowManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WindowManager.swift; sourceTree = "<group>"; };
|
||||||
|
036061DB2F4C7AE100B5998F /* SettingsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsTest.swift; sourceTree = "<group>"; };
|
||||||
036C39012E5C883A008DAEDF /* Packagist.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Packagist.swift; sourceTree = "<group>"; };
|
036C39012E5C883A008DAEDF /* Packagist.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Packagist.swift; sourceTree = "<group>"; };
|
||||||
036C39072E5C88A2008DAEDF /* PackagistTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PackagistTest.swift; sourceTree = "<group>"; };
|
036C39072E5C88A2008DAEDF /* PackagistTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PackagistTest.swift; sourceTree = "<group>"; };
|
||||||
036C39092E5C8CBD008DAEDF /* PackagistP2Response.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PackagistP2Response.swift; sourceTree = "<group>"; };
|
036C39092E5C8CBD008DAEDF /* PackagistP2Response.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PackagistP2Response.swift; sourceTree = "<group>"; };
|
||||||
@@ -2126,6 +2128,7 @@
|
|||||||
C471E7BD28F9B90F0021E251 /* ui */ = {
|
C471E7BD28F9B90F0021E251 /* ui */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
036061DB2F4C7AE100B5998F /* SettingsTest.swift */,
|
||||||
C471E7BE28F9B90F0021E251 /* StartupTest.swift */,
|
C471E7BE28F9B90F0021E251 /* StartupTest.swift */,
|
||||||
C469E702294CFDF700A82AB2 /* DomainsListTest.swift */,
|
C469E702294CFDF700A82AB2 /* DomainsListTest.swift */,
|
||||||
C44E985E29B23EBF0059F773 /* UpdateCheckTest.swift */,
|
C44E985E29B23EBF0059F773 /* UpdateCheckTest.swift */,
|
||||||
@@ -3324,6 +3327,7 @@
|
|||||||
C471E89C28F9BB8F0021E251 /* ValetSite.swift in Sources */,
|
C471E89C28F9BB8F0021E251 /* ValetSite.swift in Sources */,
|
||||||
031D74882F46307300D4FF48 /* AddSiteView.swift in Sources */,
|
031D74882F46307300D4FF48 /* AddSiteView.swift in Sources */,
|
||||||
C471E89D28F9BB8F0021E251 /* FakeValetSite.swift in Sources */,
|
C471E89D28F9BB8F0021E251 /* FakeValetSite.swift in Sources */,
|
||||||
|
036061DC2F4C7AE700B5998F /* SettingsTest.swift in Sources */,
|
||||||
C471E89F28F9BB8F0021E251 /* ValetDomainScanner.swift in Sources */,
|
C471E89F28F9BB8F0021E251 /* ValetDomainScanner.swift in Sources */,
|
||||||
C471E8A028F9BB8F0021E251 /* FakeDomainScanner.swift in Sources */,
|
C471E8A028F9BB8F0021E251 /* FakeDomainScanner.swift in Sources */,
|
||||||
C471E8A228F9BB8F0021E251 /* AppDelegate.swift in Sources */,
|
C471E8A228F9BB8F0021E251 /* AppDelegate.swift in Sources */,
|
||||||
|
|||||||
56
tests/ui/SettingsTest.swift
Normal file
56
tests/ui/SettingsTest.swift
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
//
|
||||||
|
// SettingsTest.swift
|
||||||
|
// PHP Monitor
|
||||||
|
//
|
||||||
|
// Created by Nico Verbruggen on 23/02/2026.
|
||||||
|
// Copyright © 2026 Nico Verbruggen. All rights reserved.
|
||||||
|
//
|
||||||
|
|
||||||
|
import XCTest
|
||||||
|
|
||||||
|
final class SettingsTest: UITestCase {
|
||||||
|
|
||||||
|
override func setUpWithError() throws {
|
||||||
|
continueAfterFailure = false
|
||||||
|
}
|
||||||
|
|
||||||
|
final func test_changing_language_closes_other_windows() throws {
|
||||||
|
let app = launch(openMenu: true)
|
||||||
|
|
||||||
|
// First, open the domains window
|
||||||
|
app.mainMenuItem(withText: "mi_domain_list".localized).click()
|
||||||
|
let domainsWindow = app.windows["domain_list.title".localized]
|
||||||
|
assertExists(domainsWindow, 2.0)
|
||||||
|
|
||||||
|
// Press the menu button again
|
||||||
|
app.statusItems.firstMatch.click() // press the menu button again
|
||||||
|
|
||||||
|
// This time, open the preferences window
|
||||||
|
app.mainMenuItem(withText: "mi_preferences".localized).click()
|
||||||
|
let settingsWindow = app.windows
|
||||||
|
.containing(.button, identifier: "prefs.tabs.general".localized(for: "en"))
|
||||||
|
.firstMatch
|
||||||
|
assertExists(settingsWindow, 2.0)
|
||||||
|
assertExists(app.buttons["prefs.tabs.general".localized(for: "en")], 2.0)
|
||||||
|
|
||||||
|
// In the languages pop-up, click on it
|
||||||
|
let languagePopup = settingsWindow.popUpButtons.element(boundBy: 0)
|
||||||
|
languagePopup.click()
|
||||||
|
languagePopup.menuItems["Japanese"].click()
|
||||||
|
assertNotExists(domainsWindow, 2.0)
|
||||||
|
assertNotExists(settingsWindow, 2.0)
|
||||||
|
|
||||||
|
// Find the Japanese language settings window now
|
||||||
|
let settingsWindowJa = app.windows
|
||||||
|
.containing(.button, identifier: "prefs.tabs.general".localized(for: "ja"))
|
||||||
|
.firstMatch
|
||||||
|
assertExists(settingsWindowJa, 2.0)
|
||||||
|
assertExists(app.buttons["prefs.tabs.general".localized(for: "ja")], 2.0)
|
||||||
|
assertExists(settingsWindowJa.staticTexts["prefs.language".localized(for: "ja")], 2.0)
|
||||||
|
|
||||||
|
// Switch back to the original language
|
||||||
|
let resetPopup = settingsWindowJa.popUpButtons.element(boundBy: 0)
|
||||||
|
resetPopup.click()
|
||||||
|
resetPopup.menuItems["System Default"].click()
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user