moodle/lib/tests/medialib_test.php

489 lines
20 KiB
PHP
Raw Normal View History

MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
<?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/>.
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
namespace core;
use core_media_manager;
use media_test_plugin;
defined('MOODLE_INTERNAL') || die();
require_once(__DIR__ . '/fixtures/testable_core_media_player.php');
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
/**
* Test classes for handling embedded media (audio/video).
*
* @package core
* @category test
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
* @copyright 2012 The Open University
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
class medialib_test extends \advanced_testcase {
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
/**
* Pre-test setup. Preserves $CFG.
*/
public function setUp(): void {
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
parent::setUp();
// Reset $CFG and $SERVER.
$this->resetAfterTest();
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// "Install" a fake plugin for testing.
set_config('version', '2016101400', 'media_test');
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// Consistent initial setup: all players disabled.
\core\plugininfo\media::set_enabled_plugins('');
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
$_SERVER = array('HTTP_USER_AGENT' => '');
$this->pretend_to_be_safari();
}
/**
* Sets user agent to Safari.
*/
private function pretend_to_be_safari() {
// Pretend to be using Safari browser (must support mp4 for tests to work).
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
\core_useragent::instance(true, 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; de-at) ' .
'AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1');
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
}
/**
* Sets user agent to Firefox.
*/
private function pretend_to_be_firefox() {
// Pretend to be using Firefox browser (must support ogg for tests to work).
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
\core_useragent::instance(true, 'Mozilla/5.0 (X11; Linux x86_64; rv:46.0) Gecko/20100101 Firefox/46.0 ');
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
}
/**
* Test for core_media::get_filename.
*/
public function test_get_filename() {
$manager = core_media_manager::instance();
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
$this->assertSame('frog.mp4', $manager->get_filename(new \moodle_url(
'/pluginfile.php/312/mod_page/content/7/frog.mp4')));
// This should work even though slasharguments is true, because we want
// it to support 'legacy' links if somebody toggles the option later.
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
$this->assertSame('frog.mp4', $manager->get_filename(new \moodle_url(
'/pluginfile.php?file=/312/mod_page/content/7/frog.mp4')));
}
/**
* Test for core_media::get_extension.
*/
public function test_get_extension() {
$manager = core_media_manager::instance();
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
$this->assertSame('mp4', $manager->get_extension(new \moodle_url(
'/pluginfile.php/312/mod_page/content/7/frog.mp4')));
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
$this->assertSame('', $manager->get_extension(new \moodle_url(
'/pluginfile.php/312/mod_page/content/7/frog')));
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
$this->assertSame('mp4', $manager->get_extension(new \moodle_url(
'/pluginfile.php?file=/312/mod_page/content/7/frog.mp4')));
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
$this->assertSame('', $manager->get_extension(new \moodle_url(
'/pluginfile.php?file=/312/mod_page/content/7/frog')));
}
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
/**
* Test for the core_media_player list_supported_urls.
*/
public function test_list_supported_urls() {
$test = new media_test_plugin(1, 13, ['tst', 'test']);
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// Some example URLs.
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
$supported1 = new \moodle_url('http://example.org/1.test');
$supported2 = new \moodle_url('http://example.org/2.TST');
$unsupported = new \moodle_url('http://example.org/2.jpg');
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// No URLs => none.
$result = $test->list_supported_urls(array());
$this->assertEquals(array(), $result);
// One supported URL => same.
$result = $test->list_supported_urls(array($supported1));
$this->assertEquals(array($supported1), $result);
// Two supported URLS => same.
$result = $test->list_supported_urls(array($supported1, $supported2));
$this->assertEquals(array($supported1, $supported2), $result);
// One unsupported => none.
$result = $test->list_supported_urls(array($unsupported));
$this->assertEquals(array(), $result);
// Two supported and one unsupported => same.
$result = $test->list_supported_urls(array($supported2, $unsupported, $supported1));
$this->assertEquals(array($supported2, $supported1), $result);
}
/**
* Test for get_players
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
*/
public function test_get_players() {
// All players are initially disabled (except link, which you can't).
$manager = core_media_manager::instance();
$this->assertEmpty($this->get_players_test($manager));
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// A couple enabled, check the order.
\core\plugininfo\media::set_enabled_plugins('youtube,html5audio');
$manager = core_media_manager::instance();
$this->assertSame('youtube, html5audio', $this->get_players_test($manager));
// Test HTML5 media order.
\core\plugininfo\media::set_enabled_plugins('html5video,html5audio');
$manager = core_media_manager::instance();
$this->assertSame('html5video, html5audio', $this->get_players_test($manager));
// Make sure that our test plugin is considered installed.
\core\plugininfo\media::set_enabled_plugins('test,html5video');
$manager = core_media_manager::instance();
$this->assertSame('test, html5video', $this->get_players_test($manager));
// Make sure that non-existing plugin is NOT considered installed.
\core\plugininfo\media::set_enabled_plugins('nonexistingplugin,html5video');
$manager = core_media_manager::instance();
$this->assertSame('html5video', $this->get_players_test($manager));
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
}
/**
* Test for can_embed_url
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
*/
public function test_can_embed_url() {
// All players are initially disabled, so mp4 cannot be rendered.
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
$url = new \moodle_url('http://example.org/test.mp4');
$manager = core_media_manager::instance();
$this->assertFalse($manager->can_embed_url($url));
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// Enable VideoJS player.
\core\plugininfo\media::set_enabled_plugins('videojs');
$manager = core_media_manager::instance();
$this->assertTrue($manager->can_embed_url($url));
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// VideoJS + html5.
\core\plugininfo\media::set_enabled_plugins('videojs,html5video');
$manager = core_media_manager::instance();
$this->assertTrue($manager->can_embed_url($url));
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// Only html5.
\core\plugininfo\media::set_enabled_plugins('html5video');
$manager = core_media_manager::instance();
$this->assertTrue($manager->can_embed_url($url));
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
}
/**
* Test for embed_url.
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
* Checks multiple format/fallback support.
*/
public function test_embed_url_fallbacks() {
// Key strings in the embed code that identify with the media formats being tested.
$html5video = '</video>';
$html5audio = '</audio>';
$link = 'mediafallbacklink';
$test = 'mediaplugin_test';
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
$url = new \moodle_url('http://example.org/test.mp4');
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// All plugins disabled, NOLINK option.
\core\plugininfo\media::set_enabled_plugins('');
$manager = core_media_manager::instance();
$t = $manager->embed_url($url, 0, 0, '',
array(core_media_manager::OPTION_NO_LINK => true));
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// Completely empty.
$this->assertSame('', $t);
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// All plugins disabled but not NOLINK.
\core\plugininfo\media::set_enabled_plugins('');
$manager = core_media_manager::instance();
$t = $manager->embed_url($url);
$this->assertStringContainsString($link, $t);
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// Enable media players that can play the same media formats. (ie. test & html5audio for mp3 files, etc.)
\core\plugininfo\media::set_enabled_plugins('test,html5video,html5audio');
$manager = core_media_manager::instance();
// Test media formats that can be played by 2 or more players.
$mediaformats = array('mp3', 'mp4');
foreach ($mediaformats as $format) {
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
$url = new \moodle_url('http://example.org/test.' . $format);
$textwithlink = $manager->embed_url($url);
$textwithoutlink = $manager->embed_url($url, 0, 0, '', array(core_media_manager::OPTION_NO_LINK => true));
switch ($format) {
case 'mp3':
$this->assertStringContainsString($test, $textwithlink);
$this->assertStringNotContainsString($html5video, $textwithlink);
$this->assertStringContainsString($html5audio, $textwithlink);
$this->assertStringContainsString($link, $textwithlink);
$this->assertStringContainsString($test, $textwithoutlink);
$this->assertStringNotContainsString($html5video, $textwithoutlink);
$this->assertStringContainsString($html5audio, $textwithoutlink);
$this->assertStringNotContainsString($link, $textwithoutlink);
break;
case 'mp4':
$this->assertStringContainsString($test, $textwithlink);
$this->assertStringContainsString($html5video, $textwithlink);
$this->assertStringNotContainsString($html5audio, $textwithlink);
$this->assertStringContainsString($link, $textwithlink);
$this->assertStringContainsString($test, $textwithoutlink);
$this->assertStringContainsString($html5video, $textwithoutlink);
$this->assertStringNotContainsString($html5audio, $textwithoutlink);
$this->assertStringNotContainsString($link, $textwithoutlink);
break;
default:
break;
}
}
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
}
/**
* Test for embed_url.
* SWF shouldn't be converted to objects because media_swf has been removed.
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
*/
public function test_embed_url_swf() {
$manager = core_media_manager::instance();
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// Without any options...
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
$url = new \moodle_url('http://example.org/test.swf');
$t = $manager->embed_url($url);
$this->assertStringNotContainsString('</object>', $t);
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// ...and with the 'no it's safe, I checked it' option.
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
$url = new \moodle_url('http://example.org/test.swf');
$t = $manager->embed_url($url, '', 0, 0, array(core_media_manager::OPTION_TRUSTED => true));
$this->assertStringNotContainsString('</object>', $t);
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
}
/**
* Same as test_embed_url MP3 test, but for slash arguments.
*/
public function test_slash_arguments() {
// Again we do not turn slasharguments actually on, because it has to
// work regardless of the setting of that variable in case of handling
// links created using previous setting.
// Enable player.
\core\plugininfo\media::set_enabled_plugins('html5audio');
$manager = core_media_manager::instance();
// Format: mp3.
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
$url = new \moodle_url('http://example.org/pluginfile.php?file=x/y/z/test.mp3');
$t = $manager->embed_url($url);
$this->assertStringContainsString('</audio>', $t);
}
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
/**
* Test for embed_url.
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
* Checks the EMBED_OR_BLANK option.
*/
public function test_embed_or_blank() {
\core\plugininfo\media::set_enabled_plugins('html5audio');
$manager = core_media_manager::instance();
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
$this->pretend_to_be_firefox();
$options = array(core_media_manager::OPTION_FALLBACK_TO_BLANK => true);
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// Embed that does match something should still include the link too.
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
$url = new \moodle_url('http://example.org/test.ogg');
$t = $manager->embed_url($url, '', 0, 0, $options);
$this->assertStringContainsString('</audio>', $t);
$this->assertStringContainsString('mediafallbacklink', $t);
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// Embed that doesn't match something should be totally blank.
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
$url = new \moodle_url('http://example.org/test.mp4');
$t = $manager->embed_url($url, '', 0, 0, $options);
$this->assertSame('', $t);
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
}
/**
* Test for embed_url.
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
* Checks that size is passed through correctly to player objects and tests
* size support in html5video output.
*/
public function test_embed_url_size() {
global $CFG;
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// Technically this could break in every format and they handle size
// in several different ways, but I'm too lazy to test it in every
// format, so let's just pick one to check the values get passed
// through.
\core\plugininfo\media::set_enabled_plugins('html5video');
$manager = core_media_manager::instance();
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
$url = new \moodle_url('http://example.org/test.mp4');
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// HTML5 default size - specifies core width and does not specify height.
$t = $manager->embed_url($url);
$this->assertStringContainsString('width="' . $CFG->media_default_width . '"', $t);
$this->assertStringNotContainsString('height', $t);
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// HTML5 specified size - specifies both.
$t = $manager->embed_url($url, '', '666', '101');
$this->assertStringContainsString('width="666"', $t);
$this->assertStringContainsString('height="101"', $t);
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// HTML5 size specified in url, overrides call.
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
$url = new \moodle_url('http://example.org/test.mp4?d=123x456');
$t = $manager->embed_url($url, '', '666', '101');
$this->assertStringContainsString('width="123"', $t);
$this->assertStringContainsString('height="456"', $t);
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
}
/**
* Test for embed_url.
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
* Checks that name is passed through correctly to player objects and tests
* name support in html5video output.
*/
public function test_embed_url_name() {
// As for size this could break in every format but I'm only testing
// html5video.
\core\plugininfo\media::set_enabled_plugins('html5video');
$manager = core_media_manager::instance();
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
$url = new \moodle_url('http://example.org/test.mp4');
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// HTML5 default name - use filename.
$t = $manager->embed_url($url);
$this->assertStringContainsString('title="test.mp4"', $t);
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// HTML5 specified name - check escaping.
$t = $manager->embed_url($url, 'frog & toad');
$this->assertStringContainsString('title="frog &amp; toad"', $t);
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
}
/**
* Test for split_alternatives.
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
*/
public function test_split_alternatives() {
$mediamanager = core_media_manager::instance();
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// Single URL - identical moodle_url.
$mp4 = 'http://example.org/test.mp4';
$result = $mediamanager->split_alternatives($mp4, $w, $h);
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
$this->assertEquals($mp4, $result[0]->out(false));
// Width and height weren't specified.
$this->assertEquals(0, $w);
$this->assertEquals(0, $h);
// Two URLs - identical moodle_urls.
$webm = 'http://example.org/test.webm';
$result = $mediamanager->split_alternatives("$mp4#$webm", $w, $h);
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
$this->assertEquals($mp4, $result[0]->out(false));
$this->assertEquals($webm, $result[1]->out(false));
// Two URLs plus dimensions.
$size = 'd=400x280';
$result = $mediamanager->split_alternatives("$mp4#$webm#$size", $w, $h);
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
$this->assertEquals($mp4, $result[0]->out(false));
$this->assertEquals($webm, $result[1]->out(false));
$this->assertEquals(400, $w);
$this->assertEquals(280, $h);
// Two URLs plus legacy dimensions (use last one).
$result = $mediamanager->split_alternatives("$mp4?d=1x1#$webm?$size", $w, $h);
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
$this->assertEquals($mp4, $result[0]->out(false));
$this->assertEquals($webm, $result[1]->out(false));
$this->assertEquals(400, $w);
$this->assertEquals(280, $h);
}
/**
* Test for embed_alternatives (with multiple urls)
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
*/
public function test_embed_alternatives() {
// Most aspects of this are same as single player so let's just try
// a single typical / complicated scenario.
// MP4, OGV, WebM and FLV.
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
$urls = array(
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
new \moodle_url('http://example.org/test.mp4'),
new \moodle_url('http://example.org/test.ogv'),
new \moodle_url('http://example.org/test.webm'),
new \moodle_url('http://example.org/test.flv'),
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
);
// Enable html5 and "test" ("test" first).
\core\plugininfo\media::set_enabled_plugins('test,html5video');
$manager = core_media_manager::instance();
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// Result should contain HTML5 with two sources + FLV.
$t = $manager->embed_alternatives($urls);
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// HTML5 sources - mp4, but not ogv, flv or webm (not supported in Safari).
$this->assertStringContainsString('<source src="http://example.org/test.mp4"', $t);
$this->assertStringNotContainsString('<source src="http://example.org/test.ogv"', $t);
$this->assertStringNotContainsString('<source src="http://example.org/test.webm"', $t);
$this->assertStringNotContainsString('<source src="http://example.org/test.flv"', $t);
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// FLV is before the video tag (indicating html5 is used as fallback to flv
// and not vice versa).
$this->assertTrue((bool)preg_match('~mediaplugin_test.*<video~s', $t));
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// Do same test with firefox and check we get the webm and not mp4.
$this->pretend_to_be_firefox();
$t = $manager->embed_alternatives($urls);
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
// HTML5 sources - mp4, ogv and webm, but not flv.
$this->assertStringContainsString('<source src="http://example.org/test.mp4"', $t);
$this->assertStringContainsString('<source src="http://example.org/test.ogv"', $t);
$this->assertStringContainsString('<source src="http://example.org/test.webm"', $t);
$this->assertStringNotContainsString('<source src="http://example.org/test.flv"', $t);
MDL-29624 Media embedding system, part 1: new API and filter changes Includes new API in medialib.php and core_media_renderer in outputrenderers.php. Enable/disable settings moved from filter to systemwide appearance page. Filter changed to use new API. AMOS BEGIN MOV [flashanimation,filter_mediaplugin],[flashanimation,core_media] MOV [flashanimation_help,filter_mediaplugin],[flashanimation_desc,core_media] MOV [flashvideo,filter_mediaplugin],[flashvideo,core_media] MOV [flashvideo_help,filter_mediaplugin],[flashvideo_desc,core_media] MOV [html5audio,filter_mediaplugin],[html5audio,core_media] MOV [html5audio_help,filter_mediaplugin],[html5audio_desc,core_media] MOV [html5video,filter_mediaplugin],[html5video,core_media] MOV [html5video_help,filter_mediaplugin],[html5video_desc,core_media] MOV [mp3audio,filter_mediaplugin],[mp3audio,core_media] MOV [mp3audio_help,filter_mediaplugin],[mp3audio_desc,core_media] MOV [legacyquicktime,filter_mediaplugin],[legacyquicktime,core_media] MOV [legacyquicktime_help,filter_mediaplugin],[legacyquicktime_desc,core_media] MOV [legacyreal,filter_mediaplugin],[legacyreal,core_media] MOV [legacyreal_help,filter_mediaplugin],[legacyreal_desc,core_media] MOV [legacywmp,filter_mediaplugin],[legacywmp,core_media] MOV [legacywmp_help,filter_mediaplugin],[legacywmp_desc,core_media] MOV [legacyheading,filter_mediaplugin],[legacyheading,core_media] MOV [legacyheading_help,filter_mediaplugin],[legacyheading_desc,core_media] MOV [sitevimeo,filter_mediaplugin],[sitevimeo,core_media] MOV [sitevimeo_help,filter_mediaplugin],[sitevimeo_desc,core_media] MOV [siteyoutube,filter_mediaplugin],[siteyoutube,core_media] MOV [siteyoutube_help,filter_mediaplugin],[siteyoutube_desc,core_media] AMOS END
2011-12-13 17:08:34 +00:00
}
/**
* Make sure the instance() method returns singleton for the same page and different object for another page
*/
public function test_initialise() {
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
$moodlepage1 = new \moodle_page();
$mediamanager1 = core_media_manager::instance($moodlepage1);
$mediamanager2 = core_media_manager::instance($moodlepage1);
$this->assertSame($mediamanager1, $mediamanager2);
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
$moodlepage3 = new \moodle_page();
$mediamanager3 = core_media_manager::instance($moodlepage3);
$this->assertNotSame($mediamanager1, $mediamanager3);
}
/**
* Access list of players as string, shortening it by getting rid of
* repeated text.
* @param core_media_manager $manager The core_media_manager instance
* @return string Comma-separated list of players
*/
public function get_players_test($manager) {
MDL-75111 phpunit: Move tests to use correct names and ns (take#4) Applied the following changes to various testcase classes: - Namespaced with component[\level2-API] - Moved to level2-API subdirectory when required. - Fixed incorrect use statements with leading backslash. - Remove file phpdoc block - Remove MOODLE_INTERNAL if not needed. - Changed code to point to global scope when needed. - Fix some relative paths and comments here and there. - All them passing individually. - Complete runs passing too. Special mention to: - The following task tests have been moved within the level2 directory: - \core\adhoc_task_test => \core\task\adhoc_task_test - \core\scheduled_task_test => \core\task\scheduled_task_test - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test - \core\task_database_logger_test => \core\task\database_logger_test - \core\task_logging_test => \core\task\logging_test - The following event tests have been moved within level2 directory: - \core\event_context_locked_test => \core\event\context_locked_test - \core\event_deprecated_test => \core\event\deprecated_test - \core\event_grade_deleted_test => \core\event\grade_deleted_test - \core\event_profile_field_test => \core\event\profile_field_test - \core\event_unknown_logged_test => \core\event\unknown_logged_test - \core\event_user_graded_test => \core\event\user_graded_test - \core\event_user_password_updated_test => \core\event\user_password_updated_test - The following output tests have been moved within level2 directory: - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test - The following tests have been moved to their correct tests directories: - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php - All the classes and tests under lib/filebrowser and lib/filestorage belong to core, not to core_files. Some day we should move them to their correct subsystem. - All the classes and tests under lib/grade belong to core, not to core_grades. Some day we should move them to their correct subsystem. - The core_grades_external class and its \core\grades_external_test unit test should belong to the grades subsystem or, alternatively, to \core\external, they both should be moved together. - The core_grading_external class and its \core\grading_external_test unit test should belong to the grading subsystem or, alternatively, to \core\external, they both should be moved together. - The \core\message\message and \core\message\inbound (may be others) classes, and their associated tests should go to the core_message subsystem. - The core_user class, and its associated tests should go to the core_user subsystem. - The \core\update namespace is plain wrong (update is not valid API) and needs action 1) create it or 2) move elsewhere.
2022-07-01 16:43:34 +02:00
$method = new \ReflectionMethod("core_media_manager", "get_players");
$players = $method->invoke($manager);
$out = '';
foreach ($players as $player) {
if ($out) {
$out .= ', ';
}
$out .= str_replace('core_media_player_', '', preg_replace('/^media_(.*)_plugin$/', '$1', get_class($player)));
}
return $out;
}
}