From 2021dccc5a444f60c5ba1673d94b39999912cd26 Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sun, 20 Sep 2015 15:53:28 -0400 Subject: Move subtask forecast to a plugin Plugin repo: https://github.com/kanboard/plugin-subtask-forecast --- tests/units/Core/Plugin/HookTest.php | 62 ++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 tests/units/Core/Plugin/HookTest.php (limited to 'tests/units/Core/Plugin') diff --git a/tests/units/Core/Plugin/HookTest.php b/tests/units/Core/Plugin/HookTest.php new file mode 100644 index 00000000..95434ce4 --- /dev/null +++ b/tests/units/Core/Plugin/HookTest.php @@ -0,0 +1,62 @@ +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); + } +} -- cgit v1.2.3