PluginProbe
Responsive Menu – Create Mobile-Friendly Menu / 3.1.16
Responsive Menu – Create Mobile-Friendly Menu v3.1.16
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.1.16, at tests/app/Collections/OptionsCollectionTest.php

134 lines 4.9 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 use ResponsiveMenu\Collections\OptionsCollection;
5
6 class OptionsCollectionTest extends TestCase {
7
8 private $options = [
9 'foo' => 'bar',
10 'baz' => 'moo'
11 ];
12
13 public function testCreationFromConstructor() {
14 $collection = new OptionsCollection($this->options);
15 $this->assertCount(2, $collection);
16 }
17
18 public function testAddingOptions() {
19 $collection = new OptionsCollection($this->options);
20 $this->assertCount(2, $collection);
21
22 $collection->add(['moon' => 'rise']);
23 $this->assertCount(3, $collection);
24 }
25
26 public function testAccessViaArray() {
27 $collection = new OptionsCollection($this->options);
28 $this->assertEquals('bar', $collection['foo']);
29 $this->assertEquals('moo', $collection['baz']);
30 }
31
32 public function testRemoveViaArray() {
33 $collection = new OptionsCollection($this->options);
34 $this->assertCount(2, $collection);
35
36 unset($collection['foo']);
37
38 $this->assertCount(1, $collection);
39 $this->assertNull($collection['foo']);
40 }
41
42 public function testSetViaArray() {
43 $collection = new OptionsCollection($this->options);
44 $this->assertCount(2, $collection);
45
46 $collection['moon'] = 'rise';
47
48 $this->assertCount(3, $collection);
49 $this->assertEquals('rise', $collection['moon']);
50 }
51
52 public function testReturnArrayWhenAsked() {
53 $collection = new OptionsCollection($this->options);
54 $this->assertInternalType('array', $collection->toArray());
55 $this->assertEquals($this->options, $collection->toArray());
56 }
57
58 public function testStringIsAlwaysReturnedFromConstructor() {
59 $array = ['array' => ['moon' => 'rise']];
60 $collection = new OptionsCollection($array);
61
62 $this->assertEquals(json_encode($array['array']), $collection['array']);
63 }
64
65 public function testStringIsAlwaysReturned() {
66 $collection = new OptionsCollection($this->options);
67 $array = ['array' => ['moon' => 'rise']];
68 $collection->add($array);
69
70 $this->assertEquals(json_encode($array['array']), $collection['array']);
71 $this->assertEquals('bar', $collection['foo']);
72 }
73
74 public function testCorrectActiveArrowIsReturned() {
75 $collection = new OptionsCollection($this->options);
76 $collection->add(['active_arrow_image' => '']);
77 $collection->add(['active_arrow_image_alt' => '']);
78 $collection->add(['active_arrow_shape' => 'foo']);
79
80 $this->assertEquals('foo', $collection->getActiveArrow());
81
82 $collection->add(['active_arrow_image' => 'bar']);
83 $collection->add(['active_arrow_image_alt' => 'baz']);
84 $this->assertEquals('<img alt="baz" src="bar" />', $collection->getActiveArrow());
85 }
86
87 public function testCorrectInActiveArrowIsReturned() {
88 $collection = new OptionsCollection($this->options);
89 $collection->add(['inactive_arrow_image' => '']);
90 $collection->add(['inactive_arrow_image_alt' => '']);
91 $collection->add(['inactive_arrow_shape' => 'foo']);
92
93 $this->assertEquals('foo', $collection->getInActiveArrow());
94
95 $collection->add(['inactive_arrow_image' => 'bar']);
96 $collection->add(['inactive_arrow_image_alt' => 'baz']);
97 $this->assertEquals('<img alt="baz" src="bar" />', $collection->getInActiveArrow());
98 }
99
100 public function testCorrectTitleImageReturned() {
101 $collection = new OptionsCollection($this->options);
102 $collection->add(['menu_title_image' => '']);
103
104 $this->assertNull($collection->getTitleImage());
105
106 $collection->add(['menu_title_image' => 'bar']);
107 $collection->add(['menu_title_image_alt' => 'baz']);
108 $this->assertEquals('<img alt="baz" src="bar" />', $collection->getTitleImage());
109 }
110
111 public function testCorrectButtonIconReturned() {
112 $collection = new OptionsCollection($this->options);
113 $collection->add(['button_image' => '']);
114
115 $this->assertEquals('<span class="responsive-menu-inner"></span>', $collection->getButtonIcon());
116
117 $collection->add(['button_image' => 'foo']);
118 $collection->add(['button_image_alt' => 'bar']);
119 $this->assertEquals('<img alt="bar" src="foo" class="responsive-menu-button-icon responsive-menu-button-icon-active" />', $collection->getButtonIcon());
120 }
121
122 public function testCorrectActiveButtonIconReturned() {
123 $collection = new OptionsCollection($this->options);
124 $collection->add(['button_image' => '']);
125
126 $this->assertNull($collection->getButtonIconActive());
127
128 $collection->add(['button_image' => 'foo']);
129 $collection->add(['button_image_when_clicked' => 'bar']);
130 $collection->add(['button_image_alt_when_clicked' => 'baz']);
131 $this->assertEquals('<img alt="baz" src="bar" class="responsive-menu-button-icon responsive-menu-button-icon-inactive" />', $collection->getButtonIconActive());
132 }
133
134 }