public function tests_shortcode($args, $content = null)
 {
     if (!is_singular()) {
         return $content;
     }
     $tests = array('align-tests' => array('[vimeo id="23316783"] This text should apper below the video', '[vimeo id="23316783" align=center]', '[vimeo id="23316783" align=left] This text should appear right next to the video', '[vimeo id="23316783" align=right] This text should appear left next to the video'), 'maxwidth-test' => array('This video should be not wider then 444px in normal and lazyload mode and display centered', '[vimeo id="23316783" maxwidth="444" align="center"]'), 'archiveorg' => array('https://archive.org/details/AlexJonesInterviewsDeanHaglund'), 'blip' => array('http://blip.tv/the-spoony-experiment/b-fest-2014-recap-part-1-of-2-6723548'), 'break' => array('http://www.break.com/video/first-person-pov-of-tornado-strike-2542591'), 'collegehumor' => array('http://collegehumor.com/video/6922670/bleep-bloop-your-best-game'), 'comedycentral' => array('[comedycentral id="c80adf02-3e24-437a-8087-d6b77060571c"]'), 'dailymotion' => array('http://www.dailymotion.com/video/x44lvd_rates-of-exchange-like-a-renegade_music', __('URL just the ID withoutout the long title', $this->plugin_slug), 'http://www.dailymotion.com/video/x44lvd', __('URL from a hub with the Video ID at the end', $this->plugin_slug), 'http://www.dailymotion.com/hub/x9q_Galatasaray#video=xjw21s', __('Playlist', $this->plugin_slug), 'http://www.dailymotion.com/playlist/xr2rp_RTnews_exclusive-interveiws/1#video=xafhh9'), 'flickr' => array('[flickr id="2856467015"]'), 'funnyordie' => array('http://www.funnyordie.com/videos/76585438d8/sarah-silverman-s-we-are-miracles-hbo-special'), 'gametrailers' => array('[gametrailers id="797121a1-4685-4ecc-9388-72a88b0ef8da"]'), 'iframe' => array(__('This plugin allows iframe embeds for every URL by using this <code>[iframe]</code> shortcode. This should only be used for providers not supported by this via a named shortcode. The result is a 16:9 resonsive iframe by default, aspect ratio can be changed as usual.', $this->plugin_slug), '[iframe id="http://example.com/"]', esc_html__('This can also be used to have limited support for self hosted videos my passing URLs to .webm, .mp4 or .ogg to it. This might not be the best way to do because this is what the <video> tag is for but it works in my tests.', $this->plugin_slug), '[iframe id="http://video.webmfiles.org/big-buck-bunny_trailer.webm"]'), 'ign' => array('http://www.ign.com/videos/2012/03/06/mass-effect-3-video-review'), 'kickstarter' => array('https://www.kickstarter.com/projects/obsidian/project-eternity?ref=discovery'), 'liveleak' => array(__('Page/item <code>i=</code> URL', $this->plugin_slug), 'http://www.liveleak.com/view?i=703_1385224413', __('File <code>f=</code> URL', $this->plugin_slug), 'http://www.liveleak.com/view?f=c85bdf5e45b2'), 'metacafe' => array('http://www.metacafe.com/watch/11159703/why_youre_fat/', 'http://www.metacafe.com/watch/11322264/everything_wrong_with_robocop_in_7_minutes/'), 'movieweb' => array('[movieweb id="VIwFzmdbyoy9zB"]'), 'mpora' => array('http://mpora.com/videos/AAdphry14rkn', 'http://mpora.de/videos/AAdpxhiv6pqd'), 'myspace' => array('https://myspace.com/myspace/video/dark-rooms-the-shadow-that-looms-o-er-my-heart-live-/109471212'), 'myvideo' => array('http://www.myvideo.de/watch/8432624/Angeln_mal_anders'), 'snotr' => array('http://www.snotr.com/video/12314/How_big_a_truck_blind_spot_really_is'), 'spike' => array('[spike id="5afddf30-31d8-40fb-81e6-bb5c6f45525f"]'), 'ted' => array(__('To my knowlege TED forces autoplay and there is no way disable it', $this->plugin_slug), 'http://ted.com/talks/jill_bolte_taylor_s_powerful_stroke_of_insight', __('Beta site URLs work as well', $this->plugin_slug), 'http://new.ted.com/talks/brene_brown_on_vulnerability'), 'twitch' => array('http://www.twitch.tv/tsm_dyrus', __('Past breadcast URL', $this->plugin_slug), 'http://www.twitch.tv/tsm_dyrus/b/500898967', __('Highlight URL', $this->plugin_slug), 'http://www.twitch.tv/tsm_dyrus/c/3674140'), 'ustream' => array(__('To my knowlege Ustream forces autoplay and there is no way disable it', $this->plugin_slug), __('Channel URL - get them from the share button URLS with names instead of numeric IDs will not work!', $this->plugin_slug), 'http://www.ustream.tv/channel/15844301', __('Recorded URL', $this->plugin_slug), 'http://www.ustream.tv/recorded/40976103', __('Highlight URL', $this->plugin_slug), 'http://www.ustream.tv/recorded/31217313/highlight/344029'), 'veoh' => array('http://www.veoh.com/watch/v19866882CAdjNF9b'), 'vevo' => array('http://www.vevo.com/watch/the-offspring/the-kids-arent-alright/USSM20100649', '[vevo id="US4E51286201"]'), 'viddler' => array('http://www.viddler.com/v/a695c468'), 'videojug' => array('[videojug id="fa15cafd-556f-165b-d660-ff0008c90d2d"]'), 'viddler' => array('http://www.viddler.com/v/a695c468'), 'vimeo' => array('[vimeo id="12901672"]', 'http://vimeo.com/23316783'), 'vine' => array('[vine id="MbrreglaFrA"]', 'https://vine.co/v/bjAaLxQvOnQ', 'https://vine.co/v/bjHh0zHdgZT/embed'), 'yahoo' => array('http://screen.yahoo.com/buzzfeed/eye-opening-facts-vaginas-210102842.html'), 'youtube' => array('http://www.youtube.com/watch?v=vrXgLhkv21Y', __('URL from youtu.be shortener', $this->plugin_slug), 'http://youtu.be/3Y8B93r2gKg', __('Youtube playlist URL inlusive the video to start at. The index part will be ignored and is not needed', $this->plugin_slug), 'http://www.youtube.com/watch?v=GjL82KUHVb0&list=PLI46g-I12_9qGBq-4epxOay0hotjys5iA&index=10', __('Loop a YouTube video', $this->plugin_slug), '[youtube id="FKkejo2dMV4" parameters="playlist=FKkejo2dMV4 loop=1"]', __('Enable annotations and light theme', $this->plugin_slug), '[youtube id="uCQXKYPiz6M" parameters="iv_load_policy=1 theme=light"]'), 'youtube-starttimes' => array('http://youtu.be/vrXgLhkv21Y?t=1h19m14s', 'http://youtu.be/vrXgLhkv21Y?t=19m14s', 'http://youtu.be/vrXgLhkv21Y?t=1h', 'http://youtu.be/vrXgLhkv21Y?t=5m', 'http://youtu.be/vrXgLhkv21Y?t=30s', __('The Parameter start only takes values in seconds, this will start the video at 1 minute and 1 second', $this->plugin_slug), '[youtube id="uCQXKYPiz6M" parameters="start=61"]'));
     $get_provider = $get_mode = $selected_mode = false;
     if (!empty($_GET['arvet-provider'])) {
         $get_provider = $_GET['arvet-provider'];
     }
     if (!empty($_GET['arvet-mode'])) {
         $selected_mode = $_GET['arvet-mode'];
         if ($_GET['arvet-mode'] !== $this->options['mode']) {
             $get_mode = $_GET['arvet-mode'];
         }
     }
     $provider_options = $mode_options = '';
     foreach ($tests as $provider => $value) {
         $provider_options .= sprintf('<option%s value="%s">%s</option>', selected($provider, $get_provider, false), esc_attr($provider), esc_html($provider));
     }
     $form = '<p><form method="get">' . sprintf('<select name="arvet-provider">%s</select>', $provider_options) . sprintf('<select name="arvet-mode">%s</select>', Advanced_Responsive_Video_Embedder_Shared::get_mode_options($this->plugin_slug, $get_mode)) . ' Debug output? <input type="checkbox" name="arve-debug">' . sprintf('<button tyle="submit">%s</button>', __('Test', $this->plugin_slug)) . '</form></p>';
     $content = $form;
     if ($get_provider) {
         foreach ($tests[$get_provider] as $line) {
             if ($this->begins_with($line, 'http')) {
                 global $wp_embed;
                 $line = add_query_arg('arve-mode', $get_mode, $line);
                 $content .= sprintf('<code>%s</code></p><p>%s</p>', esc_html($line), $wp_embed->autoembed($line));
                 $content .= '<div style="display: block; clear: both;"></div><br><hr><br>';
             } elseif ($this->begins_with($line, '[')) {
                 if ($get_mode) {
                     $line = str_replace(']', sprintf(' mode="%s"]', esc_attr($get_mode)), $line);
                 }
                 $content .= sprintf('<code>%s</code></p><p>%s</p>', esc_html($line), do_shortcode($line));
                 $content .= '<div style="display: block; clear: both;"></div><br><hr><br>';
             } else {
                 $content .= "<p>{$line}</p>";
             }
         }
     }
     return $content;
 }
 public function mode_select($args)
 {
     printf('<select id="%1$s" name="%1$s" size="1">', esc_attr($args['label_for']));
     echo Advanced_Responsive_Video_Embedder_Shared::get_mode_options($args['value']);
     echo '</select>';
     if ($args['description']) {
         printf('<p class="description">%s</p>', $args['description']);
     }
 }
			<?php 
_e('For Blip.tv, Videojug, Movieweb, Gametrailers, Yahoo!, Spike, Comedycentral and general iframe embed codes paste the embed code, for all others paste the URL! Ustream: If your Address bar URL not contains a number, click the Share->URL icons and paste that URL.', $this->plugin_slug);
?>
		</small>

		<textarea id="arve-url" rows="4" value=""></textarea><br>

		<div class="arve-input-group">
			<label for="arve-mode"><?php 
_e('Mode', $this->plugin_slug);
?>
</label>
			<select id="arve-mode">
				<option value=""></option>
				<?php 
echo Advanced_Responsive_Video_Embedder_Shared::get_mode_options($this->plugin_slug);
?>
			</select>
		</div>
	
		<div class="arve-input-group">
			<label for="arve-align"><?php 
_e('Align', $this->plugin_slug);
?>
</label>
			<select id="arve-align">
				<option value=""></option>
				<option value="left"><?php 
_e('left', $this->plugin_slug);
?>
</option>