6
6
use ArrayAccess ;
7
7
use Mockery as m ;
8
8
use RuntimeException ;
9
+ use Illuminate \Support \Arr ;
9
10
use Illuminate \Support \Str ;
10
11
use PHPUnit \Framework \TestCase ;
11
12
@@ -25,62 +26,62 @@ public function testArrayDot()
25
26
public function testArrayGet ()
26
27
{
27
28
$ array = ['names ' => ['developer ' => 'taylor ' ]];
28
- $ this ->assertEquals ('taylor ' , array_get ($ array , 'names.developer ' ));
29
- $ this ->assertEquals ('dayle ' , array_get ($ array , 'names.otherDeveloper ' , 'dayle ' ));
30
- $ this ->assertEquals ('dayle ' , array_get ($ array , 'names.otherDeveloper ' , function () {
29
+ $ this ->assertEquals ('taylor ' , Arr:: get ($ array , 'names.developer ' ));
30
+ $ this ->assertEquals ('dayle ' , Arr:: get ($ array , 'names.otherDeveloper ' , 'dayle ' ));
31
+ $ this ->assertEquals ('dayle ' , Arr:: get ($ array , 'names.otherDeveloper ' , function () {
31
32
return 'dayle ' ;
32
33
}));
33
34
}
34
35
35
36
public function testArrayHas ()
36
37
{
37
38
$ array = ['names ' => ['developer ' => 'taylor ' ]];
38
- $ this ->assertTrue (array_has ($ array , 'names ' ));
39
- $ this ->assertTrue (array_has ($ array , 'names.developer ' ));
40
- $ this ->assertFalse (array_has ($ array , 'foo ' ));
41
- $ this ->assertFalse (array_has ($ array , 'foo.bar ' ));
39
+ $ this ->assertTrue (Arr:: has ($ array , 'names ' ));
40
+ $ this ->assertTrue (Arr:: has ($ array , 'names.developer ' ));
41
+ $ this ->assertFalse (Arr:: has ($ array , 'foo ' ));
42
+ $ this ->assertFalse (Arr:: has ($ array , 'foo.bar ' ));
42
43
}
43
44
44
45
public function testArraySet ()
45
46
{
46
47
$ array = [];
47
- array_set ($ array , 'names.developer ' , 'taylor ' );
48
+ Arr:: set ($ array , 'names.developer ' , 'taylor ' );
48
49
$ this ->assertEquals ('taylor ' , $ array ['names ' ]['developer ' ]);
49
50
}
50
51
51
52
public function testArrayForget ()
52
53
{
53
54
$ array = ['names ' => ['developer ' => 'taylor ' , 'otherDeveloper ' => 'dayle ' ]];
54
- array_forget ($ array , 'names.developer ' );
55
+ Arr:: forget ($ array , 'names.developer ' );
55
56
$ this ->assertFalse (isset ($ array ['names ' ]['developer ' ]));
56
57
$ this ->assertTrue (isset ($ array ['names ' ]['otherDeveloper ' ]));
57
58
58
59
$ array = ['names ' => ['developer ' => 'taylor ' , 'otherDeveloper ' => 'dayle ' , 'thirdDeveloper ' => 'Lucas ' ]];
59
- array_forget ($ array , ['names.developer ' , 'names.otherDeveloper ' ]);
60
+ Arr:: forget ($ array , ['names.developer ' , 'names.otherDeveloper ' ]);
60
61
$ this ->assertFalse (isset ($ array ['names ' ]['developer ' ]));
61
62
$ this ->assertFalse (isset ($ array ['names ' ]['otherDeveloper ' ]));
62
63
$ this ->assertTrue (isset ($ array ['names ' ]['thirdDeveloper ' ]));
63
64
64
65
$ array = ['names ' => ['developer ' => 'taylor ' , 'otherDeveloper ' => 'dayle ' ], 'otherNames ' => ['developer ' => 'Lucas ' , 'otherDeveloper ' => 'Graham ' ]];
65
- array_forget ($ array , ['names.developer ' , 'otherNames.otherDeveloper ' ]);
66
+ Arr:: forget ($ array , ['names.developer ' , 'otherNames.otherDeveloper ' ]);
66
67
$ expected = ['names ' => ['otherDeveloper ' => 'dayle ' ], 'otherNames ' => ['developer ' => 'Lucas ' ]];
67
68
$ this ->assertEquals ($ expected , $ array );
68
69
}
69
70
70
71
public function testArrayPluckWithArrayAndObjectValues ()
71
72
{
72
73
$ array = [(object ) ['name ' => 'taylor ' , 'email ' => 'foo ' ], ['name ' => 'dayle ' , 'email ' => 'bar ' ]];
73
- $ this ->assertEquals (['taylor ' , 'dayle ' ], array_pluck ($ array , 'name ' ));
74
- $ this ->assertEquals (['taylor ' => 'foo ' , 'dayle ' => 'bar ' ], array_pluck ($ array , 'email ' , 'name ' ));
74
+ $ this ->assertEquals (['taylor ' , 'dayle ' ], Arr:: pluck ($ array , 'name ' ));
75
+ $ this ->assertEquals (['taylor ' => 'foo ' , 'dayle ' => 'bar ' ], Arr:: pluck ($ array , 'email ' , 'name ' ));
75
76
}
76
77
77
78
public function testArrayPluckWithNestedKeys ()
78
79
{
79
80
$ array = [['user ' => ['taylor ' , 'otwell ' ]], ['user ' => ['dayle ' , 'rees ' ]]];
80
- $ this ->assertEquals (['taylor ' , 'dayle ' ], array_pluck ($ array , 'user.0 ' ));
81
- $ this ->assertEquals (['taylor ' , 'dayle ' ], array_pluck ($ array , ['user ' , 0 ]));
82
- $ this ->assertEquals (['taylor ' => 'otwell ' , 'dayle ' => 'rees ' ], array_pluck ($ array , 'user.1 ' , 'user.0 ' ));
83
- $ this ->assertEquals (['taylor ' => 'otwell ' , 'dayle ' => 'rees ' ], array_pluck ($ array , ['user ' , 1 ], ['user ' , 0 ]));
81
+ $ this ->assertEquals (['taylor ' , 'dayle ' ], Arr:: pluck ($ array , 'user.0 ' ));
82
+ $ this ->assertEquals (['taylor ' , 'dayle ' ], Arr:: pluck ($ array , ['user ' , 0 ]));
83
+ $ this ->assertEquals (['taylor ' => 'otwell ' , 'dayle ' => 'rees ' ], Arr:: pluck ($ array , 'user.1 ' , 'user.0 ' ));
84
+ $ this ->assertEquals (['taylor ' => 'otwell ' , 'dayle ' => 'rees ' ], Arr:: pluck ($ array , ['user ' , 1 ], ['user ' , 0 ]));
84
85
}
85
86
86
87
public function testArrayPluckWithNestedArrays ()
@@ -101,9 +102,9 @@ public function testArrayPluckWithNestedArrays()
101
102
],
102
103
];
103
104
104
- $ this ->assertEquals ([['taylor ' ], ['abigail ' , 'dayle ' ]], array_pluck ($ array , 'users.*.first ' ));
105
- $ this ->assertEquals (['a ' => ['taylor ' ], 'b ' => ['abigail ' , 'dayle ' ]], array_pluck ($ array , 'users.*.first ' , 'account ' ));
106
- $ this ->
assertEquals ([[
'[email protected] ' ], [
null ,
null ]],
array_pluck (
$ array,
'users.*.email ' ));
105
+ $ this ->assertEquals ([['taylor ' ], ['abigail ' , 'dayle ' ]], Arr:: pluck ($ array , 'users.*.first ' ));
106
+ $ this ->assertEquals (['a ' => ['taylor ' ], 'b ' => ['abigail ' , 'dayle ' ]], Arr:: pluck ($ array , 'users.*.first ' , 'account ' ));
107
+ $ this ->
assertEquals ([[
'[email protected] ' ], [
null ,
null ]],
Arr:: pluck (
$ array,
'users.*.email ' ));
107
108
}
108
109
109
110
public function testArrayExcept ()
@@ -121,8 +122,8 @@ public function testArrayExcept()
121
122
public function testArrayOnly ()
122
123
{
123
124
$ array = ['name ' => 'taylor ' , 'age ' => 26 ];
124
- $ this ->assertEquals (['name ' => 'taylor ' ], array_only ($ array , ['name ' ]));
125
- $ this ->assertSame ([], array_only ($ array , ['nonExistingKey ' ]));
125
+ $ this ->assertEquals (['name ' => 'taylor ' ], Arr:: only ($ array , ['name ' ]));
126
+ $ this ->assertSame ([], Arr:: only ($ array , ['nonExistingKey ' ]));
126
127
}
127
128
128
129
public function testArrayCollapse ()
@@ -142,15 +143,15 @@ public function testArrayDivide()
142
143
public function testArrayFirst ()
143
144
{
144
145
$ array = ['name ' => 'taylor ' , 'otherDeveloper ' => 'dayle ' ];
145
- $ this ->assertEquals ('dayle ' , array_first ($ array , function ($ value ) {
146
+ $ this ->assertEquals ('dayle ' , Arr:: first ($ array , function ($ value ) {
146
147
return $ value == 'dayle ' ;
147
148
}));
148
149
}
149
150
150
151
public function testArrayLast ()
151
152
{
152
153
$ array = [100 , 250 , 290 , 320 , 500 , 560 , 670 ];
153
- $ this ->assertEquals (670 , array_last ($ array , function ($ value ) {
154
+ $ this ->assertEquals (670 , Arr:: last ($ array , function ($ value ) {
154
155
return $ value > 320 ;
155
156
}));
156
157
}
@@ -185,25 +186,25 @@ public function testArrayPluck()
185
186
'#baz ' ,
186
187
],
187
188
],
188
- ], array_pluck ($ data , 'comments ' ));
189
+ ], Arr:: pluck ($ data , 'comments ' ));
189
190
190
- $ this ->assertEquals ([['#foo ' , '#bar ' ], ['#baz ' ]], array_pluck ($ data , 'comments.tags ' ));
191
- $ this ->assertEquals ([null , null ], array_pluck ($ data , 'foo ' ));
192
- $ this ->assertEquals ([null , null ], array_pluck ($ data , 'foo.bar ' ));
191
+ $ this ->assertEquals ([['#foo ' , '#bar ' ], ['#baz ' ]], Arr:: pluck ($ data , 'comments.tags ' ));
192
+ $ this ->assertEquals ([null , null ], Arr:: pluck ($ data , 'foo ' ));
193
+ $ this ->assertEquals ([null , null ], Arr:: pluck ($ data , 'foo.bar ' ));
193
194
}
194
195
195
196
public function testArrayPrepend ()
196
197
{
197
- $ array = array_prepend (['one ' , 'two ' , 'three ' , 'four ' ], 'zero ' );
198
+ $ array = Arr:: prepend (['one ' , 'two ' , 'three ' , 'four ' ], 'zero ' );
198
199
$ this ->assertEquals (['zero ' , 'one ' , 'two ' , 'three ' , 'four ' ], $ array );
199
200
200
- $ array = array_prepend (['one ' => 1 , 'two ' => 2 ], 0 , 'zero ' );
201
+ $ array = Arr:: prepend (['one ' => 1 , 'two ' => 2 ], 0 , 'zero ' );
201
202
$ this ->assertEquals (['zero ' => 0 , 'one ' => 1 , 'two ' => 2 ], $ array );
202
203
}
203
204
204
205
public function testArrayFlatten ()
205
206
{
206
- $ this ->assertEquals (['#foo ' , '#bar ' , '#baz ' ], array_flatten ([['#foo ' , '#bar ' ], ['#baz ' ]]));
207
+ $ this ->assertEquals (['#foo ' , '#bar ' , '#baz ' ], Arr:: flatten ([['#foo ' , '#bar ' ], ['#baz ' ]]));
207
208
}
208
209
209
210
public function testStrIs ()
@@ -599,7 +600,7 @@ public function testArraySort()
599
600
['name ' => 'bar ' ],
600
601
['name ' => 'baz ' ],
601
602
['name ' => 'foo ' ], ],
602
- array_values (array_sort ($ array , function ($ v ) {
603
+ array_values (Arr:: sort ($ array , function ($ v ) {
603
604
return $ v ['name ' ];
604
605
})));
605
606
}
@@ -632,13 +633,13 @@ public function testArraySortRecursive()
632
633
],
633
634
];
634
635
635
- $ this ->assertEquals ($ assumedArray , array_sort_recursive ($ array ));
636
+ $ this ->assertEquals ($ assumedArray , Arr:: sortRecursive ($ array ));
636
637
}
637
638
638
639
public function testArrayWhere ()
639
640
{
640
641
$ array = ['a ' => 1 , 'b ' => 2 , 'c ' => 3 , 'd ' => 4 , 'e ' => 5 , 'f ' => 6 , 'g ' => 7 , 'h ' => 8 ];
641
- $ this ->assertEquals (['b ' => 2 , 'd ' => 4 , 'f ' => 6 , 'h ' => 8 ], array_where (
642
+ $ this ->assertEquals (['b ' => 2 , 'd ' => 4 , 'f ' => 6 , 'h ' => 8 ], Arr:: where (
642
643
$ array ,
643
644
function ($ value , $ key ) {
644
645
return $ value % 2 === 0 ;
@@ -652,9 +653,9 @@ public function testArrayWrap()
652
653
$ array = ['a ' ];
653
654
$ object = new stdClass ;
654
655
$ object ->value = 'a ' ;
655
- $ this ->assertEquals (['a ' ], array_wrap ($ string ));
656
- $ this ->assertEquals ($ array , array_wrap ($ array ));
657
- $ this ->assertEquals ([$ object ], array_wrap ($ object ));
656
+ $ this ->assertEquals (['a ' ], Arr:: wrap ($ string ));
657
+ $ this ->assertEquals ($ array , Arr:: wrap ($ array ));
658
+ $ this ->assertEquals ([$ object ], Arr:: wrap ($ object ));
658
659
}
659
660
660
661
public function testHead ()
@@ -696,7 +697,7 @@ public function testArrayAdd()
696
697
public function testArrayPull ()
697
698
{
698
699
$ developer = ['firstname ' => 'Ferid ' , 'surname ' => 'Mövsümov ' ];
699
- $ this ->assertEquals ('Mövsümov ' , array_pull ($ developer , 'surname ' ));
700
+ $ this ->assertEquals ('Mövsümov ' , Arr:: pull ($ developer , 'surname ' ));
700
701
$ this ->assertEquals (['firstname ' => 'Ferid ' ], $ developer );
701
702
}
702
703
0 commit comments