@@ -44,7 +44,7 @@ public class PermissionsTest extends JupiterTestBase {
4444 "() => {return navigator.permissions.query({ name: 'geolocation' })"
4545 + ".then(val => val.state, err => err.message)}" ;
4646 private static final String GET_ORIGIN = "() => {return window.location.origin;}" ;
47-
47+
4848 @ BeforeEach
4949 public void setUp () {
5050 permission = new Permission (driver );
@@ -53,24 +53,11 @@ public void setUp() {
5353
5454 @ Test
5555 @ NeedsFreshDriver
56- public void canSetPermissionToGranted () {
56+ public void canSetPermission () {
5757 driver .get (new Pages (appServer ).blankPage );
5858
5959 String windowHandle = driver .getWindowHandle ();
6060
61- EvaluateResult initialPermission =
62- script .callFunctionInBrowsingContext (
63- windowHandle ,
64- GET_GEOLOCATION_PERMISSION ,
65- true ,
66- Optional .empty (),
67- Optional .empty (),
68- Optional .empty ());
69-
70- String initialPermissionValue =
71- (String ) ((EvaluateResultSuccess ) initialPermission ).getResult ().getValue ().get ();
72- assertThat (initialPermissionValue ).isEqualTo ("prompt" );
73-
7461 EvaluateResult origin =
7562 script .callFunctionInBrowsingContext (
7663 windowHandle , GET_ORIGIN , true , Optional .empty (), Optional .empty (), Optional .empty ());
@@ -90,37 +77,10 @@ public void canSetPermissionToGranted() {
9077
9178 String resultValue = (String ) ((EvaluateResultSuccess ) result ).getResult ().getValue ().get ();
9279 assertThat (resultValue ).isEqualTo ("granted" );
93- }
94-
95- @ Test
96- @ NeedsFreshDriver
97- public void canSetPermissionToDenied () {
98- driver .get (new Pages (appServer ).blankPage );
99-
100- String windowHandle = driver .getWindowHandle ();
101-
102- EvaluateResult initialPermission =
103- script .callFunctionInBrowsingContext (
104- windowHandle ,
105- GET_GEOLOCATION_PERMISSION ,
106- true ,
107- Optional .empty (),
108- Optional .empty (),
109- Optional .empty ());
110-
111- String initialPermissionValue =
112- (String ) ((EvaluateResultSuccess ) initialPermission ).getResult ().getValue ().get ();
113- assertThat (initialPermissionValue ).isEqualTo ("prompt" );
114-
115- EvaluateResult origin =
116- script .callFunctionInBrowsingContext (
117- windowHandle , GET_ORIGIN , true , Optional .empty (), Optional .empty (), Optional .empty ());
118-
119- String originValue = (String ) ((EvaluateResultSuccess ) origin ).getResult ().getValue ().get ();
12080
12181 permission .setPermission (Map .of ("name" , "geolocation" ), PermissionState .DENIED , originValue );
12282
123- EvaluateResult result =
83+ result =
12484 script .callFunctionInBrowsingContext (
12585 windowHandle ,
12686 GET_GEOLOCATION_PERMISSION ,
@@ -129,28 +89,12 @@ public void canSetPermissionToDenied() {
12989 Optional .empty (),
13090 Optional .empty ());
13191
132- String resultValue = (String ) ((EvaluateResultSuccess ) result ).getResult ().getValue ().get ();
92+ resultValue = (String ) ((EvaluateResultSuccess ) result ).getResult ().getValue ().get ();
13393 assertThat (resultValue ).isEqualTo ("denied" );
134- }
135-
136- @ Test
137- @ NeedsFreshDriver
138- public void canSetPermissionToPrompt () {
139- driver .get (new Pages (appServer ).blankPage );
140-
141- String windowHandle = driver .getWindowHandle ();
142-
143- EvaluateResult origin =
144- script .callFunctionInBrowsingContext (
145- windowHandle , GET_ORIGIN , true , Optional .empty (), Optional .empty (), Optional .empty ());
146-
147- String originValue = (String ) ((EvaluateResultSuccess ) origin ).getResult ().getValue ().get ();
148-
149- permission .setPermission (Map .of ("name" , "geolocation" ), PermissionState .DENIED , originValue );
15094
15195 permission .setPermission (Map .of ("name" , "geolocation" ), PermissionState .PROMPT , originValue );
15296
153- EvaluateResult result =
97+ result =
15498 script .callFunctionInBrowsingContext (
15599 windowHandle ,
156100 GET_GEOLOCATION_PERMISSION ,
@@ -159,7 +103,7 @@ public void canSetPermissionToPrompt() {
159103 Optional .empty (),
160104 Optional .empty ());
161105
162- String resultValue = (String ) ((EvaluateResultSuccess ) result ).getResult ().getValue ().get ();
106+ resultValue = (String ) ((EvaluateResultSuccess ) result ).getResult ().getValue ().get ();
163107 assertThat (resultValue ).isEqualTo ("prompt" );
164108 }
165109
@@ -189,21 +133,11 @@ public void canSetPermissionForAUserContext() {
189133 originalTab , GET_ORIGIN , true , Optional .empty (), Optional .empty (), Optional .empty ());
190134
191135 String originValue = (String ) ((EvaluateResultSuccess ) origin ).getResult ().getValue ().get ();
192-
193- EvaluateResult originalTabPermission =
194- script .callFunctionInBrowsingContext (
195- originalTab ,
196- GET_GEOLOCATION_PERMISSION ,
197- true ,
198- Optional .empty (),
199- Optional .empty (),
200- Optional .empty ());
201-
202- String originalTabPermissionValue =
203- (String ) ((EvaluateResultSuccess ) originalTabPermission ).getResult ().getValue ().get ();
204- assertThat (originalTabPermissionValue ).isEqualTo ("prompt" );
205-
206- EvaluateResult newTabPermission =
136+
137+ permission .setPermission (
138+ Map .of ("name" , "geolocation" ), PermissionState .GRANTED , originValue , userContext );
139+
140+ EvaluateResult newTabUpdatedPermission =
207141 script .callFunctionInBrowsingContext (
208142 newTab ,
209143 GET_GEOLOCATION_PERMISSION ,
@@ -212,37 +146,26 @@ public void canSetPermissionForAUserContext() {
212146 Optional .empty (),
213147 Optional .empty ());
214148
215- String newTabPermissionValue =
216- (String ) ((EvaluateResultSuccess ) newTabPermission ).getResult ().getValue ().get ();
217- assertThat (newTabPermissionValue ).isEqualTo ("prompt" );
218-
219- permission .setPermission (
220- Map .of ("name" , "geolocation" ), PermissionState .GRANTED , originValue , userContext );
149+ String newTabUpdatedPermissionValue =
150+ (String ) ((EvaluateResultSuccess ) newTabUpdatedPermission ).getResult ().getValue ().get ();
151+ assertThat (newTabUpdatedPermissionValue ).isEqualTo ("granted" );
221152
222- EvaluateResult originalTabUpdatedPermission =
223- script .callFunctionInBrowsingContext (
224- originalTab ,
225- GET_GEOLOCATION_PERMISSION ,
226- true ,
227- Optional .empty (),
228- Optional .empty (),
229- Optional .empty ());
153+ BrowsingContext context3 =
154+ new BrowsingContext (
155+ this .driver , new CreateContextParameters (WindowType .TAB ).userContext (userContext ));
230156
231- String originalTabUpdatedPermissionValue =
232- (String )
233- ((EvaluateResultSuccess ) originalTabUpdatedPermission ).getResult ().getValue ().get ();
234- assertThat (originalTabUpdatedPermissionValue ).isEqualTo ("prompt" );
157+ context3 .navigate (url , ReadinessState .COMPLETE );
235158
236- EvaluateResult newTabUpdatedPermission =
159+ newTabUpdatedPermission =
237160 script .callFunctionInBrowsingContext (
238- newTab ,
161+ context3 . getId () ,
239162 GET_GEOLOCATION_PERMISSION ,
240163 true ,
241164 Optional .empty (),
242165 Optional .empty (),
243166 Optional .empty ());
244167
245- String newTabUpdatedPermissionValue =
168+ newTabUpdatedPermissionValue =
246169 (String ) ((EvaluateResultSuccess ) newTabUpdatedPermission ).getResult ().getValue ().get ();
247170 assertThat (newTabUpdatedPermissionValue ).isEqualTo ("granted" );
248171 }
0 commit comments