From bd46f6303ea547746240aa2f2d524fdd6de9915f Mon Sep 17 00:00:00 2001 From: Pierre Rudloff Date: Thu, 6 Aug 2015 21:16:58 +0200 Subject: [PATCH 1/7] Release script --- .gitignore | 1 + release.sh | 2 ++ 2 files changed, 3 insertions(+) create mode 100755 release.sh diff --git a/.gitignore b/.gitignore index 5b596c1..65a8d60 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ vendor/ templates_c/ ffmpeg.tar.xz ffmpeg-*/ +alltube-release.zip diff --git a/release.sh b/release.sh new file mode 100755 index 0000000..7e45ed9 --- /dev/null +++ b/release.sh @@ -0,0 +1,2 @@ +rm alltube-release.zip +zip -r alltube-release.zip *.php dist/ fonts/ .htaccess img/ js/ LICENSE README.md robots.txt sitemap.xml templates/ templates_c/ vendor/ youtube-dl -x config.php From 381f1807452b35acb442ce367b49887dd382d8c4 Mon Sep 17 00:00:00 2001 From: Pierre Rudloff Date: Thu, 6 Aug 2015 21:21:56 +0200 Subject: [PATCH 2/7] Basic error catching in redirect script --- redirect.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/redirect.php b/redirect.php index d75b4ee..de9a40d 100644 --- a/redirect.php +++ b/redirect.php @@ -15,5 +15,9 @@ require_once 'common.php'; require_once 'download.php'; if (isset($_GET["url"])) { $video = VideoDownload::getURL($_GET["url"]); - header('Location: '.$video['url']); + if (isset($video['url'])) { + header('Location: '.$video['url']); + } else { + echo "Can't find video"; + } } From f6c323fcf1df4a1e47e13281dd8daa07d31b4237 Mon Sep 17 00:00:00 2001 From: Pierre Rudloff Date: Sat, 29 Aug 2015 21:46:57 +0200 Subject: [PATCH 3/7] Very basic unit testing --- tests/VideoDownloadTest.php | 71 +++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 tests/VideoDownloadTest.php diff --git a/tests/VideoDownloadTest.php b/tests/VideoDownloadTest.php new file mode 100644 index 0000000..7e01706 --- /dev/null +++ b/tests/VideoDownloadTest.php @@ -0,0 +1,71 @@ + + * @license GNU General Public License http://www.gnu.org/licenses/gpl.html + * @link http://rudloff.pro + * */ + +require_once __DIR__.'/../common.php'; +require_once __DIR__.'/../download.php'; + +/** + * Unit tests for the VideoDownload class + * + * PHP Version 5.3.10 + * + * @category Youtube-dl + * @package Youtubedl + * @author Pierre Rudloff + * @license GNU General Public License http://www.gnu.org/licenses/gpl.html + * @link http://rudloff.pro + * */ +class VideoDownloadTest extends PHPUnit_Framework_TestCase +{ + static private $_testVideoURL = 'https://www.youtube.com/watch?v=RJJ6FCAXvKg'; + + /** + * Test getVersion function + * @return void + */ + public function testGetVersion() + { + $this->assertStringMatchesFormat('%i.%i.%i', VideoDownload::getVersion()); + } + + /** + * Test getUA function + * @return void + */ + public function testGetUA() + { + $this->assertStringStartsWith('Mozilla/', VideoDownload::getUA()); + } + + /** + * Test listExtractors funtion + * @return void + */ + public function testListExtractors() + { + $extractors = VideoDownload::listExtractors(); + $this->assertNotEmpty($extractors); + $this->assertInternalType('array', $extractors); + } + + /** + * Test getURL function + * @return void + */ + public function testGetURL() + { + $url = VideoDownload::getURL(self::$_testVideoURL); + $this->assertArrayHasKey('success', $url); + $this->assertArrayHasKey('url', $url); + } +} From a208b4a1dc6b0ed8a1865cfd30680633f7684499 Mon Sep 17 00:00:00 2001 From: Pierre Rudloff Date: Sat, 29 Aug 2015 22:02:16 +0200 Subject: [PATCH 4/7] We don't need to shrinkwrap anymore --- npm-shrinkwrap.json | 891 -------------------------------------------- 1 file changed, 891 deletions(-) delete mode 100644 npm-shrinkwrap.json diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json deleted file mode 100644 index d25f37d..0000000 --- a/npm-shrinkwrap.json +++ /dev/null @@ -1,891 +0,0 @@ -{ - "name": "alltube", - "version": "0.2.1", - "dependencies": { - "grunt": { - "version": "0.4.5", - "from": "grunt@~0.4.1", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz", - "dependencies": { - "async": { - "version": "0.1.22", - "from": "async@0.1.22", - "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz" - }, - "coffee-script": { - "version": "1.3.3", - "from": "coffee-script@1.3.3", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz" - }, - "colors": { - "version": "0.6.2", - "from": "colors@0.6.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz" - }, - "dateformat": { - "version": "1.0.2-1.2.3", - "from": "dateformat@1.0.2-1.2.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz" - }, - "eventemitter2": { - "version": "0.4.14", - "from": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz" - }, - "findup-sync": { - "version": "0.1.3", - "from": "findup-sync@0.1.3", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz", - "dependencies": { - "glob": { - "version": "3.2.11", - "from": "glob@~3.2.9", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", - "dependencies": { - "inherits": { - "version": "2.0.1", - "from": "inherits@2", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" - }, - "minimatch": { - "version": "0.3.0", - "from": "minimatch@0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", - "dependencies": { - "lru-cache": { - "version": "2.6.3", - "from": "lru-cache@2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.3.tgz" - }, - "sigmund": { - "version": "1.0.0", - "from": "sigmund@~1.0.0", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" - } - } - } - } - }, - "lodash": { - "version": "2.4.2", - "from": "lodash@^2.4.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz" - } - } - }, - "glob": { - "version": "3.1.21", - "from": "glob@3.1.21", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", - "dependencies": { - "graceful-fs": { - "version": "1.2.3", - "from": "graceful-fs@~1.2.0", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" - }, - "inherits": { - "version": "1.0.0", - "from": "inherits@1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz" - } - } - }, - "hooker": { - "version": "0.2.3", - "from": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", - "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz" - }, - "iconv-lite": { - "version": "0.2.11", - "from": "iconv-lite@0.2.11", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz" - }, - "minimatch": { - "version": "0.2.14", - "from": "minimatch@0.2.14", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "dependencies": { - "lru-cache": { - "version": "2.6.3", - "from": "lru-cache@2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.3.tgz" - }, - "sigmund": { - "version": "1.0.0", - "from": "sigmund@~1.0.0", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" - } - } - }, - "nopt": { - "version": "1.0.10", - "from": "nopt@1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "dependencies": { - "abbrev": { - "version": "1.0.5", - "from": "abbrev@1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz" - } - } - }, - "rimraf": { - "version": "2.2.8", - "from": "rimraf@2.2.8", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz" - }, - "lodash": { - "version": "0.9.2", - "from": "lodash@0.9.2", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz" - }, - "underscore.string": { - "version": "2.2.1", - "from": "underscore.string@2.2.1", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz" - }, - "which": { - "version": "1.0.9", - "from": "which@1.0.9", - "resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz" - }, - "js-yaml": { - "version": "2.0.5", - "from": "js-yaml@2.0.5", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz", - "dependencies": { - "argparse": { - "version": "0.1.16", - "from": "argparse@~ 0.1.11", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz", - "dependencies": { - "underscore": { - "version": "1.7.0", - "from": "underscore@~1.7.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz" - }, - "underscore.string": { - "version": "2.4.0", - "from": "underscore.string@~2.4.0", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz" - } - } - }, - "esprima": { - "version": "1.0.4", - "from": "esprima@~ 1.0.2", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz" - } - } - }, - "exit": { - "version": "0.1.2", - "from": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" - }, - "getobject": { - "version": "0.1.0", - "from": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", - "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz" - }, - "grunt-legacy-util": { - "version": "0.2.0", - "from": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz", - "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz", - "dependencies": { - "async": { - "version": "0.1.22", - "from": "async@0.1.22", - "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz" - }, - "lodash": { - "version": "0.9.2", - "from": "lodash@0.9.2", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz" - }, - "underscore.string": { - "version": "2.2.1", - "from": "underscore.string@2.2.1", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz" - }, - "which": { - "version": "1.0.9", - "from": "which@1.0.9", - "resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz" - } - } - }, - "grunt-legacy-log": { - "version": "0.1.1", - "from": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.1.tgz", - "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.1.tgz", - "dependencies": { - "lodash": { - "version": "2.4.2", - "from": "lodash@2.4.2", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz" - }, - "underscore.string": { - "version": "2.3.3", - "from": "underscore.string@2.3.3", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz" - }, - "colors": { - "version": "0.6.2", - "from": "colors@0.6.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz" - } - } - } - } - }, - "grunt-cli": { - "version": "0.1.13", - "from": "grunt-cli@0.1.13", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-0.1.13.tgz", - "dependencies": { - "nopt": { - "version": "1.0.10", - "from": "nopt@1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "dependencies": { - "abbrev": { - "version": "1.0.5", - "from": "abbrev@1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz" - } - } - }, - "findup-sync": { - "version": "0.1.3", - "from": "findup-sync@0.1.3", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz", - "dependencies": { - "glob": { - "version": "3.2.11", - "from": "glob@~3.2.9", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", - "dependencies": { - "inherits": { - "version": "2.0.1", - "from": "inherits@2", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" - }, - "minimatch": { - "version": "0.3.0", - "from": "minimatch@0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", - "dependencies": { - "lru-cache": { - "version": "2.6.3", - "from": "lru-cache@2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.3.tgz" - }, - "sigmund": { - "version": "1.0.0", - "from": "sigmund@~1.0.0", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" - } - } - } - } - }, - "lodash": { - "version": "2.4.2", - "from": "lodash@~2.4.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz" - } - } - }, - "resolve": { - "version": "0.3.1", - "from": "resolve@0.3.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz" - } - } - }, - "grunt-contrib-cssmin": { - "version": "0.10.0", - "from": "grunt-contrib-cssmin@0.10.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.10.0.tgz", - "dependencies": { - "chalk": { - "version": "0.4.0", - "from": "chalk@~0.4.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", - "dependencies": { - "has-color": { - "version": "0.1.7", - "from": "has-color@~0.1.0", - "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz" - }, - "ansi-styles": { - "version": "1.0.0", - "from": "ansi-styles@~1.0.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz" - }, - "strip-ansi": { - "version": "0.1.1", - "from": "strip-ansi@~0.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz" - } - } - }, - "clean-css": { - "version": "2.2.23", - "from": "clean-css@~2.2.0", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-2.2.23.tgz", - "dependencies": { - "commander": { - "version": "2.2.0", - "from": "commander@2.2.x", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.2.0.tgz" - } - } - }, - "maxmin": { - "version": "0.2.2", - "from": "maxmin@~0.2.0", - "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-0.2.2.tgz", - "dependencies": { - "chalk": { - "version": "0.5.1", - "from": "chalk@^0.5.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", - "dependencies": { - "ansi-styles": { - "version": "1.1.0", - "from": "ansi-styles@^1.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz" - }, - "escape-string-regexp": { - "version": "1.0.3", - "from": "escape-string-regexp@^1.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz" - }, - "has-ansi": { - "version": "0.1.0", - "from": "has-ansi@^0.1.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", - "dependencies": { - "ansi-regex": { - "version": "0.2.1", - "from": "ansi-regex@^0.2.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz" - } - } - }, - "strip-ansi": { - "version": "0.3.0", - "from": "strip-ansi@^0.3.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", - "dependencies": { - "ansi-regex": { - "version": "0.2.1", - "from": "ansi-regex@^0.2.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz" - } - } - }, - "supports-color": { - "version": "0.2.0", - "from": "supports-color@^0.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz" - } - } - }, - "figures": { - "version": "1.3.5", - "from": "figures@^1.0.1", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.3.5.tgz" - }, - "gzip-size": { - "version": "0.2.0", - "from": "gzip-size@^0.2.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-0.2.0.tgz", - "dependencies": { - "concat-stream": { - "version": "1.4.8", - "from": "concat-stream@^1.4.1", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.8.tgz", - "dependencies": { - "inherits": { - "version": "2.0.1", - "from": "inherits@~2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" - }, - "typedarray": { - "version": "0.0.6", - "from": "typedarray@~0.0.5", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" - }, - "readable-stream": { - "version": "1.1.13", - "from": "readable-stream@~1.1.9", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz", - "dependencies": { - "core-util-is": { - "version": "1.0.1", - "from": "core-util-is@~1.0.0", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz" - }, - "isarray": { - "version": "0.0.1", - "from": "isarray@0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - }, - "string_decoder": { - "version": "0.10.31", - "from": "string_decoder@~0.10.x", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" - } - } - } - } - }, - "browserify-zlib": { - "version": "0.1.4", - "from": "browserify-zlib@^0.1.4", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "dependencies": { - "pako": { - "version": "0.2.6", - "from": "pako@~0.2.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.6.tgz" - } - } - } - } - }, - "pretty-bytes": { - "version": "0.1.2", - "from": "pretty-bytes@^0.1.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-0.1.2.tgz" - } - } - } - } - }, - "grunt-contrib-uglify": { - "version": "0.6.0", - "from": "grunt-contrib-uglify@0.6.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.6.0.tgz", - "dependencies": { - "chalk": { - "version": "0.5.1", - "from": "chalk@^0.5.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", - "dependencies": { - "ansi-styles": { - "version": "1.1.0", - "from": "ansi-styles@^1.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz" - }, - "escape-string-regexp": { - "version": "1.0.3", - "from": "escape-string-regexp@^1.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz" - }, - "has-ansi": { - "version": "0.1.0", - "from": "has-ansi@^0.1.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", - "dependencies": { - "ansi-regex": { - "version": "0.2.1", - "from": "ansi-regex@^0.2.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz" - } - } - }, - "strip-ansi": { - "version": "0.3.0", - "from": "strip-ansi@^0.3.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", - "dependencies": { - "ansi-regex": { - "version": "0.2.1", - "from": "ansi-regex@^0.2.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz" - } - } - }, - "supports-color": { - "version": "0.2.0", - "from": "supports-color@^0.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz" - } - } - }, - "lodash": { - "version": "2.4.2", - "from": "lodash@^2.4.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz" - }, - "maxmin": { - "version": "1.1.0", - "from": "maxmin@^1.0.0", - "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-1.1.0.tgz", - "dependencies": { - "chalk": { - "version": "1.0.0", - "from": "chalk@^1.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.0.0.tgz", - "dependencies": { - "ansi-styles": { - "version": "2.0.1", - "from": "ansi-styles@^2.0.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.0.1.tgz" - }, - "escape-string-regexp": { - "version": "1.0.3", - "from": "escape-string-regexp@^1.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz" - }, - "has-ansi": { - "version": "1.0.3", - "from": "has-ansi@^1.0.3", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-1.0.3.tgz", - "dependencies": { - "ansi-regex": { - "version": "1.1.1", - "from": "ansi-regex@^1.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz" - }, - "get-stdin": { - "version": "4.0.1", - "from": "get-stdin@^4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" - } - } - }, - "strip-ansi": { - "version": "2.0.1", - "from": "strip-ansi@^2.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz", - "dependencies": { - "ansi-regex": { - "version": "1.1.1", - "from": "ansi-regex@^1.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz" - } - } - }, - "supports-color": { - "version": "1.3.1", - "from": "supports-color@^1.3.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz" - } - } - }, - "figures": { - "version": "1.3.5", - "from": "figures@^1.0.1", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.3.5.tgz" - }, - "gzip-size": { - "version": "1.0.0", - "from": "gzip-size@^1.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-1.0.0.tgz", - "dependencies": { - "concat-stream": { - "version": "1.4.8", - "from": "concat-stream@^1.4.1", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.8.tgz", - "dependencies": { - "inherits": { - "version": "2.0.1", - "from": "inherits@~2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" - }, - "typedarray": { - "version": "0.0.6", - "from": "typedarray@~0.0.5", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" - }, - "readable-stream": { - "version": "1.1.13", - "from": "readable-stream@~1.1.9", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz", - "dependencies": { - "core-util-is": { - "version": "1.0.1", - "from": "core-util-is@~1.0.0", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz" - }, - "isarray": { - "version": "0.0.1", - "from": "isarray@0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - }, - "string_decoder": { - "version": "0.10.31", - "from": "string_decoder@~0.10.x", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" - } - } - } - } - }, - "browserify-zlib": { - "version": "0.1.4", - "from": "browserify-zlib@^0.1.4", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "dependencies": { - "pako": { - "version": "0.2.6", - "from": "pako@~0.2.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.6.tgz" - } - } - } - } - }, - "pretty-bytes": { - "version": "1.0.4", - "from": "pretty-bytes@^1.0.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz", - "dependencies": { - "get-stdin": { - "version": "4.0.1", - "from": "get-stdin@^4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" - }, - "meow": { - "version": "3.1.0", - "from": "meow@^3.1.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.1.0.tgz", - "dependencies": { - "camelcase-keys": { - "version": "1.0.0", - "from": "camelcase-keys@^1.0.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-1.0.0.tgz", - "dependencies": { - "camelcase": { - "version": "1.1.0", - "from": "camelcase@^1.0.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.1.0.tgz" - }, - "map-obj": { - "version": "1.0.1", - "from": "map-obj@^1.0.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" - } - } - }, - "indent-string": { - "version": "1.2.1", - "from": "indent-string@^1.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-1.2.1.tgz", - "dependencies": { - "repeating": { - "version": "1.1.2", - "from": "repeating@^1.1.0", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.2.tgz", - "dependencies": { - "is-finite": { - "version": "1.0.0", - "from": "is-finite@^1.0.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.0.tgz" - } - } - } - } - }, - "minimist": { - "version": "1.1.1", - "from": "minimist@^1.1.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.1.1.tgz" - }, - "object-assign": { - "version": "2.0.0", - "from": "object-assign@^2.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.0.0.tgz" - } - } - } - } - } - } - }, - "uglify-js": { - "version": "2.4.21", - "from": "uglify-js@^2.4.0", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.21.tgz", - "dependencies": { - "async": { - "version": "0.2.10", - "from": "async@~0.2.6", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" - }, - "source-map": { - "version": "0.1.34", - "from": "source-map@0.1.34", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz", - "dependencies": { - "amdefine": { - "version": "0.1.0", - "from": "amdefine@>=0.0.4", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz" - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "from": "uglify-to-browserify@~1.0.0", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz" - }, - "yargs": { - "version": "3.5.4", - "from": "yargs@~3.5.4", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz", - "dependencies": { - "camelcase": { - "version": "1.1.0", - "from": "camelcase@^1.0.2", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.1.0.tgz" - }, - "decamelize": { - "version": "1.0.0", - "from": "decamelize@^1.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.0.0.tgz" - }, - "window-size": { - "version": "0.1.0", - "from": "window-size@0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz" - }, - "wordwrap": { - "version": "0.0.2", - "from": "wordwrap@0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" - } - } - } - } - }, - "uri-path": { - "version": "0.0.2", - "from": "uri-path@0.0.2", - "resolved": "https://registry.npmjs.org/uri-path/-/uri-path-0.0.2.tgz" - } - } - }, - "grunt-contrib-watch": { - "version": "0.6.1", - "from": "grunt-contrib-watch@0.6.1", - "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-0.6.1.tgz", - "dependencies": { - "gaze": { - "version": "0.5.1", - "from": "gaze@~0.5.1", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.1.tgz", - "dependencies": { - "globule": { - "version": "0.1.0", - "from": "globule@0.1.0", - "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", - "dependencies": { - "lodash": { - "version": "1.0.2", - "from": "lodash@~1.0.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz" - }, - "glob": { - "version": "3.1.21", - "from": "glob@~3.1.21", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", - "dependencies": { - "graceful-fs": { - "version": "1.2.3", - "from": "graceful-fs@~1.2.0", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz" - }, - "inherits": { - "version": "1.0.0", - "from": "inherits@1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz" - } - } - }, - "minimatch": { - "version": "0.2.14", - "from": "minimatch@~0.2.11", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "dependencies": { - "lru-cache": { - "version": "2.6.3", - "from": "lru-cache@2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.3.tgz" - }, - "sigmund": { - "version": "1.0.0", - "from": "sigmund@~1.0.0", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz" - } - } - } - } - } - } - }, - "tiny-lr-fork": { - "version": "0.0.5", - "from": "tiny-lr-fork@0.0.5", - "resolved": "https://registry.npmjs.org/tiny-lr-fork/-/tiny-lr-fork-0.0.5.tgz", - "dependencies": { - "qs": { - "version": "0.5.6", - "from": "qs@0.5.6", - "resolved": "https://registry.npmjs.org/qs/-/qs-0.5.6.tgz" - }, - "faye-websocket": { - "version": "0.4.4", - "from": "faye-websocket@0.4.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.4.4.tgz" - }, - "noptify": { - "version": "0.0.3", - "from": "noptify@~0.0.3", - "resolved": "https://registry.npmjs.org/noptify/-/noptify-0.0.3.tgz", - "dependencies": { - "nopt": { - "version": "2.0.0", - "from": "nopt@2.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz", - "dependencies": { - "abbrev": { - "version": "1.0.5", - "from": "abbrev@1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz" - } - } - } - } - }, - "debug": { - "version": "0.7.4", - "from": "debug@0.7.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz" - } - } - }, - "lodash": { - "version": "2.4.2", - "from": "lodash@2.4.2", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz" - }, - "async": { - "version": "0.2.10", - "from": "async@0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" - } - } - }, - "grunt-phpcs": { - "version": "0.4.0", - "from": "grunt-phpcs@0.4.0", - "resolved": "https://registry.npmjs.org/grunt-phpcs/-/grunt-phpcs-0.4.0.tgz" - } - } -} From 334fa364c31c229432ee127aafa2370aa80dd29c Mon Sep 17 00:00:00 2001 From: Pierre Rudloff Date: Sat, 29 Aug 2015 22:03:10 +0200 Subject: [PATCH 5/7] phpunit grunt task --- Gruntfile.js | 10 ++++++++++ package.json | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/Gruntfile.js b/Gruntfile.js index 3d02cea..bfa43c3 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -31,12 +31,20 @@ module.exports = function (grunt) { php: { src: ['*.php'] }, + tests: { + src: ['tests/*.php'] + }, js: { src: ['js/*.js'] }, Gruntfile: { src: ['Gruntfile.js'] } + }, + phpunit: { + classes: { + dir: 'tests/' + } } } ); @@ -45,7 +53,9 @@ module.exports = function (grunt) { grunt.loadNpmTasks('grunt-contrib-cssmin'); grunt.loadNpmTasks('grunt-contrib-watch'); grunt.loadNpmTasks('grunt-phpcs'); + grunt.loadNpmTasks('grunt-phpunit'); grunt.registerTask('default', ['uglify', 'cssmin']); grunt.registerTask('lint', ['phpcs']); + grunt.registerTask('test', ['phpunit']); }; diff --git a/package.json b/package.json index 5852b67..5699d9d 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,8 @@ "grunt-contrib-cssmin": "~0.10.0", "grunt-contrib-uglify": "~0.6.0", "grunt-contrib-watch": "~0.6.1", - "grunt-phpcs": "~0.4.0" + "grunt-phpcs": "~0.4.0", + "grunt-phpunit": "~0.3.6" }, "engines": { "node": "~0.10.29" From e35d1535942156b1e54f3650b7a9a7d218dde7dc Mon Sep 17 00:00:00 2001 From: Pierre Rudloff Date: Sun, 30 Aug 2015 01:40:31 +0200 Subject: [PATCH 6/7] Travis --- .travis.yml | 9 +++++++++ common.php | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..924623f --- /dev/null +++ b/.travis.yml @@ -0,0 +1,9 @@ +language: php +php: + - 5.4 + - 5.5 + - 5.6 +install: + - composer install + - npm install +script: phpunit tests/ diff --git a/common.php b/common.php index be7d0bb..4db3064 100644 --- a/common.php +++ b/common.php @@ -12,7 +12,7 @@ * @license GNU General Public License http://www.gnu.org/licenses/gpl.html * @link http://rudloff.pro * */ -require_once 'vendor/autoload.php'; +require_once __DIR__.'/vendor/autoload.php'; if (is_file('config.php')) { include_once 'config.php'; } else { From a870f6283c2d8a0040f454917d2c9c422da55ac6 Mon Sep 17 00:00:00 2001 From: Pierre Rudloff Date: Sun, 30 Aug 2015 16:11:18 +0200 Subject: [PATCH 7/7] 0.3.2 release --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5699d9d..bf94bc7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "alltube", - "version": "0.3.1", + "version": "0.3.2", "dependencies": { "grunt": "~0.4.5", "grunt-cli": "~0.1.13",