@@ -3,37 +3,37 @@ |
||
3 | 3 | class YouTubeShortCodeHandler |
4 | 4 | { |
5 | 5 | |
6 | - // taken from http://www.ssbits.com/tutorials/2010/2-4-using-short-codes-to-embed-a-youtube-video/ and adapted for SS3 |
|
7 | - public static function parse_youtube($arguments, $caption = null, $parser = null, $tagName) |
|
8 | - { |
|
9 | - // first things first, if we dont have a video ID, then we don't need to |
|
10 | - // go any further |
|
11 | - if (empty($arguments['id'])) { |
|
12 | - return; |
|
13 | - } |
|
14 | - |
|
15 | - $customise = array(); |
|
16 | - |
|
17 | - // YouTube video id |
|
18 | - $customise['YouTubeID'] = $arguments['id']; |
|
19 | - |
|
20 | - //play the video on page load |
|
21 | - $set = isset($arguments['autoplay']); |
|
22 | - $customise['AutoPlay'] = $set ? true : false; |
|
23 | - |
|
24 | - //set the caption |
|
25 | - $customise['Caption'] = $caption ? Convert::raw2xml($caption) : false; |
|
26 | - |
|
27 | - //set dimensions |
|
28 | - $widthSet = isset($arguments['width']); |
|
29 | - $heightSet = isset($arguments['height']); |
|
30 | - $customise['Width'] = $widthSet ? $arguments['width'] : 560; |
|
31 | - $customise['Height'] = $heightSet ? $arguments['height'] : 315; |
|
32 | - |
|
33 | - //get our YouTube template |
|
34 | - $template = new SSViewer('YouTube'); |
|
35 | - |
|
36 | - //return the customised template |
|
37 | - return $template->process(new ArrayData($customise)); |
|
38 | - } |
|
6 | + // taken from http://www.ssbits.com/tutorials/2010/2-4-using-short-codes-to-embed-a-youtube-video/ and adapted for SS3 |
|
7 | + public static function parse_youtube($arguments, $caption = null, $parser = null, $tagName) |
|
8 | + { |
|
9 | + // first things first, if we dont have a video ID, then we don't need to |
|
10 | + // go any further |
|
11 | + if (empty($arguments['id'])) { |
|
12 | + return; |
|
13 | + } |
|
14 | + |
|
15 | + $customise = array(); |
|
16 | + |
|
17 | + // YouTube video id |
|
18 | + $customise['YouTubeID'] = $arguments['id']; |
|
19 | + |
|
20 | + //play the video on page load |
|
21 | + $set = isset($arguments['autoplay']); |
|
22 | + $customise['AutoPlay'] = $set ? true : false; |
|
23 | + |
|
24 | + //set the caption |
|
25 | + $customise['Caption'] = $caption ? Convert::raw2xml($caption) : false; |
|
26 | + |
|
27 | + //set dimensions |
|
28 | + $widthSet = isset($arguments['width']); |
|
29 | + $heightSet = isset($arguments['height']); |
|
30 | + $customise['Width'] = $widthSet ? $arguments['width'] : 560; |
|
31 | + $customise['Height'] = $heightSet ? $arguments['height'] : 315; |
|
32 | + |
|
33 | + //get our YouTube template |
|
34 | + $template = new SSViewer('YouTube'); |
|
35 | + |
|
36 | + //return the customised template |
|
37 | + return $template->process(new ArrayData($customise)); |
|
38 | + } |
|
39 | 39 | } |
@@ -5,82 +5,82 @@ |
||
5 | 5 | */ |
6 | 6 | class YouTubeShortCodeHandlerTest extends SapphireTest |
7 | 7 | { |
8 | - protected static $fixture_file = 'YouTubeShortCodeTest.yml'; |
|
8 | + protected static $fixture_file = 'YouTubeShortCodeTest.yml'; |
|
9 | 9 | |
10 | - public function testVideoIdOnly() |
|
11 | - { |
|
12 | - $page = $this->objFromFixture('Page', 'VideoIdOnly'); |
|
13 | - $html = ShortcodeParser::get_active()->parse($page->Content); |
|
14 | - $this->assertContains('<div class="YouTube">', $html); |
|
15 | - $expected = '<iframe width="560" height="315" src="https://www.youtube' |
|
16 | - . '.com/embed/5XQwWATPReA" frameborder="0" allowfullscreen=""' |
|
17 | - . '></iframe>'; |
|
18 | - $this->assertContains($expected, $html); |
|
19 | - } |
|
10 | + public function testVideoIdOnly() |
|
11 | + { |
|
12 | + $page = $this->objFromFixture('Page', 'VideoIdOnly'); |
|
13 | + $html = ShortcodeParser::get_active()->parse($page->Content); |
|
14 | + $this->assertContains('<div class="YouTube">', $html); |
|
15 | + $expected = '<iframe width="560" height="315" src="https://www.youtube' |
|
16 | + . '.com/embed/5XQwWATPReA" frameborder="0" allowfullscreen=""' |
|
17 | + . '></iframe>'; |
|
18 | + $this->assertContains($expected, $html); |
|
19 | + } |
|
20 | 20 | |
21 | - public function testVideoWithCaption() |
|
22 | - { |
|
23 | - $page = $this->objFromFixture('Page', 'VideoWithCaption'); |
|
24 | - $html = ShortcodeParser::get_active()->parse($page->Content); |
|
25 | - $this->assertContains('<div class="YouTube">', $html); |
|
26 | - $expected = '<iframe width="560" height="315" src="https://www.youtube' |
|
27 | - . '.com/embed/5XQwWATPReA" frameborder="0" allowfullscreen=""' |
|
28 | - . '></iframe>'; |
|
29 | - $this->assertContains('<p>This is a caption</p>', $html); |
|
21 | + public function testVideoWithCaption() |
|
22 | + { |
|
23 | + $page = $this->objFromFixture('Page', 'VideoWithCaption'); |
|
24 | + $html = ShortcodeParser::get_active()->parse($page->Content); |
|
25 | + $this->assertContains('<div class="YouTube">', $html); |
|
26 | + $expected = '<iframe width="560" height="315" src="https://www.youtube' |
|
27 | + . '.com/embed/5XQwWATPReA" frameborder="0" allowfullscreen=""' |
|
28 | + . '></iframe>'; |
|
29 | + $this->assertContains('<p>This is a caption</p>', $html); |
|
30 | 30 | |
31 | - $this->assertContains($expected, $html); |
|
32 | - } |
|
31 | + $this->assertContains($expected, $html); |
|
32 | + } |
|
33 | 33 | |
34 | - public function testVideoWithWidth() |
|
35 | - { |
|
36 | - $page = $this->objFromFixture('Page', 'VideoWithWidth'); |
|
37 | - $html = ShortcodeParser::get_active()->parse($page->Content); |
|
38 | - $this->assertContains('<div class="YouTube">', $html); |
|
39 | - $expected = '<iframe width="314" height="315" src="https://www.youtube' |
|
40 | - . '.com/embed/5XQwWATPReA" frameborder="0" allowfullscreen=""' |
|
41 | - . '></iframe>'; |
|
42 | - $this->assertContains($expected, $html); |
|
43 | - } |
|
34 | + public function testVideoWithWidth() |
|
35 | + { |
|
36 | + $page = $this->objFromFixture('Page', 'VideoWithWidth'); |
|
37 | + $html = ShortcodeParser::get_active()->parse($page->Content); |
|
38 | + $this->assertContains('<div class="YouTube">', $html); |
|
39 | + $expected = '<iframe width="314" height="315" src="https://www.youtube' |
|
40 | + . '.com/embed/5XQwWATPReA" frameborder="0" allowfullscreen=""' |
|
41 | + . '></iframe>'; |
|
42 | + $this->assertContains($expected, $html); |
|
43 | + } |
|
44 | 44 | |
45 | - public function testVideoWithHeight() |
|
46 | - { |
|
47 | - $page = $this->objFromFixture('Page', 'VideoWithHeight'); |
|
48 | - $html = ShortcodeParser::get_active()->parse($page->Content); |
|
49 | - $this->assertContains('<div class="YouTube">', $html); |
|
50 | - $expected = '<iframe width="560" height="314" src="https://www.youtube' |
|
51 | - . '.com/embed/5XQwWATPReA" frameborder="0" allowfullscreen=""' |
|
52 | - . '></iframe>'; |
|
53 | - $this->assertContains($expected, $html); |
|
54 | - } |
|
45 | + public function testVideoWithHeight() |
|
46 | + { |
|
47 | + $page = $this->objFromFixture('Page', 'VideoWithHeight'); |
|
48 | + $html = ShortcodeParser::get_active()->parse($page->Content); |
|
49 | + $this->assertContains('<div class="YouTube">', $html); |
|
50 | + $expected = '<iframe width="560" height="314" src="https://www.youtube' |
|
51 | + . '.com/embed/5XQwWATPReA" frameborder="0" allowfullscreen=""' |
|
52 | + . '></iframe>'; |
|
53 | + $this->assertContains($expected, $html); |
|
54 | + } |
|
55 | 55 | |
56 | - public function testVideoWithAll() |
|
57 | - { |
|
58 | - $page = $this->objFromFixture('Page', 'VideoWithAll'); |
|
59 | - $html = ShortcodeParser::get_active()->parse($page->Content); |
|
60 | - $this->assertContains('<div class="YouTube">', $html); |
|
61 | - $expected = '<iframe width="314" height="418" src="https://www.youtube' |
|
62 | - . '.com/embed/5XQwWATPReA" frameborder="0" allowfullscreen=""' |
|
63 | - . '></iframe>'; |
|
64 | - $this->assertContains($expected, $html); |
|
65 | - $this->assertContains('<p>This is a caption</p>', $html); |
|
66 | - } |
|
56 | + public function testVideoWithAll() |
|
57 | + { |
|
58 | + $page = $this->objFromFixture('Page', 'VideoWithAll'); |
|
59 | + $html = ShortcodeParser::get_active()->parse($page->Content); |
|
60 | + $this->assertContains('<div class="YouTube">', $html); |
|
61 | + $expected = '<iframe width="314" height="418" src="https://www.youtube' |
|
62 | + . '.com/embed/5XQwWATPReA" frameborder="0" allowfullscreen=""' |
|
63 | + . '></iframe>'; |
|
64 | + $this->assertContains($expected, $html); |
|
65 | + $this->assertContains('<p>This is a caption</p>', $html); |
|
66 | + } |
|
67 | 67 | |
68 | - public function testVideoWithNoID() |
|
69 | - { |
|
70 | - $page = $this->objFromFixture('Page', 'VideoWithNoID'); |
|
71 | - $html = ShortcodeParser::get_active()->parse($page->Content); |
|
68 | + public function testVideoWithNoID() |
|
69 | + { |
|
70 | + $page = $this->objFromFixture('Page', 'VideoWithNoID'); |
|
71 | + $html = ShortcodeParser::get_active()->parse($page->Content); |
|
72 | 72 | |
73 | - $this->assertEquals('There should not be a video here ', $html); |
|
74 | - } |
|
73 | + $this->assertEquals('There should not be a video here ', $html); |
|
74 | + } |
|
75 | 75 | |
76 | - public function testVideoWithNoAutoPlay() |
|
77 | - { |
|
78 | - $page = $this->objFromFixture('Page', 'VideoWithNoAutoPlay'); |
|
79 | - $html = ShortcodeParser::get_active()->parse($page->Content); |
|
80 | - $this->assertContains('<div class="YouTube">', $html); |
|
81 | - $expected = '<iframe width="560" height="315" src="https://www.youtube.' |
|
82 | - . 'com/embed/5XQwWATPReA&AutoPlay=1" frameborder="0" allo' |
|
83 | - . 'wfullscreen="">'; |
|
84 | - $this->assertContains($expected, $html); |
|
85 | - } |
|
76 | + public function testVideoWithNoAutoPlay() |
|
77 | + { |
|
78 | + $page = $this->objFromFixture('Page', 'VideoWithNoAutoPlay'); |
|
79 | + $html = ShortcodeParser::get_active()->parse($page->Content); |
|
80 | + $this->assertContains('<div class="YouTube">', $html); |
|
81 | + $expected = '<iframe width="560" height="315" src="https://www.youtube.' |
|
82 | + . 'com/embed/5XQwWATPReA&AutoPlay=1" frameborder="0" allo' |
|
83 | + . 'wfullscreen="">'; |
|
84 | + $this->assertContains($expected, $html); |
|
85 | + } |
|
86 | 86 | } |