diff options
author | ArthurHoaro <arthur@hoa.ro> | 2015-11-08 12:40:14 +0100 |
---|---|---|
committer | ArthurHoaro <arthur@hoa.ro> | 2015-11-08 12:40:14 +0100 |
commit | ff5bda8238b1914ac80c45ffb3fcb910c4b4568c (patch) | |
tree | 7350feed42eee7d581542c3443f5e88171c19023 | |
parent | 1b2b44f4bd4457a3dc7b559d3e86cd38644ffe6f (diff) | |
download | Shaarli-ff5bda8238b1914ac80c45ffb3fcb910c4b4568c.tar.gz Shaarli-ff5bda8238b1914ac80c45ffb3fcb910c4b4568c.tar.zst Shaarli-ff5bda8238b1914ac80c45ffb3fcb910c4b4568c.zip |
unit test for addlink_toolbar + coding style
-rwxr-xr-x | plugins/addlink_toolbar/addlink_toolbar.php | 13 | ||||
-rw-r--r-- | tests/plugins/PluginAddlinkTest.php | 100 |
2 files changed, 111 insertions, 2 deletions
diff --git a/plugins/addlink_toolbar/addlink_toolbar.php b/plugins/addlink_toolbar/addlink_toolbar.php index 826a0922..ba3849cf 100755 --- a/plugins/addlink_toolbar/addlink_toolbar.php +++ b/plugins/addlink_toolbar/addlink_toolbar.php | |||
@@ -1,12 +1,19 @@ | |||
1 | <?php | 1 | <?php |
2 | 2 | ||
3 | /** | 3 | /** |
4 | * Plugin addlink_toolbar. | ||
5 | * Adds the addlink input on the linklist page. | ||
6 | */ | ||
7 | |||
8 | /** | ||
4 | * When linklist is displayed, add play videos to header's toolbar. | 9 | * When linklist is displayed, add play videos to header's toolbar. |
5 | * | 10 | * |
6 | * @param array $data - header data. | 11 | * @param array $data - header data. |
12 | * | ||
7 | * @return mixed - header data with addlink toolbar item. | 13 | * @return mixed - header data with addlink toolbar item. |
8 | */ | 14 | */ |
9 | function hook_addlink_toolbar_render_header($data) { | 15 | function hook_addlink_toolbar_render_header($data) |
16 | { | ||
10 | if ($data['_PAGE_'] == Router::$PAGE_LINKLIST && $data['_LOGGEDIN_'] === true) { | 17 | if ($data['_PAGE_'] == Router::$PAGE_LINKLIST && $data['_LOGGEDIN_'] === true) { |
11 | $data['fields_toolbar'][] = file_get_contents(PluginManager::$PLUGINS_PATH . '/addlink_toolbar/addlink_toolbar.html'); | 18 | $data['fields_toolbar'][] = file_get_contents(PluginManager::$PLUGINS_PATH . '/addlink_toolbar/addlink_toolbar.html'); |
12 | } | 19 | } |
@@ -18,9 +25,11 @@ function hook_addlink_toolbar_render_header($data) { | |||
18 | * When link list is displayed, include markdown CSS. | 25 | * When link list is displayed, include markdown CSS. |
19 | * | 26 | * |
20 | * @param array $data - includes data. | 27 | * @param array $data - includes data. |
28 | * | ||
21 | * @return mixed - includes data with markdown CSS file added. | 29 | * @return mixed - includes data with markdown CSS file added. |
22 | */ | 30 | */ |
23 | function hook_addlink_toolbar_render_includes($data) { | 31 | function hook_addlink_toolbar_render_includes($data) |
32 | { | ||
24 | if ($data['_PAGE_'] == Router::$PAGE_LINKLIST && $data['_LOGGEDIN_'] === true) { | 33 | if ($data['_PAGE_'] == Router::$PAGE_LINKLIST && $data['_LOGGEDIN_'] === true) { |
25 | $data['css_files'][] = PluginManager::$PLUGINS_PATH . '/addlink_toolbar/addlink_toolbar.css'; | 34 | $data['css_files'][] = PluginManager::$PLUGINS_PATH . '/addlink_toolbar/addlink_toolbar.css'; |
26 | } | 35 | } |
diff --git a/tests/plugins/PluginAddlinkTest.php b/tests/plugins/PluginAddlinkTest.php new file mode 100644 index 00000000..a2f25bec --- /dev/null +++ b/tests/plugins/PluginAddlinkTest.php | |||
@@ -0,0 +1,100 @@ | |||
1 | <?php | ||
2 | |||
3 | /** | ||
4 | * PluginPlayvideosTest.php | ||
5 | */ | ||
6 | |||
7 | require_once 'plugins/addlink_toolbar/addlink_toolbar.php'; | ||
8 | require_once 'application/Router.php'; | ||
9 | |||
10 | /** | ||
11 | * Class PluginAddlinkTest | ||
12 | * Unit test for the Addlink toolbar plugin | ||
13 | */ | ||
14 | class PluginAddlinkTest extends PHPUnit_Framework_TestCase | ||
15 | { | ||
16 | /** | ||
17 | * Reset plugin path. | ||
18 | */ | ||
19 | function setUp() | ||
20 | { | ||
21 | PluginManager::$PLUGINS_PATH = 'plugins'; | ||
22 | } | ||
23 | |||
24 | /** | ||
25 | * Test render_header hook while logged in. | ||
26 | */ | ||
27 | function testAddlinkHeaderLoggedIn() | ||
28 | { | ||
29 | $str = 'stuff'; | ||
30 | $data = array($str => $str); | ||
31 | $data['_PAGE_'] = Router::$PAGE_LINKLIST; | ||
32 | $data['_LOGGEDIN_'] = true; | ||
33 | |||
34 | $data = hook_addlink_toolbar_render_header($data); | ||
35 | $this->assertEquals($str, $data[$str]); | ||
36 | $this->assertEquals(1, count($data['fields_toolbar'])); | ||
37 | |||
38 | $data = array($str => $str); | ||
39 | $data['_PAGE_'] = $str; | ||
40 | $data['_LOGGEDIN_'] = true; | ||
41 | $data = hook_addlink_toolbar_render_header($data); | ||
42 | $this->assertEquals($str, $data[$str]); | ||
43 | $this->assertArrayNotHasKey('fields_toolbar', $data); | ||
44 | } | ||
45 | |||
46 | /** | ||
47 | * Test render_header hook while logged out. | ||
48 | */ | ||
49 | function testAddlinkHeaderLoggedOut() | ||
50 | { | ||
51 | $str = 'stuff'; | ||
52 | $data = array($str => $str); | ||
53 | $data['_PAGE_'] = Router::$PAGE_LINKLIST; | ||
54 | $data['_LOGGEDIN_'] = false; | ||
55 | |||
56 | $data = hook_addlink_toolbar_render_header($data); | ||
57 | $this->assertEquals($str, $data[$str]); | ||
58 | $this->assertArrayNotHasKey('fields_toolbar', $data); | ||
59 | } | ||
60 | |||
61 | /** | ||
62 | * Test render_includes hook while logged in. | ||
63 | */ | ||
64 | function testAddlinkIncludesLoggedIn() | ||
65 | { | ||
66 | $str = 'stuff'; | ||
67 | $data = array($str => $str); | ||
68 | $data['_PAGE_'] = Router::$PAGE_LINKLIST; | ||
69 | $data['_LOGGEDIN_'] = true; | ||
70 | |||
71 | $data = hook_addlink_toolbar_render_includes($data); | ||
72 | $this->assertEquals($str, $data[$str]); | ||
73 | $this->assertEquals(1, count($data['css_files'])); | ||
74 | |||
75 | $str = 'stuff'; | ||
76 | $data = array($str => $str); | ||
77 | $data['_PAGE_'] = $str; | ||
78 | $data['_LOGGEDIN_'] = true; | ||
79 | |||
80 | $data = hook_addlink_toolbar_render_includes($data); | ||
81 | $this->assertEquals($str, $data[$str]); | ||
82 | $this->assertArrayNotHasKey('css_files', $data); | ||
83 | } | ||
84 | |||
85 | /** | ||
86 | * Test render_includes hook. | ||
87 | * Should not affect css files while logged out. | ||
88 | */ | ||
89 | function testAddlinkIncludesLoggedOut() | ||
90 | { | ||
91 | $str = 'stuff'; | ||
92 | $data = array($str => $str); | ||
93 | $data['_PAGE_'] = Router::$PAGE_LINKLIST; | ||
94 | $data['_LOGGEDIN_'] = false; | ||
95 | |||
96 | $data = hook_addlink_toolbar_render_includes($data); | ||
97 | $this->assertEquals($str, $data[$str]); | ||
98 | $this->assertArrayNotHasKey('css_files', $data); | ||
99 | } | ||
100 | } | ||