Skip to content

Commit

Permalink
MDL-70148 qtype: Update qtype steps to new key interaction
Browse files Browse the repository at this point in the history
Note: The ddmarker question type was previously getting the number of
keypresses wrong. This was because it was using both keyDown/keyUp, and
also keyPress. As a result each keypress was essentially happening two
times.
  • Loading branch information
andrewnicols committed Nov 17, 2020
1 parent 33b875c commit d22e6dc
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 15 deletions.
Expand Up @@ -78,10 +78,11 @@ public function i_drag_to_place_in_the_drag_and_drop_onto_image_question($dragit
public function i_type_on_place_in_the_drag_and_drop_onto_image_question($keys, $placenumber) {
$node = $this->get_selected_node('xpath_element', $this->drop_xpath($placenumber));
$this->ensure_node_is_visible($node);

$node->focus();
foreach (str_split($keys) as $key) {
$node->keyDown($key);
$node->keyPress($key);
$node->keyUp($key);
behat_base::type_keys($this->getSession(), [$key]);
$this->wait_for_pending_js();
}
}
}
11 changes: 2 additions & 9 deletions question/type/ddmarker/tests/behat/behat_qtype_ddmarker.php
Expand Up @@ -107,19 +107,12 @@ public function i_drag_to_in_the_drag_and_drop_markers_question($marker, $coordi
* @Given /^I type "(?P<direction>up|down|left|right)" "(?P<repeats>\d+)" times on marker "(?P<marker>[^"]*)" in the drag and drop markers question$/
*/
public function i_type_on_marker_in_the_drag_and_drop_markers_question($direction, $repeats, $marker) {
$keycodes = array(
'up' => chr(38),
'down' => chr(40),
'left' => chr(37),
'right' => chr(39),
);
list($marker, $item) = $this->parse_marker_name($marker);
$node = $this->get_selected_node('xpath_element', $this->marker_xpath($marker, $item));
$this->ensure_node_is_visible($node);
$node->focus();
for ($i = 0; $i < $repeats; $i++) {
$node->keyDown($keycodes[$direction]);
$node->keyPress($keycodes[$direction]);
$node->keyUp($keycodes[$direction]);
$this->execute('behat_general::i_press_named_key', ['', $direction]);
}
}
}
6 changes: 3 additions & 3 deletions question/type/ddwtos/tests/behat/behat_qtype_ddwtos.php
Expand Up @@ -78,10 +78,10 @@ public function i_drag_to_space_in_the_drag_and_drop_into_text_question($dragite
public function i_type_into_space_in_the_drag_and_drop_into_text_question($keys, $spacenumber) {
$node = $this->get_selected_node('xpath_element', $this->drop_xpath($spacenumber));
$this->ensure_node_is_visible($node);
$node->focus();
foreach (str_split($keys) as $key) {
$node->keyDown($key);
$node->keyPress($key);
$node->keyUp($key);
behat_base::type_keys($this->getSession(), [$key]);
$this->wait_for_pending_js();
}
}
}

0 comments on commit d22e6dc

Please sign in to comment.