PluginProbe
Responsive Menu – Create Mobile-Friendly Menu / 3.0.12
Responsive Menu – Create Mobile-Friendly Menu v3.0.12
4.7.3 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.10 4.1.11 4.1.12 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 4.2.0 All 90 releases
← All changes | tests/app/Collections/OptionsCollectionTest.php +110 -107 4.0.23.0.12 View file →
@@ -1,135 +1,138 @@
1 1 <?php
2 2
3 3 use PHPUnit\Framework\TestCase;
4 -use ResponsiveMenu\Collections\OptionsCollection;
5 4
6 5 class OptionsCollectionTest extends TestCase {
7 6
8 - private $options = [
9 - 'menu_theme' => false,
10 - 'foo' => 'bar',
11 - 'baz' => 'moo'
12 - ];
7 + public function setUp() {
8 + $this->collection = new ResponsiveMenu\Collections\OptionsCollection;
9 + }
13 10
14 - public function testCreationFromConstructor() {
15 - $collection = new OptionsCollection($this->options);
16 - $this->assertCount(3, $collection);
17 - }
11 + public function testAddingOptionReturnTypes() {
12 + $this->collection->add(new ResponsiveMenu\Models\Option('a', 'a'));
13 + $all_options = $this->collection->all();
14 + $this->assertInternalType('array', $all_options);
15 + $this->assertInstanceOf('ResponsiveMenu\Models\Option', $all_options['a']);
16 + }
18 17
19 - public function testAddingOptions() {
20 - $collection = new OptionsCollection($this->options);
21 - $this->assertCount(3, $collection);
18 + public function testAddingMultipleOptionReturnTypes() {
19 + $this->collection->add(new ResponsiveMenu\Models\Option('a', 'a'));
20 + $this->collection->add(new ResponsiveMenu\Models\Option('b', 'b'));
21 + $all_options = $this->collection->all();
22 + $this->assertInternalType('array', $all_options);
23 + $this->assertInstanceOf('ResponsiveMenu\Models\Option', $all_options['a']);
24 + $this->assertInstanceOf('ResponsiveMenu\Models\Option', $all_options['b']);
25 + }
22 26
23 - $collection->add(['moon' => 'rise']);
24 - $this->assertCount(4, $collection);
25 - }
27 + public function testAddingOptionGetOptionReturnTypes() {
28 + $this->collection->add(new ResponsiveMenu\Models\Option('a', 'a'));
29 + $this->assertInstanceOf('ResponsiveMenu\Models\Option', $this->collection->get('a'));
30 + }
26 31
27 - public function testAccessViaArray() {
28 - $collection = new OptionsCollection($this->options);
29 - $this->assertEquals('bar', $collection['foo']);
30 - $this->assertEquals('moo', $collection['baz']);
31 - }
32 + public function testAddingMultipleOptionGetOptionReturnTypes() {
33 + $this->collection->add(new ResponsiveMenu\Models\Option('a', 'a'));
34 + $this->collection->add(new ResponsiveMenu\Models\Option('b', 'b'));
32 35
33 - public function testRemoveViaArray() {
34 - $collection = new OptionsCollection($this->options);
35 - $this->assertCount(3, $collection);
36 + $this->assertInstanceOf('ResponsiveMenu\Models\Option', $this->collection->get('a'));
37 + $this->assertInstanceOf('ResponsiveMenu\Models\Option', $this->collection->get('b'));
38 + }
36 39
37 - unset($collection['foo']);
40 + public function testUsesFontAwesomeIcons() {
41 + $this->assertFalse($this->collection->usesFontIcons());
42 + }
38 43
39 - $this->assertCount(2, $collection);
40 - $this->assertNull($collection['foo']);
41 - }
44 + public function testGetActiveArrow() {
45 + $this->collection->add(new ResponsiveMenu\Models\Option('active_arrow_image', 'test.jpg'));
46 + $this->collection->add(new ResponsiveMenu\Models\Option('active_arrow_image_alt', 'test-alt'));
47 + $this->assertEquals('<img alt="test-alt" src="test.jpg" />', $this->collection->getActiveArrow());
48 + }
42 49
43 - public function testSetViaArray() {
44 - $collection = new OptionsCollection($this->options);
45 - $this->assertCount(3, $collection);
50 + public function testGetActiveArrowDoesntExist() {
51 + $this->collection->add(new ResponsiveMenu\Models\Option('active_arrow_image', ''));
52 + $this->collection->add(new ResponsiveMenu\Models\Option('active_arrow_shape', 'arrow'));
53 + $this->assertEquals('arrow', $this->collection->getActiveArrow());
54 + }
46 55
47 - $collection['moon'] = 'rise';
56 + public function testGetInactiveArrow() {
57 + $this->collection->add(new ResponsiveMenu\Models\Option('inactive_arrow_image', 'test.jpg'));
58 + $this->collection->add(new ResponsiveMenu\Models\Option('inactive_arrow_image_alt', 'test-alt'));
59 + $this->assertEquals('<img alt="test-alt" src="test.jpg" />', $this->collection->getInActiveArrow());
60 + }
48 61
49 - $this->assertCount(4, $collection);
50 - $this->assertEquals('rise', $collection['moon']);
51 - }
62 + public function testGetInactiveArrowDoesntExist() {
63 + $this->collection->add(new ResponsiveMenu\Models\Option('inactive_arrow_image', ''));
64 + $this->collection->add(new ResponsiveMenu\Models\Option('inactive_arrow_shape', 'arrow'));
65 + $this->assertEquals('arrow', $this->collection->getInActiveArrow());
66 + }
52 67
53 - public function testReturnArrayWhenAsked() {
54 - $collection = new OptionsCollection($this->options);
55 - $this->assertInternalType('array', $collection->toArray());
56 - $this->assertEquals($this->options, $collection->toArray());
57 - }
68 + public function testGetInactiveTitleImage() {
69 + $this->collection->add(new ResponsiveMenu\Models\Option('menu_title_image', 'test.jpg'));
70 + $this->collection->add(new ResponsiveMenu\Models\Option('menu_title_image_alt', 'test-alt'));
71 + $this->assertEquals('<img alt="test-alt" src="test.jpg" />', $this->collection->getTitleImage());
72 + }
58 73
59 - public function testStringIsAlwaysReturnedFromConstructor() {
60 - $array = ['array' => ['moon' => 'rise']];
61 - $collection = new OptionsCollection($array);
74 + public function testGetInactiveTitleImageDoesntExist() {
75 + $this->collection->add(new ResponsiveMenu\Models\Option('menu_title_image', ''));
76 + $this->collection->add(new ResponsiveMenu\Models\Option('menu_title_image_alt', ''));
77 + $this->assertEquals(null, $this->collection->getTitleImage());
78 + }
62 79
63 - $this->assertEquals(json_encode($array['array']), $collection['array']);
64 - }
80 + public function testGetButtonIcon() {
81 + $this->collection->add(new ResponsiveMenu\Models\Option('button_image', 'test.jpg'));
82 + $this->collection->add(new ResponsiveMenu\Models\Option('button_image_alt', 'test-alt'));
83 + $this->assertEquals('<img alt="test-alt" src="test.jpg" class="responsive-menu-button-icon responsive-menu-button-icon-active" />', $this->collection->getButtonIcon());
84 + }
65 85
66 - public function testStringIsAlwaysReturned() {
67 - $collection = new OptionsCollection($this->options);
68 - $array = ['array' => ['moon' => 'rise']];
69 - $collection->add($array);
86 + public function testGetButtonIconDoesntExist() {
87 + $this->collection->add(new ResponsiveMenu\Models\Option('button_image', ''));
88 + $this->assertEquals('<span class="responsive-menu-inner"></span>', $this->collection->getButtonIcon());
89 + }
70 90
71 - $this->assertEquals(json_encode($array['array']), $collection['array']);
72 - $this->assertEquals('bar', $collection['foo']);
73 - }
91 + public function testGetButtonIconActive() {
92 + $this->collection->add(new ResponsiveMenu\Models\Option('button_image', 'test2.jpg'));
93 + $this->collection->add(new ResponsiveMenu\Models\Option('button_image_alt', 'alt-a'));
94 + $this->collection->add(new ResponsiveMenu\Models\Option('button_image_when_clicked', 'test.jpg'));
95 + $this->collection->add(new ResponsiveMenu\Models\Option('button_image_alt_when_clicked', 'alt-b'));
96 + $this->assertEquals('<img alt="alt-b" src="test.jpg" class="responsive-menu-button-icon responsive-menu-button-icon-inactive" />', $this->collection->getButtonIconActive());
97 + }
74 98
75 - public function testCorrectActiveArrowIsReturned() {
76 - $collection = new OptionsCollection($this->options);
77 - $collection->add(['active_arrow_image' => '']);
78 - $collection->add(['active_arrow_image_alt' => '']);
79 - $collection->add(['active_arrow_shape' => 'foo']);
99 + public function testGetButtonIconActiveDoesntExist() {
100 + $this->collection->add(new ResponsiveMenu\Models\Option('button_image', ''));
101 + $this->collection->add(new ResponsiveMenu\Models\Option('button_image_alt', ''));
102 + $this->collection->add(new ResponsiveMenu\Models\Option('button_image_when_clicked', 'test.jpg'));
103 + $this->collection->add(new ResponsiveMenu\Models\Option('button_image_alt_when_clicked', 'test.jpg'));
104 + $this->assertEquals(null, $this->collection->getButtonIconActive());
105 + }
80 106
81 - $this->assertEquals('foo', $collection->getActiveArrow());
107 + public function testIsCollectionEmpty() {
108 + $this->assertTrue($this->collection->isEmpty());
109 + }
82 110
83 - $collection->add(['active_arrow_image' => 'bar']);
84 - $collection->add(['active_arrow_image_alt' => 'baz']);
85 - $this->assertEquals('<img alt="baz" src="bar" />', $collection->getActiveArrow());
86 - }
111 + public function testIsCollectionEmptyNotEmpty() {
112 + $this->collection->add(new ResponsiveMenu\Models\Option('button_image', 'test.jpg'));
113 + $this->collection->add(new ResponsiveMenu\Models\Option('button_image_alt', 'test.jpg'));
114 + $this->assertFalse($this->collection->isEmpty());
115 + }
87 116
88 - public function testCorrectInActiveArrowIsReturned() {
89 - $collection = new OptionsCollection($this->options);
90 - $collection->add(['inactive_arrow_image' => '']);
91 - $collection->add(['inactive_arrow_image_alt' => '']);
92 - $collection->add(['inactive_arrow_shape' => 'foo']);
117 + public function testArrayAccessGetFunctions() {
118 + $this->collection->add(new ResponsiveMenu\Models\Option('a', 'a'));
119 + $this->collection->add(new ResponsiveMenu\Models\Option('b', 'b'));
120 + $this->assertInstanceOf('ResponsiveMenu\Models\Option', $this->collection['a']);
121 + $this->assertInstanceOf('ResponsiveMenu\Models\Option', $this->collection['b']);
122 + }
93 123
94 - $this->assertEquals('foo', $collection->getInActiveArrow());
124 + public function testArrayAccessSetFunctions() {
125 + $this->collection['a'] = new ResponsiveMenu\Models\Option('a', 'a');
126 + $this->collection['b'] = new ResponsiveMenu\Models\Option('b', 'b');
127 + $this->assertInstanceOf('ResponsiveMenu\Models\Option', $this->collection->get('a'));
128 + $this->assertInstanceOf('ResponsiveMenu\Models\Option', $this->collection->get('b'));
129 + }
95 130
96 - $collection->add(['inactive_arrow_image' => 'bar']);
97 - $collection->add(['inactive_arrow_image_alt' => 'baz']);
98 - $this->assertEquals('<img alt="baz" src="bar" />', $collection->getInActiveArrow());
99 - }
131 + public function testArrayAccessUnSetFunctions() {
132 + $this->collection['a'] = new ResponsiveMenu\Models\Option('a', 'a');
133 + $this->collection['b'] = new ResponsiveMenu\Models\Option('b', 'b');
134 + unset($this->collection['b']);
135 + $this->assertArrayNotHasKey('b', $this->collection);
136 + }
100 137
101 - public function testCorrectTitleImageReturned() {
102 - $collection = new OptionsCollection($this->options);
103 - $collection->add(['menu_title_image' => '']);
104 -
105 - $this->assertNull($collection->getTitleImage());
106 -
107 - $collection->add(['menu_title_image' => 'bar']);
108 - $collection->add(['menu_title_image_alt' => 'baz']);
109 - $this->assertEquals('<img alt="baz" src="bar" />', $collection->getTitleImage());
110 - }
111 -
112 - public function testCorrectButtonIconReturned() {
113 - $collection = new OptionsCollection($this->options);
114 - $collection->add(['button_image' => '']);
115 -
116 - $this->assertEquals('<span class="responsive-menu-inner"></span>', $collection->getButtonIcon());
117 -
118 - $collection->add(['button_image' => 'foo']);
119 - $collection->add(['button_image_alt' => 'bar']);
120 - $this->assertEquals('<img alt="bar" src="foo" class="responsive-menu-button-icon responsive-menu-button-icon-active" />', $collection->getButtonIcon());
121 - }
122 -
123 - public function testCorrectActiveButtonIconReturned() {
124 - $collection = new OptionsCollection($this->options);
125 - $collection->add(['button_image' => '']);
126 -
127 - $this->assertNull($collection->getButtonIconActive());
128 -
129 - $collection->add(['button_image' => 'foo']);
130 - $collection->add(['button_image_when_clicked' => 'bar']);
131 - $collection->add(['button_image_alt_when_clicked' => 'baz']);
132 - $this->assertEquals('<img alt="baz" src="bar" class="responsive-menu-button-icon responsive-menu-button-icon-inactive" />', $collection->getButtonIconActive());
133 - }
134 -
135 -}
138 +}