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
responsive-menu / tests / app / Collections / OptionsCollectionTest.php

OptionsCollectionTest.php in Responsive Menu – Create Mobile-Friendly Menu 3.0.12, at tests/app/Collections/OptionsCollectionTest.php

139 lines 6.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 use PHPUnit\Framework\TestCase;
4
5 class OptionsCollectionTest extends TestCase {
6
7 public function setUp() {
8 $this->collection = new ResponsiveMenu\Collections\OptionsCollection;
9 }
10
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 }
17
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 }
26
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 }
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'));
35
36 $this->assertInstanceOf('ResponsiveMenu\Models\Option', $this->collection->get('a'));
37 $this->assertInstanceOf('ResponsiveMenu\Models\Option', $this->collection->get('b'));
38 }
39
40 public function testUsesFontAwesomeIcons() {
41 $this->assertFalse($this->collection->usesFontIcons());
42 }
43
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 }
49
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 }
55
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 }
61
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 }
67
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 }
73
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 }
79
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 }
85
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 }
90
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 }
98
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 }
106
107 public function testIsCollectionEmpty() {
108 $this->assertTrue($this->collection->isEmpty());
109 }
110
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 }
116
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 }
123
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 }
130
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 }
137
138 }
139