Rev 1 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
<?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/>.namespace core_backup;use base_atom_content_exception;use base_atom_struct_exception;use mock_base_atom;defined('MOODLE_INTERNAL') || die();// Include all the needed stuffrequire_once(__DIR__.'/fixtures/structure_fixtures.php');/*** Unit test case the base_atom class.** Note: as it's abstract we are testing mock_base_atom instantiable class instead** @package core_backup* @category test* @copyright 2010 onwards Eloy Lafuente (stronk7) {@link http://stronk7.com}* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later*/class baseatom_test extends \basic_testcase {/*** Correct base_atom_tests*/function test_base_atom(): void {$name_with_all_chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_';$value_to_test = 'Some <value> to test';// Create instance with correct names$instance = new mock_base_atom($name_with_all_chars);$this->assertInstanceOf('base_atom', $instance);$this->assertEquals($instance->get_name(), $name_with_all_chars);$this->assertFalse($instance->is_set());$this->assertNull($instance->get_value());// Set value$instance->set_value($value_to_test);$this->assertEquals($instance->get_value(), $value_to_test);$this->assertTrue($instance->is_set());// Clean value$instance->clean_value();$this->assertFalse($instance->is_set());$this->assertNull($instance->get_value());// Get to_string() results (with values)$instance = new mock_base_atom($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);// Get to_string() results (without values)$tostring = $instance->to_string(false);$this->assertTrue(strpos($tostring, $name_with_all_chars) !== false);$this->assertFalse(strpos($tostring, ' => '));$this->assertFalse(strpos($tostring, $value_to_test));}/*** Throwing exception base_atom tests*/function test_base_atom_exceptions(): void {// empty namestry {$instance = new mock_base_atom('');$this->fail("Expecting base_atom_struct_exception exception, none occurred");} catch (\Exception $e) {$this->assertTrue($e instanceof base_atom_struct_exception);}// whitespace namestry {$instance = new mock_base_atom('TESTING ATOM');$this->fail("Expecting base_atom_struct_exception exception, none occurred");} catch (\Exception $e) {$this->assertTrue($e instanceof base_atom_struct_exception);}// ascii namestry {$instance = new mock_base_atom('TESTING-ATOM');$this->fail("Expecting base_atom_struct_exception exception, none occurred");} catch (\Exception $e) {$this->assertTrue($e instanceof base_atom_struct_exception);}try {$instance = new mock_base_atom('TESTING_ATOM_Á');$this->fail("Expecting base_atom_struct_exception exception, none occurred");} catch (\Exception $e) {$this->assertTrue($e instanceof base_atom_struct_exception);}// setting already set value$instance = new mock_base_atom('TEST');$instance->set_value('test');try {$instance->set_value('test');$this->fail("Expecting base_atom_content_exception exception, none occurred");} catch (\Exception $e) {$this->assertTrue($e instanceof base_atom_content_exception);}}}