aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
authorArthurHoaro <arthur@hoa.ro>2015-11-18 17:40:42 +0100
committerArthurHoaro <arthur@hoa.ro>2016-01-31 18:54:48 +0100
commitdea0ba28f950867532eae572e7bcda49e81bbcf0 (patch)
tree8a9c4f9d7525a2ba249bbaaabe456c2d0941293b /tests
parent423e2a8b13dc0069c83f3e540f576aa1b89fe5d5 (diff)
downloadShaarli-dea0ba28f950867532eae572e7bcda49e81bbcf0.tar.gz
Shaarli-dea0ba28f950867532eae572e7bcda49e81bbcf0.tar.zst
Shaarli-dea0ba28f950867532eae572e7bcda49e81bbcf0.zip
Fixes #378 - Plugin administration UI.
Diffstat (limited to 'tests')
-rw-r--r--tests/ConfigTest.php109
-rw-r--r--tests/PluginManagerTest.php19
-rw-r--r--tests/plugins/test/test.meta2
3 files changed, 130 insertions, 0 deletions
diff --git a/tests/ConfigTest.php b/tests/ConfigTest.php
index adebfcc3..492ddd3b 100644
--- a/tests/ConfigTest.php
+++ b/tests/ConfigTest.php
@@ -174,4 +174,113 @@ class ConfigTest extends PHPUnit_Framework_TestCase
174 include self::$configFields['config']['CONFIG_FILE']; 174 include self::$configFields['config']['CONFIG_FILE'];
175 $this->assertEquals(self::$configFields['login'], $GLOBALS['login']); 175 $this->assertEquals(self::$configFields['login'], $GLOBALS['login']);
176 } 176 }
177
178 /**
179 * Test save_plugin_config with valid data.
180 *
181 * @throws PluginConfigOrderException
182 */
183 public function testSavePluginConfigValid()
184 {
185 $data = array(
186 'order_plugin1' => 2, // no plugin related
187 'plugin2' => 0, // new - at the end
188 'plugin3' => 0, // 2nd
189 'order_plugin3' => 8,
190 'plugin4' => 0, // 1st
191 'order_plugin4' => 5,
192 );
193
194 $expected = array(
195 'plugin3',
196 'plugin4',
197 'plugin2',
198 );
199
200 $out = save_plugin_config($data);
201 $this->assertEquals($expected, $out);
202 }
203
204 /**
205 * Test save_plugin_config with invalid data.
206 *
207 * @expectedException PluginConfigOrderException
208 */
209 public function testSavePluginConfigInvalid()
210 {
211 $data = array(
212 'plugin2' => 0,
213 'plugin3' => 0,
214 'order_plugin3' => 0,
215 'plugin4' => 0,
216 'order_plugin4' => 0,
217 );
218
219 save_plugin_config($data);
220 }
221
222 /**
223 * Test save_plugin_config without data.
224 */
225 public function testSavePluginConfigEmpty()
226 {
227 $this->assertEquals(array(), save_plugin_config(array()));
228 }
229
230 /**
231 * Test validate_plugin_order with valid data.
232 */
233 public function testValidatePluginOrderValid()
234 {
235 $data = array(
236 'order_plugin1' => 2,
237 'plugin2' => 0,
238 'plugin3' => 0,
239 'order_plugin3' => 1,
240 'plugin4' => 0,
241 'order_plugin4' => 5,
242 );
243
244 $this->assertTrue(validate_plugin_order($data));
245 }
246
247 /**
248 * Test validate_plugin_order with invalid data.
249 */
250 public function testValidatePluginOrderInvalid()
251 {
252 $data = array(
253 'order_plugin1' => 2,
254 'order_plugin3' => 1,
255 'order_plugin4' => 1,
256 );
257
258 $this->assertFalse(validate_plugin_order($data));
259 }
260
261 /**
262 * Test load_plugin_parameter_values.
263 */
264 public function testLoadPluginParameterValues()
265 {
266 $plugins = array(
267 'plugin_name' => array(
268 'parameters' => array(
269 'param1' => true,
270 'param2' => false,
271 'param3' => '',
272 )
273 )
274 );
275
276 $parameters = array(
277 'param1' => 'value1',
278 'param2' => 'value2',
279 );
280
281 $result = load_plugin_parameter_values($plugins, $parameters);
282 $this->assertEquals('value1', $result['plugin_name']['parameters']['param1']);
283 $this->assertEquals('value2', $result['plugin_name']['parameters']['param2']);
284 $this->assertEquals('', $result['plugin_name']['parameters']['param3']);
285 }
177} 286}
diff --git a/tests/PluginManagerTest.php b/tests/PluginManagerTest.php
index df2614b5..348082c7 100644
--- a/tests/PluginManagerTest.php
+++ b/tests/PluginManagerTest.php
@@ -63,4 +63,23 @@ class PluginManagerTest extends PHPUnit_Framework_TestCase
63 63
64 $pluginManager->load(array('nope', 'renope')); 64 $pluginManager->load(array('nope', 'renope'));
65 } 65 }
66
67 /**
68 * Test plugin metadata loading.
69 */
70 public function testGetPluginsMeta()
71 {
72 $pluginManager = PluginManager::getInstance();
73
74 PluginManager::$PLUGINS_PATH = self::$pluginPath;
75 $pluginManager->load(array(self::$pluginName));
76
77 $expectedParameters = array(
78 'pop' => '',
79 'hip' => '',
80 );
81 $meta = $pluginManager->getPluginsMeta();
82 $this->assertEquals('test plugin', $meta[self::$pluginName]['description']);
83 $this->assertEquals($expectedParameters, $meta[self::$pluginName]['parameters']);
84 }
66} \ No newline at end of file 85} \ No newline at end of file
diff --git a/tests/plugins/test/test.meta b/tests/plugins/test/test.meta
new file mode 100644
index 00000000..ab999ed4
--- /dev/null
+++ b/tests/plugins/test/test.meta
@@ -0,0 +1,2 @@
1description="test plugin"
2parameters="pop;hip" \ No newline at end of file