MyShaarli/tests/updater/DummyUpdater.php

77 lines
1.8 KiB
PHP
Raw Permalink Normal View History

<?php
namespace Shaarli\Tests\updater;
use Exception;
use ReflectionClass;
use ReflectionMethod;
use Shaarli\Bookmark\BookmarkFileService;
use Shaarli\Bookmark\LinkDB;
use Shaarli\Config\ConfigManager;
use Shaarli\Updater\Updater;
/**
* Class DummyUpdater.
* Extends updater to add update method designed for unit tests.
*/
class DummyUpdater extends Updater
{
/**
* Object constructor.
*
* @param array $doneUpdates Updates which are already done.
* @param BookmarkFileService $bookmarkService LinkDB instance.
* @param ConfigManager $conf Configuration Manager instance.
* @param boolean $isLoggedIn True if the user is logged in.
*/
public function __construct($doneUpdates, $bookmarkService, $conf, $isLoggedIn)
{
parent::__construct($doneUpdates, $bookmarkService, $conf, $isLoggedIn);
// Retrieve all update methods.
// For unit test, only retrieve final methods,
$class = new ReflectionClass($this);
$this->methods = $class->getMethods(ReflectionMethod::IS_FINAL);
}
/**
* Update method 1.
*
* @return bool true.
*/
2020-09-29 15:00:11 +02:00
final protected function updateMethodDummy1()
{
return true;
}
/**
* Update method 2.
*
* @return bool true.
*/
2020-09-29 15:00:11 +02:00
final protected function updateMethodDummy2()
{
return true;
}
/**
* Update method 3.
*
* @return bool true.
*/
2020-09-29 15:00:11 +02:00
final protected function updateMethodDummy3()
{
return true;
}
/**
* Update method 4, raise an exception.
*
* @throws Exception error.
*/
2020-09-29 15:00:11 +02:00
final protected function updateMethodException()
{
throw new Exception('whatever');
}
}