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; } }