. /** * Unit tests for base_attribute.class.php * * @package moodlecore * @subpackage backup-tests * @copyright 2010 onwards Eloy Lafuente (stronk7) {@link http://stronk7.com} * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ // Prevent direct access to this file if (!defined('MOODLE_INTERNAL')) { die('Direct access to this script is forbidden.'); } require_once($CFG->dirroot . '/backup/util/structure/base_atom.class.php'); require_once($CFG->dirroot . '/backup/util/structure/base_attribute.class.php'); require_once($CFG->dirroot . '/backup/util/structure/base_final_element.class.php'); require_once($CFG->dirroot . '/backup/util/structure/base_nested_element.class.php'); require_once($CFG->dirroot . '/backup/util/structure/simpletest/fixtures/structuremocks.php'); /** * Unit test case the base_attribute class. Note: No really much to test here as attribute is 100% * atom extension without new functionality (name/value) */ class base_attribute_test extends UnitTestCase { public static $includecoverage = array('backup/util/structure/base_attribute.class.php'); /** * Correct base_attribute tests */ function test_base_attribute() { $name_with_all_chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_'; $value_to_test = 'Some to test'; // Create instance with correct names $instance = new mock_base_attribute($name_with_all_chars); $this->assertIsA($instance, 'base_attribute'); $this->assertEqual($instance->get_name(), $name_with_all_chars); $this->assertNull($instance->get_value()); // Set value $instance->set_value($value_to_test); $this->assertEqual($instance->get_value(), $value_to_test); // Get to_string() results (with values) $instance = new mock_base_attribute($name_with_all_chars); $instance->set_value($value_to_test); $tostring = $instance->to_string(true); $this->assertTrue(strpos($tostring, '@' . $name_with_all_chars) !== false); $this->assertTrue(strpos($tostring, ' => ') !== false); $this->assertTrue(strpos($tostring, $value_to_test) !== false); } }