/
HookTest.php
74 lines (55 loc) · 1.39 KB
/
HookTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php
namespace CssCrush\UnitTest;
use CssCrush\Hook;
class HookTest extends \PHPUnit_Framework_TestCase
{
public function setUp()
{
Hook::$register = array();
$this->dummy_hook = __NAMESPACE__ . '\dummy_hook';
}
public function tearDown()
{
Hook::$register = array();
}
public function testAdd()
{
Hook::add('foo', $this->dummy_hook);
Hook::add('foo', 'strtoupper');
$this->assertEquals(array('foo' => array($this->dummy_hook=>true, 'strtoupper'=>true)), Hook::$register);
return Hook::$register;
}
/**
* @depends testAdd
*/
public function testRemove($register)
{
Hook::$register = $register;
Hook::remove('foo', 'strtoupper');
$this->assertEquals(array('foo' => array($this->dummy_hook=>true)), Hook::$register);
return Hook::$register;
}
/**
* @depends testRemove
*/
public function testRun($register)
{
Hook::$register = $register;
Hook::run('foo', $this);
$this->assertTrue($this->hookRan);
return Hook::$register;
}
/**
* @depends testRun
*/
public function testReset($register)
{
Hook::$register = $register;
Hook::reset();
$this->assertEquals(array(), Hook::$register);
}
}
function dummy_hook(HookTest $test)
{
$test->hookRan = true;
}