moodle/lib/tests/outputrequirementslib_test.php
Petr Škoda af225f6c9c MDL-33887 delay string fetching in PAGE->requires->string_for_js() till page footer
This should resolve problems with language switching such as when forcing course language.
2012-07-06 08:02:00 +02:00

50 lines
1.7 KiB
PHP

<?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/>.
/**
* Unit tests for lib/outputrequirementslibphp.
*
* @package core
* @category phpunit
* @copyright 2012 Petr Škoda
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
global $CFG;
require_once($CFG->libdir . '/outputrequirementslib.php');
class outputrequirements_test extends advanced_testcase {
public function test_string_for_js() {
$this->resetAfterTest();
$page = new moodle_page();
$page->requires->string_for_js('course', 'moodle', 1);
$page->requires->string_for_js('course', 'moodle', 1);
try {
$page->requires->string_for_js('course', 'moodle', 2);
$this->fail('Exception expected when the same string with different $a requested');
} catch (Exception $e) {
$this->assertInstanceOf('coding_exception', $e);
}
// Note: we can not switch languages in phpunit yet,
// it would be nice to test that the strings are actually fetched in the footer.
}
}