Move subtask forecast to a plugin
Plugin repo: https://github.com/kanboard/plugin-subtask-forecast
This commit is contained in:
62
tests/units/Core/Plugin/HookTest.php
Normal file
62
tests/units/Core/Plugin/HookTest.php
Normal file
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
require_once __DIR__.'/../../Base.php';
|
||||
|
||||
use Core\Plugin\Hook;
|
||||
|
||||
class HookTest extends Base
|
||||
{
|
||||
public function testGetListeners()
|
||||
{
|
||||
$h = new Hook;
|
||||
$this->assertEmpty($h->getListeners('myhook'));
|
||||
|
||||
$h->on('myhook', 'A');
|
||||
$h->on('myhook', 'B');
|
||||
|
||||
$this->assertEquals(array('A', 'B'), $h->getListeners('myhook'));
|
||||
}
|
||||
|
||||
public function testMergeWithNoBinding()
|
||||
{
|
||||
$h = new Hook;
|
||||
$values = array('A', 'B');
|
||||
|
||||
$result = $h->merge('myhook', $values, array('p' => 'c'));
|
||||
$this->assertEquals($values, $result);
|
||||
}
|
||||
|
||||
public function testMergeWithBindings()
|
||||
{
|
||||
$h = new Hook;
|
||||
$values = array('A', 'B');
|
||||
$expected = array('A', 'B', 'c', 'D');
|
||||
|
||||
$h->on('myhook', function($p) {
|
||||
return array($p);
|
||||
});
|
||||
|
||||
$h->on('myhook', function() {
|
||||
return array('D');
|
||||
});
|
||||
|
||||
$result = $h->merge('myhook', $values, array('p' => 'c'));
|
||||
$this->assertEquals($expected, $result);
|
||||
$this->assertEquals($expected, $values);
|
||||
}
|
||||
|
||||
public function testMergeWithBindingButReturningBadData()
|
||||
{
|
||||
$h = new Hook;
|
||||
$values = array('A', 'B');
|
||||
$expected = array('A', 'B');
|
||||
|
||||
$h->on('myhook', function() {
|
||||
return 'string';
|
||||
});
|
||||
|
||||
$result = $h->merge('myhook', $values);
|
||||
$this->assertEquals($expected, $result);
|
||||
$this->assertEquals($expected, $values);
|
||||
}
|
||||
}
|
||||
40
tests/units/Helper/HookHelperTest.php
Normal file
40
tests/units/Helper/HookHelperTest.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
require_once __DIR__.'/../Base.php';
|
||||
|
||||
use Helper\Hook;
|
||||
|
||||
class HookHelperTest extends Base
|
||||
{
|
||||
public function testMultipleHooks()
|
||||
{
|
||||
$this->container['template'] = $this
|
||||
->getMockBuilder('\Core\Template')
|
||||
->setConstructorArgs(array($this->container))
|
||||
->setMethods(array('render'))
|
||||
->getMock();
|
||||
|
||||
$this->container['template']
|
||||
->expects($this->at(0))
|
||||
->method('render')
|
||||
->with(
|
||||
$this->equalTo('tpl1'),
|
||||
$this->equalTo(array())
|
||||
)
|
||||
->will($this->returnValue('tpl1_content'));
|
||||
|
||||
$this->container['template']
|
||||
->expects($this->at(1))
|
||||
->method('render')
|
||||
->with(
|
||||
$this->equalTo('tpl2'),
|
||||
$this->equalTo(array())
|
||||
)
|
||||
->will($this->returnValue('tpl2_content'));
|
||||
|
||||
$h = new Hook($this->container);
|
||||
$h->attach('test', 'tpl1');
|
||||
$h->attach('test', 'tpl2');
|
||||
$this->assertEquals('tpl1_contenttpl2_content', $h->render('test'));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user