1
0
mirror of https://github.com/moodle/moodle.git synced 2025-04-23 09:23:09 +02:00

Merge branch 'MDL-38823_master-fix' of git://github.com/dmonllao/moodle

This commit is contained in:
Damyon Wiese 2013-04-04 10:34:50 +08:00
commit b38f932abf
3 changed files with 65 additions and 6 deletions

@ -126,8 +126,7 @@ class behat_form_field {
$classname = 'behat_form_checkbox';
break;
case 'radio':
// Behaves the same way.
$classname = 'behat_form_checkbox';
$classname = 'behat_form_radio';
break;
default:
return false;
@ -140,6 +139,7 @@ class behat_form_field {
}
$classpath = $CFG->dirroot . '/lib/behat/form_field/' . $classname . '.php';
require_once($classpath);
return new $classname($this->session, $this->field);
}

@ -0,0 +1,59 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Radio input form element.
*
* @package core_form
* @category test
* @copyright 2013 David Monllaó
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
// NOTE: no MOODLE_INTERNAL test here, this file may be required by behat before including /config.php.
require_once(__DIR__ . '/behat_form_checkbox.php');
/**
* Radio input form field.
*
* Extends behat_form_checkbox as the set_value() behaviour
* is the same.
*
* This form field type can be added to forms as any other
* moodle form element, but it does not make sense without
* a group of radio inputs, so is hard to find it alone and
* detect it by behat_form_manager::get_field(), where is useful
* is when the default behat_form_field class is being used, it
* finds a input[type=radio] and it delegates set_value() and
* get_value() to behat_form_radio.
*
* @package core_form
* @category test
* @copyright 2013 David Monllaó
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class behat_form_radio extends behat_form_checkbox {
/**
* Returns the radio input value attribute.
*
* @return string The value attribute
*/
public function get_value() {
return $this->field->getValue();
}
}

@ -47,7 +47,7 @@ Feature: Students can choose from 4 discussion display options and their choice
And I reply "Discussion 2" post from "Test forum name" forum with:
| Subject | Reply 2 to discussion 2 |
| Message | Discussion contents 2, third message |
And the "Display mode" field should match "1" value
And the "Display mode" field should match "Display replies flat, with oldest first" value
And I should see "Discussion contents 2, first message" in the "div.firstpost.starter" "css_element"
And I should see "Discussion contents 2, second message" in the "//div[contains(concat(' ', normalize-space(@class), ' '), ' forumpost ') and not(contains(@class, 'starter'))]" "xpath_element"
@ -62,7 +62,7 @@ Feature: Students can choose from 4 discussion display options and their choice
And I reply "Discussion 2" post from "Test forum name" forum with:
| Subject | Reply 2 to discussion 2 |
| Message | Discussion contents 2, third message |
And the "Display mode" field should match "-1" value
And the "Display mode" field should match "Display replies flat, with newest first" value
And I should see "Discussion contents 2, first message" in the "div.firstpost.starter" "css_element"
And I should see "Discussion contents 2, third message" in the "//div[contains(concat(' ', normalize-space(@class), ' '), ' forumpost ') and not(contains(@class, 'starter'))]" "xpath_element"
@ -75,7 +75,7 @@ Feature: Students can choose from 4 discussion display options and their choice
And I should see "Reply 1 to discussion 1" in the "span.forumthread" "css_element"
And I follow "Test forum name"
And I follow "Discussion 2"
And the "Display mode" field should match "2" value
And the "Display mode" field should match "Display replies in threaded form" value
And I should see "Discussion contents 2, first message"
And I should see "Reply 1 to discussion 2" in the "span.forumthread" "css_element"
@ -88,6 +88,6 @@ Feature: Students can choose from 4 discussion display options and their choice
And I should see "Discussion contents 1, second message" in the "div.indent div.forumpost" "css_element"
And I follow "Test forum name"
And I follow "Discussion 2"
And the "Display mode" field should match "3" value
And the "Display mode" field should match "Display replies in nested form" value
And I should see "Discussion contents 2, first message" in the "div.firstpost.starter" "css_element"
And I should see "Discussion contents 2, second message" in the "div.indent div.forumpost" "css_element"