1717
1818package org .openqa .selenium .firefox ;
1919
20- import static java .nio .file .StandardOpenOption .DELETE_ON_CLOSE ;
2120import static java .util .Collections .emptyMap ;
22- import static java .util .Collections .singleton ;
2321import static org .assertj .core .api .Assertions .assertThat ;
2422import static org .assertj .core .api .Assertions .assertThatExceptionOfType ;
2523import static org .assertj .core .api .Assertions .assertThatNoException ;
2826import static org .assertj .core .api .InstanceOfAssertFactories .MAP ;
2927import static org .assertj .core .api .InstanceOfAssertFactories .STRING ;
3028import static org .openqa .selenium .PageLoadStrategy .EAGER ;
31- import static org .openqa .selenium .firefox .FirefoxDriver .SystemProperty .BROWSER_BINARY ;
3229import static org .openqa .selenium .firefox .FirefoxDriver .SystemProperty .BROWSER_PROFILE ;
3330import static org .openqa .selenium .firefox .FirefoxDriverLogLevel .DEBUG ;
3431import static org .openqa .selenium .firefox .FirefoxDriverLogLevel .ERROR ;
4037import com .google .common .collect .ImmutableMap ;
4138import java .io .File ;
4239import java .io .IOException ;
43- import java .io .OutputStream ;
4440import java .nio .file .Files ;
4541import java .nio .file .Path ;
4642import java .nio .file .Paths ;
47- import java .nio .file .attribute .PosixFilePermission ;
4843import java .util .Arrays ;
4944import java .util .HashMap ;
5045import java .util .List ;
5651import org .openqa .selenium .ImmutableCapabilities ;
5752import org .openqa .selenium .MutableCapabilities ;
5853import org .openqa .selenium .PageLoadStrategy ;
59- import org .openqa .selenium .Platform ;
6054import org .openqa .selenium .WebDriverException ;
6155import org .openqa .selenium .internal .Require ;
6256import org .openqa .selenium .testing .TestUtilities ;
@@ -91,43 +85,6 @@ void binaryPathNeedNotExist() {
9185 new FirefoxOptions ().setBinary ("does/not/exist" );
9286 }
9387
94- @ Test
95- void shouldKeepRelativePathToBinaryAsIs () {
96- String path = String .join (File .separator , "some" , "path" );
97- FirefoxOptions options = new FirefoxOptions ().setBinary (path );
98- assertThat (options .getBinary ())
99- .extracting (FirefoxBinary ::getFile )
100- .extracting (String ::valueOf )
101- .isEqualTo (path );
102- }
103-
104- @ Test
105- void shouldKeepWindowsDriveLetterInPathToBinary () {
106- FirefoxOptions options = new FirefoxOptions ().setBinary ("F:\\ some\\ path" );
107- assertThat (options .getBinary ())
108- .extracting (FirefoxBinary ::getFile )
109- .extracting (String ::valueOf )
110- .isEqualTo ("F:\\ some\\ path" );
111- }
112-
113- @ Test
114- void shouldKeepWindowsNetworkFileSystemRootInPathToBinary () {
115- FirefoxOptions options = new FirefoxOptions ().setBinary ("\\ \\ server\\ share\\ some\\ path" );
116- assertThat (options .getBinary ())
117- .extracting (FirefoxBinary ::getFile )
118- .extracting (String ::valueOf )
119- .isEqualTo ("\\ \\ server\\ share\\ some\\ path" );
120- }
121-
122- @ Test
123- void shouldKeepAFirefoxBinaryAsABinaryIfSetAsOne () throws IOException {
124- File fakeExecutable = Files .createTempFile ("firefox" , ".exe" ).toFile ();
125- fakeExecutable .deleteOnExit ();
126- FirefoxBinary binary = new FirefoxBinary (fakeExecutable );
127- FirefoxOptions options = new FirefoxOptions ().setBinary (binary );
128- assertThat (options .getBinary ().getFile ()).isEqualTo (binary .getFile ());
129- }
130-
13188 @ Test
13289 void stringBasedBinaryRemainsAbsoluteIfSetAsAbsolute () {
13390 Map <String , Object > json = new FirefoxOptions ().setBinary ("/i/like/cheese" ).asMap ();
@@ -147,28 +104,6 @@ void pathBasedBinaryRemainsAbsoluteIfSetAsAbsolute() {
147104 .containsEntry ("binary" , path );
148105 }
149106
150- @ Test
151- void shouldPickUpBinaryFromSystemPropertyIfSet () throws IOException {
152- JreSystemProperty property = new JreSystemProperty (BROWSER_BINARY );
153-
154- Path binary = Files .createTempFile ("firefox" , ".exe" );
155- try (OutputStream ignored = Files .newOutputStream (binary , DELETE_ON_CLOSE )) {
156- Files .write (binary , "" .getBytes ());
157- if (!TestUtilities .getEffectivePlatform ().is (Platform .WINDOWS )) {
158- Files .setPosixFilePermissions (binary , singleton (PosixFilePermission .OWNER_EXECUTE ));
159- }
160- property .set (binary .toString ());
161- FirefoxOptions options = new FirefoxOptions ().configureFromEnv ();
162-
163- FirefoxBinary firefoxBinary =
164- options .getBinaryOrNull ().orElseThrow (() -> new AssertionError ("No binary" ));
165-
166- assertThat (firefoxBinary .getPath ()).isEqualTo (binary .toString ());
167- } finally {
168- property .reset ();
169- }
170- }
171-
172107 @ Test
173108 void shouldPickUpProfileFromSystemProperty () {
174109 FirefoxProfile defaultProfile = new ProfilesIni ().getProfile ("default" );
0 commit comments