. /** * Unit tests for /lib/formslib.php. * * @package file * @copyright 2011 Sam Hemelryk * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ if (!defined('MOODLE_INTERNAL')) { die('Direct access to this script is forbidden.'); /// It must be included from a Moodle page } require_once($CFG->libdir . '/formslib.php'); class formslib_test extends UnitTestCase { public function test_require_rule() { global $CFG; $strictformsrequired = false; if (!empty($CFG->strictformsrequired)) { $strictformsrequired = $CFG->strictformsrequired; } $rule = new MoodleQuickForm_Rule_Required(); // First run the tests with strictformsrequired off $CFG->strictformsrequired = false; // Passes $this->assertTrue($rule->validate('Something')); $this->assertTrue($rule->validate("Something\nmore")); $this->assertTrue($rule->validate("\nmore")); $this->assertTrue($rule->validate(" more ")); $this->assertTrue($rule->validate("0")); $this->assertTrue($rule->validate(0)); $this->assertTrue($rule->validate(true)); $this->assertTrue($rule->validate(' ')); $this->assertTrue($rule->validate(' ')); $this->assertTrue($rule->validate("\t")); $this->assertTrue($rule->validate("\n")); $this->assertTrue($rule->validate("\r")); $this->assertTrue($rule->validate("\r\n")); $this->assertTrue($rule->validate(" \t \n \r ")); $this->assertTrue($rule->validate('
')); $this->assertTrue($rule->validate('')); $this->assertTrue($rule->validate('
x
')); $this->assertTrue($rule->validate('
'));
$this->assertTrue($rule->validate('
'));
$this->assertTrue($rule->validate('
'));
$this->assertTrue($rule->validate('x
')); $this->assertTrue($rule->validate('
'));
$this->assertTrue($rule->validate('
'));
$this->assertTrue($rule->validate('
'));
$this->assertTrue($rule->validate('')); $this->assertFalse($rule->validate('