Revert "Merge branch 'wip-mdl-48624-m' of https://github.com/rajeshtaneja/moodle"

This reverts commit e08f58288af17bea8d55b66dae697d9d917053f4, reversing
changes made to 782ea98c59945864cfcc3ab44a6f17d49a9ed39f.
This commit is contained in:
Andrew Nicols 2015-01-22 12:13:35 +08:00
parent a82d1fc4be
commit 1cb5f61213
5 changed files with 38 additions and 67 deletions

View File

@ -1220,20 +1220,7 @@ class behat_general extends behat_base {
* @param number $expectedsize the expected file size in bytes.
*/
public function following_should_download_bytes($link, $expectedsize) {
$exception = new ExpectationException('Error while downloading data from ' . $link, $this->getSession());
// It will stop spinning once file is downloaded or time out.
$result = $this->spin(
function($context, $args) {
$link = $args['link'];
return $this->download_file_from_link($link);
},
array('link' => $link),
self::EXTENDED_TIMEOUT,
$exception
);
// Check download size.
$result = $this->download_file_from_link($link);
$actualsize = (int)strlen($result);
if ($actualsize !== (int)$expectedsize) {
throw new ExpectationException('Downloaded data was ' . $actualsize .
@ -1262,21 +1249,7 @@ class behat_general extends behat_base {
list($minexpectedsize, $maxexpectedsize) = array($maxexpectedsize, $minexpectedsize);
}
$exception = new ExpectationException('Error while downloading data from ' . $link, $this->getSession());
// It will stop spinning once file is downloaded or time out.
$result = $this->spin(
function($context, $args) {
$link = $args['link'];
return $this->download_file_from_link($link);
},
array('link' => $link),
self::EXTENDED_TIMEOUT,
$exception
);
// Check download size.
$result = $this->download_file_from_link($link);
$actualsize = (int)strlen($result);
if ($actualsize < $minexpectedsize || $actualsize > $maxexpectedsize) {
throw new ExpectationException('Downloaded data was ' . $actualsize .

View File

@ -51,40 +51,32 @@ class behat_workshopallocation_manual extends behat_base {
* @param string $participantname
*/
public function i_add_a_reviewer_for_workshop_participant($reviewername, $participantname) {
// It will stop spinning once all reviewer for workshop participants are added or it time out.
$this->spin(
function($context, $args) {
$participantnameliteral = $this->getSession()->getSelectorsHandler()->xpathLiteral($args['participantname']);
$xpathtd = "//table[contains(concat(' ', normalize-space(@class), ' '), ' allocations ')]/".
"tbody/tr[./td[contains(concat(' ', normalize-space(@class), ' '), ' peer ')]".
"[contains(.,$participantnameliteral)]]/".
"td[contains(concat(' ', normalize-space(@class), ' '), ' reviewedby ')]";
$xpathselect = $xpathtd . "/descendant::select";
try {
$selectnode = $this->find('xpath', $xpathselect);
} catch (Exception $ex) {
$this->find_button(get_string('showallparticipants', 'workshopallocation_manual'))->press();
$selectnode = $this->find('xpath', $xpathselect);
}
$participantnameliteral = $this->getSession()->getSelectorsHandler()->xpathLiteral($participantname);
$xpathtd = "//table[contains(concat(' ', normalize-space(@class), ' '), ' allocations ')]/".
"tbody/tr[./td[contains(concat(' ', normalize-space(@class), ' '), ' peer ')]".
"[contains(.,$participantnameliteral)]]/".
"td[contains(concat(' ', normalize-space(@class), ' '), ' reviewedby ')]";
$xpathselect = $xpathtd . "/descendant::select";
try {
$selectnode = $this->find('xpath', $xpathselect);
} catch (Exception $ex) {
$this->find_button(get_string('showallparticipants', 'workshopallocation_manual'))->press();
$selectnode = $this->find('xpath', $xpathselect);
}
$selectid = $selectnode->getAttribute('id');
$selectformfield = behat_field_manager::get_form_field($selectnode, $this->getSession());
$selectformfield->set_value($reviewername);
$selectformfield = behat_field_manager::get_form_field($selectnode, $this->getSession());
$selectformfield->set_value($args['reviewername']);
if (!$this->running_javascript()) {
// Without Javascript we need to press the "Go" button.
$go = $this->getSession()->getSelectorsHandler()->xpathLiteral(get_string('go'));
$this->find('xpath', $xpathtd."/descendant::input[@value=$go]")->click();
} else {
// With Javascript we just wait for the page to reload and the success string to appear.
$allocatedtext = $this->getSession()->getSelectorsHandler()->xpathLiteral(
get_string('allocationadded', 'workshopallocation_manual'));
$this->find('xpath', "//*[contains(.,$allocatedtext)]");
}
return true;
},
array('participantname' => $participantname, 'reviewername' => $reviewername),
self::EXTENDED_TIMEOUT
);
if (!$this->running_javascript()) {
// Without Javascript we need to press the "Go" button.
$go = $this->getSession()->getSelectorsHandler()->xpathLiteral(get_string('go'));
$this->find('xpath', $xpathtd."/descendant::input[@value=$go]")->click();
} else {
// With Javascript we just wait for the page to reload and the success string to appear.
$allocatedtext = $this->getSession()->getSelectorsHandler()->xpathLiteral(
get_string('allocationadded', 'workshopallocation_manual'));
$this->find('xpath', "//*[contains(.,$allocatedtext)]");
}
}
/**

View File

@ -73,10 +73,7 @@ if ($from_form = $export_form->get_data()) {
echo get_string('yourfileshoulddownload', 'question', $export_url->out());
echo $OUTPUT->box_end();
// Don't allow force download for behat site, as pop-up can't be handled by selenium.
if (!defined('BEHAT_SITE_RUNNING')) {
$PAGE->requires->js_function_call('document.location.replace', array($export_url->out(false)), false, 1);
}
$PAGE->requires->js_function_call('document.location.replace', array($export_url->out(false)), false, 1);
echo $OUTPUT->continue_button(new moodle_url('edit.php', $thispageurl->params()));
echo $OUTPUT->footer();

View File

@ -34,4 +34,8 @@ Feature: Test importing questions from GIFT format.
And I set the field "id_format_gift" to "1"
And I press "Export questions to file"
And following "click here" should download between "1550" and "1650" bytes
# If the download step is the last in the scenario then we can sometimes run
# into the situation where the download page causes a http redirect but behat
# has already conducted its reset (generating an error). By putting a logout
# step we avoid behat doing the reset until we are off that page.
And I log out

View File

@ -36,6 +36,11 @@ Feature: Test importing questions from Moodle XML format.
And I set the field "id_format_xml" to "1"
And I press "Export questions to file"
And following "click here" should download between "57000" and "58000" bytes
# If the download step is the last in the scenario then we can sometimes run
# into the situation where the download page causes a http redirect but behat
# has already conducted its reset (generating an error). By putting a logout
# step we avoid behat doing the reset until we are off that page.
And I log out
@javascript @_file_upload
Scenario: import some multiple choice questions from Moodle XML format