Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.
<?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/>.

< /** < * Tests for servicelib.php < * < * @package mod_lti < * @copyright Copyright (c) 2015 Moodlerooms Inc. (http://www.moodlerooms.com) < * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later < */
> namespace mod_lti;
defined('MOODLE_INTERNAL') || die(); global $CFG; require_once($CFG->dirroot.'/mod/lti/servicelib.php'); /** * Tests for servicelib.php * * @package mod_lti * @copyright Copyright (c) 2015 Moodlerooms Inc. (http://www.moodlerooms.com) * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */
< class mod_lti_servicelib_testcase extends basic_testcase {
> class servicelib_test extends \basic_testcase {
/** * Test that lti_parse_message_id never fails with good and bad XML. * * @dataProvider message_id_provider * @param mixed $expected Expected message ID. * @param string $xml XML to parse. */ public function test_lti_parse_message_id($expected, $xml) { $xml = simplexml_load_string($xml); $this->assertEquals($expected, lti_parse_message_id($xml)); } /** * Test data provider for testing lti_parse_message_id * * @return array */ public function message_id_provider() { $valid = <<<XML <?xml version="1.0" encoding="UTF-8"?> <imsx_POXEnvelopeRequest xmlns="http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0"> <imsx_POXHeader> <imsx_POXRequestHeaderInfo> <imsx_version>V1.0</imsx_version> <imsx_messageIdentifier>9999</imsx_messageIdentifier> </imsx_POXRequestHeaderInfo> </imsx_POXHeader> <imsx_POXBody/> </imsx_POXEnvelopeRequest> XML; $noheader = <<<XML <?xml version="1.0" encoding="UTF-8"?> <imsx_POXEnvelopeRequest xmlns="http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0"> <badXmlHere> <imsx_POXRequestHeaderInfo> <imsx_version>V1.0</imsx_version> <imsx_messageIdentifier>9999</imsx_messageIdentifier> </imsx_POXRequestHeaderInfo> </badXmlHere> <imsx_POXBody/> </imsx_POXEnvelopeRequest> XML; $noinfo = <<<XML <?xml version="1.0" encoding="UTF-8"?> <imsx_POXEnvelopeRequest xmlns="http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0"> <imsx_POXHeader> <badXmlHere> <imsx_version>V1.0</imsx_version> <imsx_messageIdentifier>9999</imsx_messageIdentifier> </badXmlHere> </imsx_POXHeader> <imsx_POXBody/> </imsx_POXEnvelopeRequest> XML; $noidentifier = <<<XML <?xml version="1.0" encoding="UTF-8"?> <imsx_POXEnvelopeRequest xmlns="http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0"> <imsx_POXHeader> <imsx_POXRequestHeaderInfo> <imsx_version>V1.0</imsx_version> </imsx_POXRequestHeaderInfo> </imsx_POXHeader> <imsx_POXBody/> </imsx_POXEnvelopeRequest> XML; return array( array(9999, $valid), array('', $noheader), array('', $noinfo), array('', $noidentifier), ); } }