+ {include file="inc/footer.tpl"}
diff --git a/templates/password.tpl b/templates/password.tpl
index 3425f36..62c0f4c 100644
--- a/templates/password.tpl
+++ b/templates/password.tpl
@@ -6,9 +6,9 @@
-{include file='inc/footer.tpl'}
+ {include file='inc/footer.tpl'}
diff --git a/templates/playlist.tpl b/templates/playlist.tpl
index 5804e4b..179a394 100644
--- a/templates/playlist.tpl
+++ b/templates/playlist.tpl
@@ -1,43 +1,44 @@
{include file="inc/head.tpl"}
-
-{include file="inc/logo.tpl"}
+
+ {include file="inc/logo.tpl"}
-{if isset($video->title)}
- {$title="
+ {if isset($video->title)}
+ {$title="
{$video->title}
"}
-
- {t params=['@title'=>$title]}Videos extracted from @title:{/t}
-
-{/if}
+
+ {t params=['@title'=>$title]}Videos extracted from @title:{/t}
+
+ {/if}
-{if $config->stream}
- webpage_url}" class="downloadBtn">Download everything
-{/if}
-{foreach $video->entries as $entry}
-
+ {/foreach}
-
-{include file="inc/footer.tpl"}
+
+ {include file="inc/footer.tpl"}
diff --git a/tests/BaseTest.php b/tests/BaseTest.php
index b0d1a48..d717b79 100644
--- a/tests/BaseTest.php
+++ b/tests/BaseTest.php
@@ -7,6 +7,7 @@
namespace Alltube\Test;
use Alltube\Config;
+use Exception;
use PHPUnit\Framework\TestCase;
/**
@@ -32,6 +33,7 @@ abstract class BaseTest extends TestCase
/**
* Prepare tests.
+ * @throws Exception
*/
protected function setUp(): void
{
diff --git a/tests/ConfigTest.php b/tests/ConfigTest.php
index bacdc3a..09374cf 100644
--- a/tests/ConfigTest.php
+++ b/tests/ConfigTest.php
@@ -23,6 +23,7 @@ class ConfigTest extends BaseTest
/**
* Prepare tests.
+ * @throws Exception
*/
protected function setUp(): void
{
@@ -39,7 +40,7 @@ class ConfigTest extends BaseTest
public function testGetInstance()
{
$config = Config::getInstance();
- $this->assertEquals($config->convert, false);
+ $this->assertEquals(false, $config->convert);
$this->assertConfig($config);
}
@@ -53,7 +54,7 @@ class ConfigTest extends BaseTest
Config::destroyInstance();
$config = Config::getInstance();
- $this->assertEquals($config->convert, false);
+ $this->assertEquals(false, $config->convert);
$this->assertConfig($config);
}
@@ -81,6 +82,7 @@ class ConfigTest extends BaseTest
* Test the setFile function.
*
* @return void
+ * @throws Exception
*/
public function testSetFile()
{
@@ -103,24 +105,26 @@ class ConfigTest extends BaseTest
* Test the setOptions function.
*
* @return void
+ * @throws Exception
*/
public function testSetOptions()
{
Config::setOptions(['appName' => 'foo']);
$config = Config::getInstance();
- $this->assertEquals($config->appName, 'foo');
+ $this->assertEquals('foo', $config->appName);
}
/**
* Test the setOptions function.
*
* @return void
+ * @throws Exception
*/
public function testSetOptionsWithoutUpdate()
{
Config::setOptions(['appName' => 'foo'], false);
$config = Config::getInstance();
- $this->assertEquals($config->appName, 'foo');
+ $this->assertEquals('foo', $config->appName);
}
/**
@@ -149,6 +153,7 @@ class ConfigTest extends BaseTest
* Test the getInstance function with the CONVERT and PYTHON environment variables.
*
* @return void
+ * @throws Exception
*/
public function testGetInstanceWithEnv()
{
@@ -156,7 +161,7 @@ class ConfigTest extends BaseTest
putenv('CONVERT=1');
Config::setFile($this->getConfigFile());
$config = Config::getInstance();
- $this->assertEquals($config->convert, true);
+ $this->assertEquals(true, $config->convert);
putenv('CONVERT');
}
}
diff --git a/tests/ControllerTest.php b/tests/ControllerTest.php
index 7d90efe..bd9f737 100644
--- a/tests/ControllerTest.php
+++ b/tests/ControllerTest.php
@@ -6,10 +6,12 @@
namespace Alltube\Test;
+use Alltube\Controller\BaseController;
use Alltube\Controller\DownloadController;
use Alltube\Controller\FrontController;
use Alltube\LocaleManager;
use Alltube\ViewFactory;
+use Exception;
use Slim\Container;
use Slim\Http\Environment;
use Slim\Http\Request;
@@ -43,11 +45,13 @@ abstract class ControllerTest extends BaseTest
/**
* Controller instance used in tests.
+ * @var BaseController
*/
protected $controller;
/**
* Prepare tests.
+ * @throws Exception
*/
protected function setUp(): void
{
@@ -78,7 +82,7 @@ abstract class ControllerTest extends BaseTest
* Run controller function with custom query parameters and return the result.
*
* @param string $request Controller function to call
- * @param array $params Query parameters
+ * @param mixed[] $params Query parameters
*
* @return Response HTTP response
*/
@@ -94,7 +98,7 @@ abstract class ControllerTest extends BaseTest
* Assert that calling controller function with these parameters returns a 200 HTTP response.
*
* @param string $request Controller function to call
- * @param array $params Query parameters
+ * @param mixed[] $params Query parameters
*
* @return void
*/
@@ -107,7 +111,7 @@ abstract class ControllerTest extends BaseTest
* Assert that calling controller function with these parameters returns an HTTP redirect.
*
* @param string $request Controller function to call
- * @param array $params Query parameters
+ * @param mixed[] $params Query parameters
*
* @return void
*/
@@ -120,7 +124,7 @@ abstract class ControllerTest extends BaseTest
* Assert that calling controller function with these parameters returns an HTTP 500 error.
*
* @param string $request Controller function to call
- * @param array $params Query parameters
+ * @param mixed[] $params Query parameters
*
* @return void
*/
@@ -133,7 +137,7 @@ abstract class ControllerTest extends BaseTest
* Assert that calling controller function with these parameters returns an HTTP 400 error.
*
* @param string $request Controller function to call
- * @param array $params Query parameters
+ * @param mixed[] $params Query parameters
*
* @return void
*/
diff --git a/tests/ConvertedPlaylistArchiveStreamTest.php b/tests/ConvertedPlaylistArchiveStreamTest.php
index 57c7fe6..e8cb002 100644
--- a/tests/ConvertedPlaylistArchiveStreamTest.php
+++ b/tests/ConvertedPlaylistArchiveStreamTest.php
@@ -8,6 +8,7 @@ namespace Alltube\Test;
use Alltube\Stream\ConvertedPlaylistArchiveStream;
use Alltube\Video;
+use Exception;
/**
* Unit tests for the ConvertedPlaylistArchiveStream class.
@@ -17,6 +18,7 @@ class ConvertedPlaylistArchiveStreamTest extends StreamTest
{
/**
* Prepare tests.
+ * @throws Exception
*/
protected function setUp(): void
{
diff --git a/tests/DownloadControllerTest.php b/tests/DownloadControllerTest.php
index 9e93c98..761ba21 100644
--- a/tests/DownloadControllerTest.php
+++ b/tests/DownloadControllerTest.php
@@ -8,6 +8,7 @@ namespace Alltube\Test;
use Alltube\Config;
use Alltube\Controller\DownloadController;
+use Exception;
/**
* Unit tests for the FrontController class.
@@ -17,6 +18,7 @@ class DownloadControllerTest extends ControllerTest
{
/**
* Prepare tests.
+ * @throws Exception
*/
protected function setUp(): void
{
@@ -62,6 +64,7 @@ class DownloadControllerTest extends ControllerTest
* Test the download() function with streams enabled.
*
* @return void
+ * @throws Exception
*/
public function testDownloadWithStream()
{
@@ -77,6 +80,7 @@ class DownloadControllerTest extends ControllerTest
* Test the download() function with an M3U stream.
*
* @return void
+ * @throws Exception
*/
public function testDownloadWithM3uStream()
{
@@ -96,6 +100,7 @@ class DownloadControllerTest extends ControllerTest
* Test the download() function with an RTMP stream.
*
* @return void
+ * @throws Exception
*/
public function testDownloadWithRtmpStream()
{
@@ -113,6 +118,7 @@ class DownloadControllerTest extends ControllerTest
* Test the download() function with a remuxed video.
*
* @return void
+ * @throws Exception
*/
public function testDownloadWithRemux()
{
@@ -182,6 +188,7 @@ class DownloadControllerTest extends ControllerTest
*
* @return void
* @requires OS Linux
+ * @throws Exception
*/
public function testDownloadWithPlaylist()
{
@@ -197,6 +204,7 @@ class DownloadControllerTest extends ControllerTest
* Test the download() function with an advanced conversion.
*
* @return void
+ * @throws Exception
*/
public function testDownloadWithAdvancedConversion()
{
diff --git a/tests/FrontControllerTest.php b/tests/FrontControllerTest.php
index 20b34bf..92e4824 100644
--- a/tests/FrontControllerTest.php
+++ b/tests/FrontControllerTest.php
@@ -17,8 +17,15 @@ use Slim\Http\Request;
*/
class FrontControllerTest extends ControllerTest
{
+ /**
+ * Controller instance used in tests.
+ * @var FrontController
+ */
+ protected $controller;
+
/**
* Prepare tests.
+ * @throws Exception
*/
protected function setUp(): void
{
@@ -41,6 +48,7 @@ class FrontControllerTest extends ControllerTest
* Test the constructor with streams enabled.
*
* @return void
+ * @throws Exception
*/
public function testConstructorWithStream()
{
@@ -120,6 +128,7 @@ class FrontControllerTest extends ControllerTest
*
* @return void
* @requires download
+ * @throws Exception
*/
public function testInfoWithAudio()
{
@@ -136,6 +145,7 @@ class FrontControllerTest extends ControllerTest
*
* @return void
* @requires download
+ * @throws Exception
*/
public function testInfoWithVimeoAudio()
{
@@ -150,6 +160,7 @@ class FrontControllerTest extends ControllerTest
*
* @return void
* @requires download
+ * @throws Exception
*/
public function testInfoWithUnconvertedAudio()
{
@@ -197,6 +208,7 @@ class FrontControllerTest extends ControllerTest
*
* @return void
* @requires download
+ * @throws Exception
*/
public function testInfoWithStream()
{
diff --git a/tests/JsonControllerTest.php b/tests/JsonControllerTest.php
index 9256c38..d2d6c3e 100644
--- a/tests/JsonControllerTest.php
+++ b/tests/JsonControllerTest.php
@@ -7,6 +7,7 @@
namespace Alltube\Test;
use Alltube\Controller\JsonController;
+use Exception;
/**
* Unit tests for the FrontController class.
@@ -15,6 +16,7 @@ class JsonControllerTest extends ControllerTest
{
/**
* Prepare tests.
+ * @throws Exception
*/
protected function setUp(): void
{
diff --git a/tests/LocaleMiddlewareTest.php b/tests/LocaleMiddlewareTest.php
index d751bd9..feb05c2 100644
--- a/tests/LocaleMiddlewareTest.php
+++ b/tests/LocaleMiddlewareTest.php
@@ -6,7 +6,6 @@
namespace Alltube\Test;
-use Alltube\Locale;
use Alltube\LocaleManager;
use Alltube\LocaleMiddleware;
use Slim\Container;
diff --git a/tests/PlaylistArchiveStreamTest.php b/tests/PlaylistArchiveStreamTest.php
index 09848e3..f02a6ea 100644
--- a/tests/PlaylistArchiveStreamTest.php
+++ b/tests/PlaylistArchiveStreamTest.php
@@ -8,6 +8,7 @@ namespace Alltube\Test;
use Alltube\Stream\PlaylistArchiveStream;
use Alltube\Video;
+use Exception;
/**
* Unit tests for the PlaylistArchiveStream class.
@@ -17,6 +18,7 @@ class PlaylistArchiveStreamTest extends StreamTest
{
/**
* Prepare tests.
+ * @throws Exception
*/
protected function setUp(): void
{
diff --git a/tests/StreamTest.php b/tests/StreamTest.php
index 7ffe235..f634838 100644
--- a/tests/StreamTest.php
+++ b/tests/StreamTest.php
@@ -6,6 +6,7 @@
namespace Alltube\Test;
+use Psr\Http\Message\StreamInterface;
use RuntimeException;
/**
@@ -15,6 +16,7 @@ abstract class StreamTest extends BaseTest
{
/**
* Stream instance.
+ * @var StreamInterface
*/
protected $stream;
@@ -36,7 +38,7 @@ abstract class StreamTest extends BaseTest
public function testWrite()
{
if ($this->stream->isWritable()) {
- $this->assertNull($this->stream->write('foo'));
+ $this->assertIsInt($this->stream->write('foo'));
} else {
$this->expectException(RuntimeException::class);
$this->stream->write('foo');
@@ -103,7 +105,7 @@ abstract class StreamTest extends BaseTest
*/
public function testEof()
{
- $this->assertFalse($this->stream->eof());
+ $this->assertIsBool($this->stream->eof());
}
/**
diff --git a/tests/VideoStubsTest.php b/tests/VideoStubsTest.php
index 755cdb2..51f758d 100644
--- a/tests/VideoStubsTest.php
+++ b/tests/VideoStubsTest.php
@@ -26,6 +26,7 @@ class VideoStubsTest extends BaseTest
/**
* Initialize properties used by test.
+ * @throws Exception
*/
protected function setUp(): void
{
diff --git a/tests/VideoTest.php b/tests/VideoTest.php
index 7967f47..e6d4552 100644
--- a/tests/VideoTest.php
+++ b/tests/VideoTest.php
@@ -7,6 +7,8 @@
namespace Alltube\Test;
use Alltube\Config;
+use Alltube\Exception\EmptyUrlException;
+use Alltube\Exception\PasswordException;
use Alltube\Video;
use Exception;
@@ -20,6 +22,7 @@ class VideoTest extends BaseTest
* Test getExtractors function.
*
* @return void
+ * @throws PasswordException
*/
public function testGetExtractors()
{
@@ -29,13 +32,15 @@ class VideoTest extends BaseTest
/**
* Test getUrl function.
*
- * @param string $url URL
- * @param string $format Format
- * @param string $filename Filename
+ * @param string $url URL
+ * @param string $format Format
+ * @param string $filename Filename
* @param string $extension File extension
- * @param string $domain Domain
+ * @param string $domain Domain
*
* @return void
+ * @throws PasswordException
+ * @throws EmptyUrlException
* @dataProvider urlProvider
* @dataProvider m3uUrlProvider
* @dataProvider remuxUrlProvider
@@ -57,6 +62,8 @@ class VideoTest extends BaseTest
* Test getUrl function with a protected video.
*
* @return void
+ * @throws EmptyUrlException
+ * @throws PasswordException
*/
public function testgetUrlWithPassword()
{
@@ -70,6 +77,8 @@ class VideoTest extends BaseTest
* Test getUrl function with a protected video and no password.
*
* @return void
+ * @throws EmptyUrlException
+ * @throws PasswordException
*/
public function testgetUrlWithMissingPassword()
{
@@ -82,6 +91,8 @@ class VideoTest extends BaseTest
* Test getUrl function with a protected video and a wrong password.
*
* @return void
+ * @throws EmptyUrlException
+ * @throws PasswordException
*/
public function testgetUrlWithWrongPassword()
{
@@ -96,6 +107,8 @@ class VideoTest extends BaseTest
* @param string $url URL
*
* @return void
+ * @throws EmptyUrlException
+ * @throws PasswordException
* @dataProvider ErrorUrlProvider
*/
public function testgetUrlError($url)
@@ -112,7 +125,7 @@ class VideoTest extends BaseTest
*/
public function urlProvider()
{
- $videos = [
+ return [
[
'https://www.youtube.com/watch?v=M7IpKCZ47pU', 'best[protocol^=http]',
'It_s_Not_Me_It_s_You_-_Hearts_Under_Fire-M7IpKCZ47pU',
@@ -136,11 +149,9 @@ class VideoTest extends BaseTest
'https://vimeo.com/24195442', 'http-720p',
'Carving_the_Mountains-24195442',
'mp4',
- 'gcs-vimeo.akamaized.net',
+ 'akamaized.net',
]
];
-
- return $videos;
}
/**
@@ -167,7 +178,7 @@ class VideoTest extends BaseTest
*/
public function m3uUrlProvider()
{
- $videos = [
+ return [
[
'https://twitter.com/verge/status/813055465324056576/video/1', 'hls-2176',
'The_Verge_-_This_tiny_origami_robot_can_self-fold_and_complete_tasks-813055465324056576',
@@ -175,8 +186,6 @@ class VideoTest extends BaseTest
'video.twimg.com',
]
];
-
- return $videos;
}
/**
@@ -211,12 +220,13 @@ class VideoTest extends BaseTest
/**
* Test getJSON function.
*
- * @param string $url URL
+ * @param string $url URL
* @param string $format Format
*
* @return void
* @dataProvider urlProvider
* @dataProvider m3uUrlProvider
+ * @throws PasswordException
*/
public function testGetJson($url, $format)
{
@@ -237,6 +247,7 @@ class VideoTest extends BaseTest
*
* @return void
* @dataProvider ErrorURLProvider
+ * @throws PasswordException
*/
public function testGetJsonError($url)
{
@@ -248,15 +259,16 @@ class VideoTest extends BaseTest
/**
* Test getFilename function.
*
- * @param string $url URL
- * @param string $format Format
- * @param string $filename Filename
+ * @param string $url URL
+ * @param string $format Format
+ * @param string $filename Filename
* @param string $extension File extension
*
* @return void
* @dataProvider urlProvider
* @dataProvider m3uUrlProvider
* @dataProvider remuxUrlProvider
+ * @throws PasswordException
*/
public function testGetFilename($url, $format, $filename, $extension)
{
@@ -271,6 +283,7 @@ class VideoTest extends BaseTest
*
* @return void
* @dataProvider ErrorUrlProvider
+ * @throws PasswordException
*/
public function testGetFilenameError($url)
{
@@ -282,11 +295,12 @@ class VideoTest extends BaseTest
/**
* Test getAudioStream function.
*
- * @param string $url URL
+ * @param string $url URL
* @param string $format Format
*
* @return void
* @dataProvider urlProvider
+ * @throws Exception
*/
public function testGetAudioStream($url, $format)
{
@@ -371,11 +385,12 @@ class VideoTest extends BaseTest
/**
* Test getM3uStream function.
*
- * @param string $url URL
+ * @param string $url URL
* @param string $format Format
*
* @return void
* @dataProvider m3uUrlProvider
+ * @throws Exception
*/
public function testGetM3uStream($url, $format)
{
@@ -386,11 +401,12 @@ class VideoTest extends BaseTest
/**
* Test getRemuxStream function.
*
- * @param string $url URL
+ * @param string $url URL
* @param string $format Format
*
* @return void
* @dataProvider remuxUrlProvider
+ * @throws Exception
*/
public function testGetRemuxStream($url, $format)
{
@@ -417,11 +433,12 @@ class VideoTest extends BaseTest
/**
* Test getRtmpStream function.
*
- * @param string $url URL
+ * @param string $url URL
* @param string $format Format
*
* @return void
* @dataProvider rtmpUrlProvider
+ * @throws Exception
*/
public function testGetRtmpStream($url, $format)
{
@@ -453,11 +470,12 @@ class VideoTest extends BaseTest
/**
* Test getConvertedStream function without avconv.
*
- * @param string $url URL
+ * @param string $url URL
* @param string $format Format
*
* @return void
* @dataProvider urlProvider
+ * @throws Exception
*/
public function testGetConvertedStream($url, $format)
{
diff --git a/tests/ViewFactoryTest.php b/tests/ViewFactoryTest.php
index 45286c9..1bafff9 100644
--- a/tests/ViewFactoryTest.php
+++ b/tests/ViewFactoryTest.php
@@ -12,6 +12,7 @@ use Slim\Container;
use Slim\Http\Environment;
use Slim\Http\Request;
use Slim\Views\Smarty;
+use SmartyException;
/**
* Unit tests for the ViewFactory class.
@@ -22,6 +23,7 @@ class ViewFactoryTest extends BaseTest
* Test the create() function.
*
* @return void
+ * @throws SmartyException
*/
public function testCreate()
{
@@ -35,6 +37,7 @@ class ViewFactoryTest extends BaseTest
* Test the create() function with a X-Forwarded-Proto header.
*
* @return void
+ * @throws SmartyException
*/
public function testCreateWithXForwardedProto()
{
diff --git a/tests/YoutubeChunkStreamTest.php b/tests/YoutubeChunkStreamTest.php
index 5cce098..41a2f38 100644
--- a/tests/YoutubeChunkStreamTest.php
+++ b/tests/YoutubeChunkStreamTest.php
@@ -8,6 +8,7 @@ namespace Alltube\Test;
use Alltube\Stream\YoutubeChunkStream;
use Alltube\Video;
+use Exception;
/**
* Unit tests for the YoutubeChunkStream class.
@@ -17,6 +18,7 @@ class YoutubeChunkStreamTest extends StreamTest
{
/**
* Prepare tests.
+ * @throws Exception
*/
protected function setUp(): void
{
diff --git a/tests/YoutubeStreamTest.php b/tests/YoutubeStreamTest.php
index 2345ea9..b8b4d13 100644
--- a/tests/YoutubeStreamTest.php
+++ b/tests/YoutubeStreamTest.php
@@ -8,6 +8,7 @@ namespace Alltube\Test;
use Alltube\Stream\YoutubeStream;
use Alltube\Video;
+use Exception;
/**
* Unit tests for the YoutubeStream class.
@@ -17,6 +18,7 @@ class YoutubeStreamTest extends StreamTest
{
/**
* Prepare tests.
+ * @throws Exception
*/
protected function setUp(): void
{
diff --git a/tests/bootstrap.php b/tests/bootstrap.php
index 72eed31..43b3b3d 100644
--- a/tests/bootstrap.php
+++ b/tests/bootstrap.php
@@ -9,7 +9,7 @@ use phpmock\mockery\PHPMockery;
// Composer autoload.
require_once __DIR__ . '/../vendor/autoload.php';
-ini_set('session.use_cookies', 0);
+ini_set('session.use_cookies', '0');
session_cache_limiter('');
session_start();