J. King
5 years ago
10 changed files with 149 additions and 12 deletions
@ -0,0 +1,47 @@ |
|||
<?php |
|||
/** @license MIT |
|||
* Copyright 2017 J. King, Dustin Wilson et al. |
|||
* See LICENSE and AUTHORS files for details */ |
|||
|
|||
declare(strict_types=1); |
|||
namespace JKingWeb\Arsse\TestCase\Service; |
|||
|
|||
use JKingWeb\Arsse\Arsse; |
|||
use JKingWeb\Arsse\Database; |
|||
use JKingWeb\Arsse\Service\Driver as DriverInterface; |
|||
use JKingWeb\Arsse\Service\Serial\Driver; |
|||
|
|||
/** @covers \JKingWeb\Arsse\Service\Serial\Driver */ |
|||
class TestSerial extends \JKingWeb\Arsse\Test\AbstractTest { |
|||
public function setUp() { |
|||
self::clearData(); |
|||
self::setConf(); |
|||
Arsse::$db = \Phake::mock(Database::class); |
|||
} |
|||
|
|||
public function testConstruct() { |
|||
$this->assertTrue(Driver::requirementsMet()); |
|||
$this->assertInstanceOf(DriverInterface::class, new Driver); |
|||
} |
|||
|
|||
public function testFetchDriverName() { |
|||
$this->assertTrue(strlen(Driver::driverName()) > 0); |
|||
} |
|||
|
|||
public function testEnqueueFeeds() { |
|||
$d = new Driver; |
|||
$this->assertSame(3, $d->queue(1, 2, 3)); |
|||
$this->assertSame(5, $d->queue(4, 5)); |
|||
$this->assertSame(5, $d->clean()); |
|||
$this->assertSame(1, $d->queue(5)); |
|||
} |
|||
|
|||
public function testRefreshFeeds() { |
|||
$d = new Driver; |
|||
$d->queue(1, 4, 3); |
|||
$this->assertSame(Arsse::$conf->serviceQueueWidth, $d->exec()); |
|||
\Phake::verify(Arsse::$db)->feedUpdate(1); |
|||
\Phake::verify(Arsse::$db)->feedUpdate(4); |
|||
\Phake::verify(Arsse::$db)->feedUpdate(3); |
|||
} |
|||
} |
@ -0,0 +1,48 @@ |
|||
<?php |
|||
/** @license MIT |
|||
* Copyright 2017 J. King, Dustin Wilson et al. |
|||
* See LICENSE and AUTHORS files for details */ |
|||
|
|||
declare(strict_types=1); |
|||
namespace JKingWeb\Arsse\TestCase\Service; |
|||
|
|||
use JKingWeb\Arsse\Arsse; |
|||
use JKingWeb\Arsse\Database; |
|||
use JKingWeb\Arsse\Service\Driver as DriverInterface; |
|||
use JKingWeb\Arsse\Service\Subprocess\Driver; |
|||
|
|||
/** @covers \JKingWeb\Arsse\Service\Subprocess\Driver */ |
|||
class TestSubprocess extends \JKingWeb\Arsse\Test\AbstractTest { |
|||
public function setUp() { |
|||
self::clearData(); |
|||
self::setConf(); |
|||
} |
|||
|
|||
public function testConstruct() { |
|||
$this->assertTrue(Driver::requirementsMet()); |
|||
$this->assertInstanceOf(DriverInterface::class, new Driver); |
|||
} |
|||
|
|||
public function testFetchDriverName() { |
|||
$this->assertTrue(strlen(Driver::driverName()) > 0); |
|||
} |
|||
|
|||
public function testEnqueueFeeds() { |
|||
$d = new Driver; |
|||
$this->assertSame(3, $d->queue(1, 2, 3)); |
|||
$this->assertSame(5, $d->queue(4, 5)); |
|||
$this->assertSame(5, $d->clean()); |
|||
$this->assertSame(1, $d->queue(5)); |
|||
} |
|||
|
|||
public function testRefreshFeeds() { |
|||
$d = \Phake::partialMock(Driver::class); |
|||
\Phake::when($d)->execCmd->thenReturnCallback(function(string $cmd) { |
|||
// FIXME: Does this work in Windows? |
|||
return popen("echo ".escapeshellarg($cmd), "r"); |
|||
}); |
|||
$this->assertSame(3, $d->queue(1, 4, 3)); |
|||
$this->assertSame(Arsse::$conf->serviceQueueWidth, $d->exec()); |
|||
\Phake::verify($d, \Phake::times(3))->execCmd; |
|||
} |
|||
} |
@ -0,0 +1,13 @@ |
|||
<?php |
|||
/** @license MIT |
|||
* Copyright 2017 J. King, Dustin Wilson et al. |
|||
* See LICENSE and AUTHORS files for details */ |
|||
|
|||
declare(strict_types=1); |
|||
namespace JKingWeb\Arsse\Test; |
|||
|
|||
class Service extends \JKingWeb\Arsse\Service { |
|||
public function __construct(\JKingWeb\Arsse\Service\Driver $drv) { |
|||
$this->drv = $drv; |
|||
} |
|||
} |
Loading…
Reference in new issue