]> git.immae.eu Git - github/shaarli/Shaarli.git/blame - tests/config/ConfigPluginTest.php
application: introduce the Shaarli\Config namespace
[github/shaarli/Shaarli.git] / tests / config / ConfigPluginTest.php
CommitLineData
59404d79 1<?php
3c66e564
V
2namespace Shaarli\Config;
3
59404d79
A
4/**
5 * Config' tests
6 */
7
8require_once 'application/config/ConfigPlugin.php';
9
10/**
11 * Unitary tests for Shaarli config related functions
12 */
3c66e564 13class ConfigPluginTest extends \PHPUnit_Framework_TestCase
59404d79
A
14{
15 /**
16 * Test save_plugin_config with valid data.
17 *
18 * @throws PluginConfigOrderException
19 */
20 public function testSavePluginConfigValid()
21 {
22 $data = array(
23 'order_plugin1' => 2, // no plugin related
24 'plugin2' => 0, // new - at the end
25 'plugin3' => 0, // 2nd
26 'order_plugin3' => 8,
27 'plugin4' => 0, // 1st
28 'order_plugin4' => 5,
29 );
30
31 $expected = array(
32 'plugin3',
33 'plugin4',
34 'plugin2',
35 );
36
37 $out = save_plugin_config($data);
38 $this->assertEquals($expected, $out);
39 }
40
41 /**
42 * Test save_plugin_config with invalid data.
43 *
3c66e564 44 * @expectedException Shaarli\Config\PluginConfigOrderException
59404d79
A
45 */
46 public function testSavePluginConfigInvalid()
47 {
48 $data = array(
49 'plugin2' => 0,
50 'plugin3' => 0,
51 'order_plugin3' => 0,
52 'plugin4' => 0,
53 'order_plugin4' => 0,
54 );
55
56 save_plugin_config($data);
57 }
58
59 /**
60 * Test save_plugin_config without data.
61 */
62 public function testSavePluginConfigEmpty()
63 {
64 $this->assertEquals(array(), save_plugin_config(array()));
65 }
66
67 /**
68 * Test validate_plugin_order with valid data.
69 */
70 public function testValidatePluginOrderValid()
71 {
72 $data = array(
73 'order_plugin1' => 2,
74 'plugin2' => 0,
75 'plugin3' => 0,
76 'order_plugin3' => 1,
77 'plugin4' => 0,
78 'order_plugin4' => 5,
79 );
80
81 $this->assertTrue(validate_plugin_order($data));
82 }
83
84 /**
85 * Test validate_plugin_order with invalid data.
86 */
87 public function testValidatePluginOrderInvalid()
88 {
89 $data = array(
90 'order_plugin1' => 2,
91 'order_plugin3' => 1,
92 'order_plugin4' => 1,
93 );
94
95 $this->assertFalse(validate_plugin_order($data));
96 }
97
98 /**
99 * Test load_plugin_parameter_values.
100 */
101 public function testLoadPluginParameterValues()
102 {
103 $plugins = array(
104 'plugin_name' => array(
105 'parameters' => array(
15170b51
A
106 'param1' => array('value' => true),
107 'param2' => array('value' => false),
108 'param3' => array('value' => ''),
59404d79
A
109 )
110 )
111 );
112
113 $parameters = array(
114 'param1' => 'value1',
115 'param2' => 'value2',
116 );
117
118 $result = load_plugin_parameter_values($plugins, $parameters);
15170b51
A
119 $this->assertEquals('value1', $result['plugin_name']['parameters']['param1']['value']);
120 $this->assertEquals('value2', $result['plugin_name']['parameters']['param2']['value']);
121 $this->assertEquals('', $result['plugin_name']['parameters']['param3']['value']);
59404d79
A
122 }
123}