はじまりの大地
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
<?php
|
||||
|
||||
namespace dokuwiki\plugin\vshare\test;
|
||||
|
||||
use DokuWikiTest;
|
||||
|
||||
/**
|
||||
* syntax handling tests for the vshare plugin
|
||||
*
|
||||
* @group plugin_vshare
|
||||
* @group plugins
|
||||
*/
|
||||
class VideoSyntaxTest extends DokuWikiTest
|
||||
{
|
||||
|
||||
/**
|
||||
* @return array[]
|
||||
* @see testParseSize
|
||||
*/
|
||||
public function provideParseSize()
|
||||
{
|
||||
return [
|
||||
['', 425, 239],
|
||||
['small', 255, 143],
|
||||
['Small', 255, 143],
|
||||
['178x123', 178, 123],
|
||||
['178X123', 178, 123],
|
||||
['small&medium', 255, 143, ['medium' => '']],
|
||||
['small&autoplay=false', 255, 143, ['autoplay' => 'false']],
|
||||
['178x123&autoplay=false', 178, 123, ['autoplay' => 'false']],
|
||||
['autoplay=false', 425, 239, ['autoplay' => 'false']],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider provideParseSize
|
||||
* @param string $input
|
||||
* @param int $ewidth
|
||||
* @param int $eheight
|
||||
* @param array $eparams
|
||||
*/
|
||||
public function testParseSize($input, $ewidth, $eheight, $eparams = [])
|
||||
{
|
||||
$syntax = new \syntax_plugin_vshare_video();
|
||||
parse_str($input, $params);
|
||||
list($width, $height) = $syntax->parseSize($params);
|
||||
|
||||
$this->assertEquals($ewidth, $width, 'width');
|
||||
$this->assertEquals($eheight, $height, 'height');
|
||||
$this->assertEquals($eparams, $eparams, 'height');
|
||||
}
|
||||
|
||||
/**
|
||||
* @see testHandle
|
||||
*/
|
||||
public function provideHandle()
|
||||
{
|
||||
return [
|
||||
[
|
||||
'{{youtube>L-WM8YxwqEU}}',
|
||||
[
|
||||
'site' => 'youtube',
|
||||
'domain' => 'www.youtube-nocookie.com',
|
||||
'video' => 'L-WM8YxwqEU',
|
||||
'url' => '//www.youtube-nocookie.com/embed/L-WM8YxwqEU?',
|
||||
'align' => 'none',
|
||||
'width' => 425,
|
||||
'height' => 239,
|
||||
'title' => '',
|
||||
],
|
||||
],
|
||||
[
|
||||
'{{youtube>L-WM8YxwqEU?small&start=30&end=45|A random segment of 15 seconds}}',
|
||||
[
|
||||
'site' => 'youtube',
|
||||
'domain' => 'www.youtube-nocookie.com',
|
||||
'video' => 'L-WM8YxwqEU',
|
||||
'url' => '//www.youtube-nocookie.com/embed/L-WM8YxwqEU?start=30&end=45',
|
||||
'align' => 'none',
|
||||
'width' => 255,
|
||||
'height' => 143,
|
||||
'title' => 'A random segment of 15 seconds',
|
||||
],
|
||||
],
|
||||
// FIXME add more tests
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider provideHandle
|
||||
* @param string $input
|
||||
* @param array $expect
|
||||
*/
|
||||
public function testHandle($input, $expect)
|
||||
{
|
||||
$syntax = new \syntax_plugin_vshare_video();
|
||||
$result = $syntax->handle($input, DOKU_LEXER_MATCHED, 0, new \Doku_Handler());
|
||||
$this->assertEquals($expect, $result);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user