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

135 lines 5.0 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 'menu_theme' => false,
10 'foo' => 'bar',
11 'baz' => 'moo'
12 ];
13
14 public function testCreationFromConstructor() {
15 $collection = new OptionsCollection($this->options);
16 $this->assertCount(3, $collection);
17 }
18
19 public function testAddingOptions() {
20 $collection = new OptionsCollection($this->options);
21 $this->assertCount(3, $collection);
22
23 $collection->add(['moon' => 'rise']);
24 $this->assertCount(4, $collection);
25 }
26
27 public function testAccessViaArray() {
28 $collection = new OptionsCollection($this->options);
29 $this->assertEquals('bar', $collection['foo']);
30 $this->assertEquals('moo', $collection['baz']);
31 }
32
33 public function testRemoveViaArray() {
34 $collection = new OptionsCollection($this->options);
35 $this->assertCount(3, $collection);
36
37 unset($collection['foo']);
38
39 $this->assertCount(2, $collection);
40 $this->assertNull($collection['foo']);
41 }
42
43 public function testSetViaArray() {
44 $collection = new OptionsCollection($this->options);
45 $this->assertCount(3, $collection);
46
47 $collection['moon'] = 'rise';
48
49 $this->assertCount(4, $collection);
50 $this->assertEquals('rise', $collection['moon']);
51 }
52
53 public function testReturnArrayWhenAsked() {
54 $collection = new OptionsCollection($this->options);
55 $this->assertInternalType('array', $collection->toArray());
56 $this->assertEquals($this->options, $collection->toArray());
57 }
58
59 public function testStringIsAlwaysReturnedFromConstructor() {
60 $array = ['array' => ['moon' => 'rise']];
61 $collection = new OptionsCollection($array);
62
63 $this->assertEquals(json_encode($array['array']), $collection['array']);
64 }
65
66 public function testStringIsAlwaysReturned() {
67 $collection = new OptionsCollection($this->options);
68 $array = ['array' => ['moon' => 'rise']];
69 $collection->add($array);
70
71 $this->assertEquals(json_encode($array['array']), $collection['array']);
72 $this->assertEquals('bar', $collection['foo']);
73 }
74
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']);
80
81 $this->assertEquals('foo', $collection->getActiveArrow());
82
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 }
87
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']);
93
94 $this->assertEquals('foo', $collection->getInActiveArrow());
95
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 }
100
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 }