MDL-32149 some more cleanup and testing of PHPUnit asserts
This commit is contained in:
@@ -14,7 +14,6 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
/**
|
||||
* Unit tests for (some of) ../ajaxlib.php.
|
||||
*
|
||||
@@ -36,7 +35,7 @@ require_once($CFG->libdir . '/ajax/ajaxlib.php');
|
||||
* @copyright 2008 Tim Hunt
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class ajax_test extends UnitTestCase {
|
||||
class ajax_test extends advanced_testcase {
|
||||
|
||||
var $user_agents = array(
|
||||
'MSIE' => array(
|
||||
@@ -65,11 +64,13 @@ class ajax_test extends UnitTestCase {
|
||||
/**
|
||||
* Uses the array of user agents to test ajax_lib::ajaxenabled
|
||||
*/
|
||||
function test_ajaxenabled()
|
||||
{
|
||||
function test_ajaxenabled() {
|
||||
global $CFG, $USER;
|
||||
$CFG->enableajax = true;
|
||||
$USER->ajax = true;
|
||||
|
||||
$this->resetAfterTest(true);
|
||||
|
||||
$CFG->enableajax = 1;
|
||||
$USER->ajax = 1;
|
||||
|
||||
// Should be true
|
||||
$_SERVER['HTTP_USER_AGENT'] = $this->user_agents['Firefox']['2.0']['Windows XP'];
|
||||
|
||||
@@ -17,10 +17,6 @@
|
||||
/**
|
||||
* Full functional accesslib test
|
||||
*
|
||||
* It is implemented as one test case because it would take hours
|
||||
* to prepare the fake test site for each test, at the same time
|
||||
* we have to work around multiple problems in UnitTestCaseUsingDatabase.
|
||||
*
|
||||
* @package core
|
||||
* @category phpunit
|
||||
* @copyright 2011 Petr Skoda {@link http://skodak.org}
|
||||
|
||||
@@ -29,7 +29,7 @@ global $CFG;
|
||||
require_once($CFG->libdir . '/externallib.php');
|
||||
|
||||
|
||||
class externallib_test extends UnitTestCase {
|
||||
class externallib_test extends basic_testcase {
|
||||
public function test_validate_params() {
|
||||
$params = array('text'=>'aaa', 'someid'=>'6',);
|
||||
$description = new external_function_parameters(array('someid' => new external_value(PARAM_INT, 'Some int value'),
|
||||
|
||||
@@ -47,12 +47,94 @@ class core_phpunit_basic_testcase extends basic_testcase {
|
||||
$this->assertEquals($CFG->prefix, $CFG->phpunit_prefix);
|
||||
}
|
||||
|
||||
/*
|
||||
public function test_borked_tests() {
|
||||
global $DB;
|
||||
/**
|
||||
* This is just a verification if I understand the PHPUnit assert docs right --skodak
|
||||
* @return void
|
||||
*/
|
||||
public function test_assert_behaviour() {
|
||||
// arrays
|
||||
$a = array('a', 'b', 'c');
|
||||
$b = array('a', 'c', 'b');
|
||||
$c = array('a', 'b', 'c');
|
||||
$d = array('a', 'b', 'C');
|
||||
$this->assertNotEquals($a, $b);
|
||||
$this->assertNotEquals($a, $d);
|
||||
$this->assertEquals($a, $c);
|
||||
$this->assertEquals($a, $b, '', 0, 10, true);
|
||||
|
||||
// objects
|
||||
$a = new stdClass();
|
||||
$a->x = 'x';
|
||||
$a->y = 'y';
|
||||
$b = new stdClass(); // switched order
|
||||
$b->y = 'y';
|
||||
$b->x = 'x';
|
||||
$c = $a;
|
||||
$d = new stdClass();
|
||||
$d->x = 'x';
|
||||
$d->y = 'y';
|
||||
$d->z = 'z';
|
||||
$this->assertEquals($a, $b);
|
||||
$this->assertNotSame($a, $b);
|
||||
$this->assertEquals($a, $c);
|
||||
$this->assertSame($a, $c);
|
||||
$this->assertNotEquals($a, $d);
|
||||
|
||||
// string comparison
|
||||
$this->assertEquals(1, '1');
|
||||
$this->assertEquals(null, '');
|
||||
|
||||
$this->assertNotEquals(1, '1 ');
|
||||
$this->assertNotEquals(0, '');
|
||||
$this->assertNotEquals(null, '0');
|
||||
$this->assertNotEquals(array(), '');
|
||||
|
||||
// other comparison
|
||||
$this->assertEquals(null, null);
|
||||
$this->assertEquals(false, null);
|
||||
$this->assertEquals(0, null);
|
||||
|
||||
// emptiness
|
||||
$this->assertEmpty(0);
|
||||
$this->assertEmpty(0.0);
|
||||
$this->assertEmpty('');
|
||||
$this->assertEmpty('0');
|
||||
$this->assertEmpty(false);
|
||||
$this->assertEmpty(null);
|
||||
$this->assertEmpty(array());
|
||||
|
||||
$this->assertNotEmpty(1);
|
||||
$this->assertNotEmpty(0.1);
|
||||
$this->assertNotEmpty(-1);
|
||||
$this->assertNotEmpty(' ');
|
||||
$this->assertNotEmpty('0 ');
|
||||
$this->assertNotEmpty(true);
|
||||
$this->assertNotEmpty(array(null));
|
||||
$this->assertNotEmpty(new stdClass());
|
||||
}
|
||||
|
||||
// Uncomment following tests to see logging of unexpected changes in global state and database
|
||||
/*
|
||||
public function test_db_modification() {
|
||||
global $DB;
|
||||
$DB->set_field('user', 'confirmed', 1, array('id'=>-1));
|
||||
}
|
||||
|
||||
public function test_cfg_modification() {
|
||||
global $CFG;
|
||||
$CFG->xx = 'yy';
|
||||
unset($CFG->admin);
|
||||
$CFG->rolesactive = 0;
|
||||
}
|
||||
|
||||
public function test_user_modification() {
|
||||
global $USER;
|
||||
$USER->id = 10;
|
||||
}
|
||||
|
||||
public function test_course_modification() {
|
||||
global $COURSE;
|
||||
$COURSE->id = 10;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user