diff --git a/java/src/org/openqa/selenium/Platform.java b/java/src/org/openqa/selenium/Platform.java index 66f7927eaeb9b..98d859b642689 100644 --- a/java/src/org/openqa/selenium/Platform.java +++ b/java/src/org/openqa/selenium/Platform.java @@ -32,7 +32,7 @@ public enum Platform { /** Never returned, but can be used to request a browser running on any version of Windows. */ - WINDOWS("") { + WINDOWS("windows") { @Override public Platform family() { return null; @@ -302,6 +302,18 @@ public String toString() { } }, + SEQUOIA("sequoia", "os x 15.0", "macos 15.0") { + @Override + public Platform family() { + return MAC; + } + + @Override + public String toString() { + return "macOS 15.0"; + } + }, + /** Many platforms have UNIX traits, amongst them LINUX, Solaris and BSD. */ UNIX("solaris", "bsd") { @Override diff --git a/java/test/org/openqa/selenium/PlatformTest.java b/java/test/org/openqa/selenium/PlatformTest.java index a87bc6bf0d9eb..8ff72882e0270 100644 --- a/java/test/org/openqa/selenium/PlatformTest.java +++ b/java/test/org/openqa/selenium/PlatformTest.java @@ -24,8 +24,10 @@ import static org.openqa.selenium.Platform.IOS; import static org.openqa.selenium.Platform.LINUX; import static org.openqa.selenium.Platform.MAC; +import static org.openqa.selenium.Platform.SEQUOIA; import static org.openqa.selenium.Platform.UNIX; import static org.openqa.selenium.Platform.VISTA; +import static org.openqa.selenium.Platform.WIN11; import static org.openqa.selenium.Platform.WIN8; import static org.openqa.selenium.Platform.WIN8_1; import static org.openqa.selenium.Platform.WINDOWS; @@ -57,6 +59,11 @@ void testWin81IsWindows() { assertThat(WIN8_1.is(WINDOWS)).isTrue(); } + @Test + void testWindows11IsWindows() { + assertThat(WIN11.is(WINDOWS)).isTrue(); + } + @Test void testLinuxIsUnix() { assertThat(LINUX.is(UNIX)).isTrue(); @@ -165,16 +172,41 @@ void testWindowsIsWindows() { assertThat(WINDOWS).isEqualTo(Platform.fromString("windows")); } + @Test + void testWindowsIsNotEmpty() { + assertThat(WINDOWS).isNotEqualTo(Platform.fromString("")); + } + @Test void canParseMacOsXCorrectly() { assertThat(Platform.fromString("Mac OS X")).isEqualTo(MAC); } + @Test + void testAnyIsFromStringEmpty() { + assertThat(ANY).isEqualTo(Platform.fromString("")); + } + + @Test + void testAnyIsFromStringAny() { + assertThat(ANY).isEqualTo(Platform.fromString("any")); + } + + @Test + void testAnyIsNotFromStringWindows() { + assertThat(ANY).isNotEqualTo(Platform.fromString("windows")); + } + @Test void catalinaIsMac() { assertThat(CATALINA.is(MAC)).isTrue(); } + @Test + void sequoiaIsMac() { + assertThat(SEQUOIA.is(MAC)).isTrue(); + } + @Test void canParseCatalinaFromOSName() { assertThat(Platform.fromString("macOS 10.15")).isEqualTo(CATALINA);