]> git.immae.eu Git - github/shaarli/Shaarli.git/blob - tests/plugins/PluginArchiveorgTest.php
Cleanup: explicit method visibility
[github/shaarli/Shaarli.git] / tests / plugins / PluginArchiveorgTest.php
1 <?php
2
3 /**
4 * PluginArchiveorgTest.php
5 */
6
7 require_once 'plugins/archiveorg/archiveorg.php';
8
9 /**
10 * Class PluginArchiveorgTest
11 * Unit test for the archiveorg plugin
12 */
13 class PluginArchiveorgTest extends PHPUnit_Framework_TestCase
14 {
15 /**
16 * Reset plugin path
17 */
18 public function setUp()
19 {
20 PluginManager::$PLUGINS_PATH = 'plugins';
21 }
22
23 /**
24 * Test render_linklist hook on external links.
25 */
26 public function testArchiveorgLinklistOnExternalLinks()
27 {
28 $str = 'http://randomstr.com/test';
29
30 $data = array(
31 'title' => $str,
32 'links' => array(
33 array(
34 'url' => $str,
35 'private' => 0,
36 'real_url' => $str
37 )
38 )
39 );
40
41 $data = hook_archiveorg_render_linklist($data);
42
43 $link = $data['links'][0];
44 // data shouldn't be altered
45 $this->assertEquals($str, $data['title']);
46 $this->assertEquals($str, $link['url']);
47
48 // plugin data
49 $this->assertEquals(1, count($link['link_plugin']));
50 $this->assertNotFalse(strpos($link['link_plugin'][0], $str));
51 }
52
53 /**
54 * Test render_linklist hook on internal links.
55 */
56 public function testArchiveorgLinklistOnInternalLinks()
57 {
58 $internalLink1 = 'http://shaarli.shaarli/?qvMAqg';
59 $internalLinkRealURL1 = '?qvMAqg';
60
61 $internalLink2 = 'http://shaarli.shaarli/?2_7zww';
62 $internalLinkRealURL2 = '?2_7zww';
63
64 $internalLink3 = 'http://shaarli.shaarli/?z7u-_Q';
65 $internalLinkRealURL3 = '?z7u-_Q';
66
67 $data = array(
68 'title' => $internalLink1,
69 'links' => array(
70 array(
71 'url' => $internalLink1,
72 'private' => 0,
73 'real_url' => $internalLinkRealURL1
74 ),
75 array(
76 'url' => $internalLink1,
77 'private' => 1,
78 'real_url' => $internalLinkRealURL1
79 ),
80 array(
81 'url' => $internalLink2,
82 'private' => 0,
83 'real_url' => $internalLinkRealURL2
84 ),
85 array(
86 'url' => $internalLink2,
87 'private' => 1,
88 'real_url' => $internalLinkRealURL2
89 ),
90 array(
91 'url' => $internalLink3,
92 'private' => 0,
93 'real_url' => $internalLinkRealURL3
94 ),
95 array(
96 'url' => $internalLink3,
97 'private' => 1,
98 'real_url' => $internalLinkRealURL3
99 )
100 )
101 );
102
103 $data = hook_archiveorg_render_linklist($data);
104
105 // Case n°1: first link type, public
106 $link = $data['links'][0];
107
108 $this->assertEquals(1, count($link['link_plugin']));
109 $this->assertNotFalse(strpos($link['link_plugin'][0], $internalLink1));
110
111 // Case n°2: first link type, private
112 $link = $data['links'][1];
113
114 $this->assertArrayNotHasKey('link_plugin', $link);
115
116 // Case n°3: second link type, public
117 $link = $data['links'][2];
118
119 $this->assertEquals(1, count($link['link_plugin']));
120 $this->assertNotFalse(strpos($link['link_plugin'][0], $internalLink2));
121
122 // Case n°4: second link type, private
123 $link = $data['links'][3];
124
125 $this->assertArrayNotHasKey('link_plugin', $link);
126
127 // Case n°5: third link type, public
128 $link = $data['links'][4];
129
130 $this->assertEquals(1, count($link['link_plugin']));
131 $this->assertNotFalse(strpos($link['link_plugin'][0], $internalLink3));
132
133 // Case n°6: third link type, private
134 $link = $data['links'][5];
135
136 $this->assertArrayNotHasKey('link_plugin', $link);
137 }
138 }