@@ -86,209 +86,134 @@ protected function create_quiz_and_attempt_with_layout($layout) {
8686 */
8787 public function test_attempt_url () {
8888 $ attempt = $ this ->create_quiz_and_attempt_with_layout ('1,2,0,3,4,0,5,6,0 ' );
89+
8990 $ attemptid = $ attempt ->get_attempt ()->id ;
9091 $ cmid = $ attempt ->get_cmid ();
92+ $ url = '/mod/quiz/attempt.php ' ;
93+ $ params = ['attempt ' => $ attemptid , 'cmid ' => $ cmid , 'page ' => 2 ];
9194
92- $ this ->assertEquals (new moodle_url (
93- '/mod/quiz/attempt.php?attempt= ' . $ attemptid . '&page=2&cmid= ' . $ cmid ),
94- $ attempt ->attempt_url (null , 2 ));
95+ $ this ->assertEquals (new moodle_url ($ url , $ params ), $ attempt ->attempt_url (null , 2 ));
9596
96- $ this ->assertEquals (new moodle_url (
97- '/mod/quiz/attempt.php?attempt= ' . $ attemptid . '&page=1&cmid= ' . $ cmid . '# ' ),
98- $ attempt ->attempt_url (3 ));
97+ $ params ['page ' ] = 1 ;
98+ $ this ->assertEquals (new moodle_url ($ url , $ params ), $ attempt ->attempt_url (3 ));
9999
100100 $ questionattempt = $ attempt ->get_question_attempt (4 );
101- $ expecteanchor = '# ' . $ questionattempt ->get_outer_question_div_unique_id ();
102- $ this ->assertEquals (new moodle_url (
103- '/mod/quiz/attempt.php?attempt= ' . $ attemptid . '&page=1&cmid= ' . $ cmid . $ expecteanchor ),
104- $ attempt ->attempt_url (4 ));
105-
106- $ this ->assertEquals (new moodle_url (
107- '# ' ),
108- $ attempt ->attempt_url (null , 2 , 2 ));
101+ $ expecteanchor = $ questionattempt ->get_outer_question_div_unique_id ();
102+ $ this ->assertEquals (new moodle_url ($ url , $ params , $ expecteanchor ), $ attempt ->attempt_url (4 ));
109103
110- $ this ->assertEquals (new moodle_url (
111- '# ' ),
112- $ attempt ->attempt_url (3 , -1 , 1 ));
104+ $ this ->assertEquals (new moodle_url ('# ' ), $ attempt ->attempt_url (null , 2 , 2 ));
105+ $ this ->assertEquals (new moodle_url ('# ' ), $ attempt ->attempt_url (3 , -1 , 1 ));
113106
114107 $ questionattempt = $ attempt ->get_question_attempt (4 );
115- $ expecteanchor = ' # ' . $ questionattempt ->get_outer_question_div_unique_id ();
116- $ this ->assertEquals (new moodle_url ($ expecteanchor ), $ attempt ->attempt_url (4 , -1 , 1 ));
108+ $ expecteanchor = $ questionattempt ->get_outer_question_div_unique_id ();
109+ $ this ->assertEquals (new moodle_url (null , null , $ expecteanchor, null ), $ attempt ->attempt_url (4 , -1 , 1 ));
117110
118111 // Summary page.
119- $ this -> assertEquals ( new moodle_url (
120- ' /mod/quiz/summary.php?attempt= ' . $ attemptid . ' &cmid= ' . $ cmid ),
121- $ attempt ->summary_url ());
112+ $ url = ' /mod/quiz/summary.php ' ;
113+ unset( $ params [ ' page ' ]);
114+ $ this -> assertEquals ( new moodle_url ( $ url , $ params ), $ attempt ->summary_url ());
122115
123116 // Review page.
124- $ this ->assertEquals (new moodle_url (
125- '/mod/quiz/review.php?attempt= ' . $ attemptid . '&cmid= ' . $ cmid ),
126- $ attempt ->review_url ());
127-
128- $ this ->assertEquals (new moodle_url (
129- '/mod/quiz/review.php?attempt= ' . $ attemptid . '&page=2&cmid= ' . $ cmid ),
130- $ attempt ->review_url (null , 2 ));
131-
132- $ this ->assertEquals (new moodle_url (
133- '/mod/quiz/review.php?attempt= ' . $ attemptid . '&page=1&cmid= ' . $ cmid ),
134- $ attempt ->review_url (3 , -1 , false ));
135-
136- $ this ->assertEquals (new moodle_url (
137- '/mod/quiz/review.php?attempt= ' . $ attemptid . '&page=1&cmid= ' . $ cmid . $ expecteanchor ),
138- $ attempt ->review_url (4 , -1 , false ));
139-
140- $ this ->assertEquals (new moodle_url (
141- '/mod/quiz/review.php?attempt= ' . $ attemptid . '&cmid= ' . $ cmid ),
142- $ attempt ->review_url (null , 2 , true ));
143-
144- $ this ->assertEquals (new moodle_url (
145- '/mod/quiz/review.php?attempt= ' . $ attemptid . '&cmid= ' . $ cmid ),
146- $ attempt ->review_url (1 , -1 , true ));
117+ $ url = '/mod/quiz/review.php ' ;
118+ $ this ->assertEquals (new moodle_url ($ url , $ params ), $ attempt ->review_url ());
147119
148- $ this -> assertEquals ( new moodle_url (
149- ' /mod/quiz/review.php? attempt= ' . $ attemptid . ' &page=2&cmid= ' . $ cmid ),
150- $ attempt ->review_url (null , 2 , false ));
120+ $ params [ ' page ' ] = 1 ;
121+ $ this -> assertEquals ( new moodle_url ( $ url , $ params ), $ attempt-> review_url ( 3 , - 1 , false ));
122+ $ this -> assertEquals ( new moodle_url ( $ url , $ params , $ expecteanchor ), $ attempt ->review_url (4 , - 1 , false ));
151123
152- $ this -> assertEquals ( new moodle_url (
153- ' /mod/quiz/review.php? attempt= ' . $ attemptid . ' &showall=0&cmid= ' . $ cmid ),
154- $ attempt ->review_url (null , 0 , false ));
124+ unset( $ params [ ' page ' ]);
125+ $ this -> assertEquals ( new moodle_url ( $ url , $ params ), $ attempt-> review_url ( null , 2 , true ));
126+ $ this -> assertEquals ( new moodle_url ( $ url , $ params ), $ attempt ->review_url (1 , - 1 , true ));
155127
156- $ this -> assertEquals ( new moodle_url (
157- ' /mod/quiz/review.php? attempt= ' . $ attemptid . ' &showall=0&cmid= ' . $ cmid ),
158- $ attempt -> review_url ( 1 , - 1 , false ) );
128+ $ params [ ' page ' ] = 2 ;
129+ $ this -> assertEquals ( new moodle_url ( $ url , $ params ), $ attempt-> review_url ( null , 2 , false ));
130+ unset( $ params [ ' page ' ] );
159131
160- $ this -> assertEquals ( new moodle_url (
161- ' /mod/quiz/review.php? attempt= ' . $ attemptid . ' &page=1&cmid= ' . $ cmid ),
162- $ attempt ->review_url (3 , -1 , false ));
132+ $ params [ ' showall ' ] = 0 ;
133+ $ this -> assertEquals ( new moodle_url ( $ url , $ params ), $ attempt-> review_url ( null , 0 , false ));
134+ $ this -> assertEquals ( new moodle_url ( $ url , $ params ), $ attempt ->review_url (1 , -1 , false ));
163135
164- $ this -> assertEquals ( new moodle_url (
165- ' /mod/quiz/review.php?attempt= ' . $ attemptid . ' &page=2&cmid= ' . $ cmid ),
166- $ attempt ->review_url (null , 2 ));
136+ $ params [ ' page ' ] = 1 ;
137+ unset( $ params [ ' showall ' ]);
138+ $ this -> assertEquals ( new moodle_url ( $ url , $ params ), $ attempt ->review_url (3 , - 1 , false ));
167139
140+ $ params ['page ' ] = 2 ;
141+ $ this ->assertEquals (new moodle_url ($ url , $ params ), $ attempt ->review_url (null , 2 ));
168142 $ this ->assertEquals (new moodle_url ('# ' ), $ attempt ->review_url (null , -1 , null , 0 ));
169143
170-
171144 $ questionattempt = $ attempt ->get_question_attempt (3 );
172145 $ expecteanchor = '# ' . $ questionattempt ->get_outer_question_div_unique_id ();
173146 $ this ->assertEquals (new moodle_url ($ expecteanchor ), $ attempt ->review_url (3 , -1 , null , 0 ));
174147
175148 $ questionattempt = $ attempt ->get_question_attempt (4 );
176149 $ expecteanchor = '# ' . $ questionattempt ->get_outer_question_div_unique_id ();
177- $ this ->assertEquals (new moodle_url ( $ expecteanchor ), $ attempt ->review_url (4 , -1 , null , 0 ));
178-
179- $ this ->assertEquals (new moodle_url ('# ' ),
180- $ attempt ->review_url (null , 2 , true , 0 ));
181-
182- $ this ->assertEquals (new moodle_url (
183- '# ' ),
184- $ attempt ->review_url (1 , -1 , true , 0 ));
185-
186- $ this ->assertEquals (new moodle_url (
187- '/mod/quiz/review.php?attempt= ' . $ attemptid . '&page=2&cmid= ' . $ cmid ),
188- $ attempt ->review_url (null , 2 , false , 0 ));
189-
190- $ this ->assertEquals (new moodle_url (
191- '# ' ),
192- $ attempt ->review_url (null , 0 , false , 0 ));
193-
194- $ this ->assertEquals (new moodle_url (
195- '# ' ),
196- $ attempt ->review_url (1 , -1 , false , 0 ));
150+ $ this ->assertEquals (new moodle_url ($ expecteanchor ), $ attempt ->review_url (4 , -1 , null , 0 ));
151+ $ this ->assertEquals (new moodle_url ('# ' ), $ attempt ->review_url (null , 2 , true , 0 ));
152+ $ this ->assertEquals (new moodle_url ('# ' ), $ attempt ->review_url (1 , -1 , true , 0 ));
153+ $ this ->assertEquals (new moodle_url ($ url , $ params ), $ attempt ->review_url (null , 2 , false , 0 ));
154+ $ this ->assertEquals (new moodle_url ('# ' ), $ attempt ->review_url (null , 0 , false , 0 ));
155+ $ this ->assertEquals (new moodle_url ('# ' ), $ attempt ->review_url (1 , -1 , false , 0 ));
197156
198- $ this ->assertEquals (new moodle_url (
199- '/mod/quiz/review.php?attempt= ' . $ attemptid . '&page=1&cmid= ' . $ cmid ),
200- $ attempt ->review_url (3 , -1 , false , 0 ));
157+ $ params ['page ' ] = 1 ;
158+ $ this ->assertEquals (new moodle_url ($ url , $ params ), $ attempt ->review_url (3 , -1 , false , 0 ));
201159
202160 // Setup another attempt.
203161 $ attempt = $ this ->create_quiz_and_attempt_with_layout (
204162 '1,2,3,4,5,6,7,8,9,10,0,11,12,13,14,15,16,17,18,19,20,0, ' .
205163 '21,22,23,24,25,26,27,28,29,30,0,31,32,33,34,35,36,37,38,39,40,0, ' .
206164 '41,42,43,44,45,46,47,48,49,50,0,51,52,53,54,55,56,57,58,59,60,0 ' );
165+
207166 $ attemptid = $ attempt ->get_attempt ()->id ;
208167 $ cmid = $ attempt ->get_cmid ();
168+ $ params = ['attempt ' => $ attemptid , 'cmid ' => $ cmid ];
169+ $ this ->assertEquals (new moodle_url ($ url , $ params ), $ attempt ->review_url ());
209170
210- $ this ->assertEquals (new moodle_url (
211- '/mod/quiz/review.php?attempt= ' . $ attemptid . '&cmid= ' . $ cmid ),
212- $ attempt ->review_url ());
213-
214- $ this ->assertEquals (new moodle_url (
215- '/mod/quiz/review.php?attempt= ' . $ attemptid . '&page=2&cmid= ' . $ cmid ),
216- $ attempt ->review_url (null , 2 ));
217-
218- $ this ->assertEquals (new moodle_url (
219- '/mod/quiz/review.php?attempt= ' . $ attemptid . '&page=1&cmid= ' . $ cmid . '# ' ),
220- $ attempt ->review_url (11 , -1 , false ));
171+ $ params ['page ' ] = 2 ;
172+ $ this ->assertEquals (new moodle_url ($ url , $ params ), $ attempt ->review_url (null , 2 ));
221173
174+ $ params ['page ' ] = 1 ;
175+ unset($ params ['showall ' ]);
176+ $ this ->assertEquals (new moodle_url ($ url , $ params ), $ attempt ->review_url (11 , -1 , false ));
222177
223178 $ questionattempt = $ attempt ->get_question_attempt (12 );
224- $ expecteanchor = '# ' . $ questionattempt ->get_outer_question_div_unique_id ();
225- $ this ->assertEquals (new moodle_url (
226- '/mod/quiz/review.php?attempt= ' . $ attemptid . '&page=1&cmid= ' . $ cmid . $ expecteanchor ),
227- $ attempt ->review_url (12 , -1 , false ));
228-
229- $ this ->assertEquals (new moodle_url (
230- '/mod/quiz/review.php?attempt= ' . $ attemptid . '&showall=1&cmid= ' . $ cmid ),
231- $ attempt ->review_url (null , 2 , true ));
232-
233- $ this ->assertEquals (new moodle_url (
234- '/mod/quiz/review.php?attempt= ' . $ attemptid . '&showall=1&cmid= ' . $ cmid ),
235- $ attempt ->review_url (1 , -1 , true ));
236-
237- $ this ->assertEquals (new moodle_url (
238- '/mod/quiz/review.php?attempt= ' . $ attemptid . '&page=2&cmid= ' . $ cmid ),
239- $ attempt ->review_url (null , 2 , false ));
240-
241- $ this ->assertEquals (new moodle_url (
242- '/mod/quiz/review.php?attempt= ' . $ attemptid . '&cmid= ' . $ cmid ),
243- $ attempt ->review_url (null , 0 , false ));
244-
245- $ this ->assertEquals (new moodle_url (
246- '/mod/quiz/review.php?attempt= ' . $ attemptid . '&page=1&cmid= ' . $ cmid ),
247- $ attempt ->review_url (11 , -1 , false ));
248-
249- $ this ->assertEquals (new moodle_url (
250- '/mod/quiz/review.php?attempt= ' . $ attemptid . '&page=1&cmid= ' . $ cmid . $ expecteanchor ),
251- $ attempt ->review_url (12 , -1 , false ));
252-
253- $ this ->assertEquals (new moodle_url (
254- '/mod/quiz/review.php?attempt= ' . $ attemptid . '&page=2&cmid= ' . $ cmid ),
255- $ attempt ->review_url (null , 2 ));
256-
257- $ this ->assertEquals (new moodle_url (
258- '# ' ),
259- $ attempt ->review_url (null , -1 , null , 0 ));
179+ $ expecteanchor = $ questionattempt ->get_outer_question_div_unique_id ();
180+ $ this ->assertEquals (new moodle_url ($ url , $ params , $ expecteanchor ), $ attempt ->review_url (12 , -1 , false ));
181+
182+ $ params ['showall ' ] = 1 ;
183+ unset($ params ['page ' ]);
184+ $ this ->assertEquals (new moodle_url ($ url , $ params ), $ attempt ->review_url (null , 2 , true ));
185+
186+ $ this ->assertEquals (new moodle_url ($ url , $ params ), $ attempt ->review_url (1 , -1 , true ));
187+ $ params ['page ' ] = 2 ;
188+ unset($ params ['showall ' ]);
189+ $ this ->assertEquals (new moodle_url ($ url , $ params ), $ attempt ->review_url (null , 2 , false ));
190+ unset($ params ['page ' ]);
191+ $ this ->assertEquals (new moodle_url ($ url , $ params ), $ attempt ->review_url (null , 0 , false ));
192+ $ params ['page ' ] = 1 ;
193+ $ this ->assertEquals (new moodle_url ($ url , $ params ), $ attempt ->review_url (11 , -1 , false ));
194+ $ this ->assertEquals (new moodle_url ($ url , $ params , $ expecteanchor ), $ attempt ->review_url (12 , -1 , false ));
195+ $ params ['page ' ] = 2 ;
196+ $ this ->assertEquals (new moodle_url ($ url , $ params ), $ attempt ->review_url (null , 2 ));
197+ $ this ->assertEquals (new moodle_url ('# ' ), $ attempt ->review_url (null , -1 , null , 0 ));
260198
261199 $ questionattempt = $ attempt ->get_question_attempt (3 );
262- $ expecteanchor = ' # ' . $ questionattempt ->get_outer_question_div_unique_id ();
263- $ this ->assertEquals (new moodle_url ($ expecteanchor ), $ attempt ->review_url (3 , -1 , null , 0 ));
200+ $ expecteanchor = $ questionattempt ->get_outer_question_div_unique_id ();
201+ $ this ->assertEquals (new moodle_url (null , null , $ expecteanchor ), $ attempt ->review_url (3 , -1 , null , 0 ));
264202
265203 $ questionattempt = $ attempt ->get_question_attempt (4 );
266- $ expecteanchor = '# ' . $ questionattempt ->get_outer_question_div_unique_id ();
267- $ this ->assertEquals (new moodle_url ($ expecteanchor ), $ attempt ->review_url (4 , -1 , null , 0 ));
268-
269- $ this ->assertEquals (new moodle_url (
270- '# ' ),
271- $ attempt ->review_url (null , 2 , true , 0 ));
272-
273- $ this ->assertEquals (new moodle_url (
274- '# ' ),
275- $ attempt ->review_url (1 , -1 , true , 0 ));
276-
277- $ this ->assertEquals (new moodle_url (
278- '/mod/quiz/review.php?attempt= ' . $ attemptid . '&page=2&cmid= ' . $ cmid ),
279- $ attempt ->review_url (null , 2 , false , 0 ));
204+ $ expecteanchor = $ questionattempt ->get_outer_question_div_unique_id ();
205+ $ this ->assertEquals (new moodle_url (null , null , $ expecteanchor ), $ attempt ->review_url (4 , -1 , null , 0 ));
280206
281- $ this ->assertEquals (new moodle_url (
282- '# ' ),
283- $ attempt ->review_url (null , 0 , false , 0 ));
207+ $ this ->assertEquals (new moodle_url ('# ' ), $ attempt ->review_url (null , 2 , true , 0 ));
208+ $ this ->assertEquals (new moodle_url ('# ' ), $ attempt ->review_url (1 , -1 , true , 0 ));
284209
285- $ this ->assertEquals (new moodle_url (
286- '# ' ),
287- $ attempt ->review_url (1 , -1 , false , 0 ));
210+ $ params ['page ' ] = 2 ;
211+ $ this ->assertEquals (new moodle_url ($ url , $ params ), $ attempt ->review_url (null , 2 , false , 0 ));
212+ $ this ->assertEquals (new moodle_url ('# ' ), $ attempt ->review_url (null , 0 , false , 0 ));
213+ $ this ->assertEquals (new moodle_url ('# ' ), $ attempt ->review_url (1 , -1 , false , 0 ));
288214
289- $ this ->assertEquals (new moodle_url (
290- '/mod/quiz/review.php?attempt= ' . $ attemptid . '&page=1&cmid= ' . $ cmid . '# ' ),
291- $ attempt ->review_url (11 , -1 , false , 0 ));
215+ $ params ['page ' ] = 1 ;
216+ $ this ->assertEquals (new moodle_url ($ url , $ params ), $ attempt ->review_url (11 , -1 , false , 0 ));
292217 }
293218
294219 public function test_is_participant () {
0 commit comments