It does two types of "mocking": a) The first type simulates behavior of WordPress (TRUE_HOOKS). With this type you can call add_filter and apply_filters and the registered filter will be actually executed. b) The second type uses WP_MOCK. You can use all features of WP_MOCK if you choose it. The problem is, WP_MOCK does not execute the registered hooks; therefore, we introduced this thin wrapper. Usage: Just call HookMock::setUp with desired type of mocking in the setUp method of your test case and HookMock::tearDown in the tearDown method. Note: For now, this class supports only filters.
コード例 #1
0
 public static function assertFilesEqualDatabase()
 {
     HookMock::setUp(HookMock::TRUE_HOOKS);
     self::staticInitialization();
     $entityNames = self::$schemaInfo->getAllEntityNames();
     foreach ($entityNames as $entityName) {
         self::assertEntitiesEqualDatabase($entityName);
     }
     self::clearGlobalVariables();
     HookMock::tearDown();
 }
コード例 #2
0
use Composer\Autoload\ClassLoader;
use VersionPress\Storages\Mirror;
use VersionPress\Storages\StorageFactory;
use VersionPress\Tests\Utils\HookMock;
$opts = ['from:', 'to:'];
$args = getopt('', $opts);
if (count($args) < count($opts)) {
    die("Please specify all arguments\n");
}
require_once __DIR__ . '/../../vendor/autoload.php';
\Tracy\Debugger::enable(\Tracy\Debugger::DEVELOPMENT, __DIR__);
$classloader = new ClassLoader();
$classloader->addPsr4('VersionPress\\', __DIR__ . '/../../src');
$classloader->register();
HookMock::setUp(HookMock::TRUE_HOOKS);
// @codingStandardsIgnoreLine
class FooChangeInfo extends \VersionPress\ChangeInfos\TrackedChangeInfo
{
    private $files;
    public function __construct($files)
    {
        $this->files = $files;
    }
    public function getChangeDescription()
    {
        return join("\n", $this->files);
    }
    public function getScope()
    {
        return "file";
コード例 #3
0
 protected function setUp()
 {
     $this->root = vfsStream::setup();
     HookMock::setUp();
 }
コード例 #4
0
 protected function setUp()
 {
     HookMock::setUp();
 }
コード例 #5
0
 public static function tearDownAfterClass()
 {
     HookMock::tearDown();
 }
コード例 #6
0
 protected function tearDown()
 {
     HookMock::tearDown();
 }