diff --git a/Source/Itch.php b/Source/Itch.php index a8f7b20..c86451a 100644 --- a/Source/Itch.php +++ b/Source/Itch.php @@ -84,7 +84,6 @@ class Itch extends Source { public function page($url) { $game = new Game; $game->url = $url; - $game->platform = 'Квестер'; $title = trim($this->dom->filter("title")->first()->text()); [$game->title, $game->author] = explode(' by ', $title); unset($title); diff --git a/composer.json b/composer.json index f16ae6e..f07ee4c 100644 --- a/composer.json +++ b/composer.json @@ -15,5 +15,8 @@ }, "require-dev": { "phpunit/phpunit": "^7.4@dev" + }, + "scripts": { + "test": "phpunit tests/" } } diff --git a/tests/ItchTest.php b/tests/ItchTest.php new file mode 100644 index 0000000..891af6a --- /dev/null +++ b/tests/ItchTest.php @@ -0,0 +1,49 @@ + + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +require_once 'vendor/autoload.php'; +require_once 'Game.php'; +require_once 'Source.php'; +require_once 'Source/Itch.php'; +use PHPUnit\Framework\TestCase; + +class ItchTest extends TestCase +{ + protected $parser; + protected function setUp() { + $this->parser = new Source\Itch(); + } + public function testPageCheck() + { + $this->assertTrue($this->parser->checkPage('https://aetherinteractive.itch.io/subserial-network')); + $this->assertTrue($this->parser->checkPage('http://zarf.itch.io/spider-and-web')); + $this->assertFalse($this->parser->checkPage('https://itch.io')); + $this->assertFalse($this->parser->checkPage('http://itch.io')); + } + public function testPageParsing() + { + $url = 'https://zarf.itch.io/spider-and-web'; + $game_page = $this->parser->get_text($url); + $this->parser->loadStr($game_page, []); + $game = $this->parser->page($url); + $this->assertSame($game->url, $url); + $this->assertSame($game->title, 'Spider And Web'); + $this->assertSame($game->author, 'zarf'); + } +}