MediaWiki  1.23.13
ArrayUtilsTest.php
Go to the documentation of this file.
1 <?php
9  private $search;
10 
16  $valueCallback, $valueCount, $comparisonCallback, $target, $expected
17  ) {
18  $this->assertSame(
20  $valueCallback, $valueCount, $comparisonCallback, $target
21  ), $expected
22  );
23  }
24 
25  function provideFindLowerBound() {
26  $self = $this;
27  $indexValueCallback = function( $size ) use ( $self ) {
28  return function( $val ) use ( $self, $size ) {
29  $self->assertTrue( $val >= 0 );
30  $self->assertTrue( $val < $size );
31  return $val;
32  };
33  };
34  $comparisonCallback = function( $a, $b ) {
35  return $a - $b;
36  };
37 
38  return array(
39  array(
40  $indexValueCallback( 0 ),
41  0,
42  $comparisonCallback,
43  1,
44  false,
45  ),
46  array(
47  $indexValueCallback( 1 ),
48  1,
49  $comparisonCallback,
50  -1,
51  false,
52  ),
53  array(
54  $indexValueCallback( 1 ),
55  1,
56  $comparisonCallback,
57  0,
58  0,
59  ),
60  array(
61  $indexValueCallback( 1 ),
62  1,
63  $comparisonCallback,
64  1,
65  0,
66  ),
67  array(
68  $indexValueCallback( 2 ),
69  2,
70  $comparisonCallback,
71  -1,
72  false,
73  ),
74  array(
75  $indexValueCallback( 2 ),
76  2,
77  $comparisonCallback,
78  0,
79  0,
80  ),
81  array(
82  $indexValueCallback( 2 ),
83  2,
84  $comparisonCallback,
85  0.5,
86  0,
87  ),
88  array(
89  $indexValueCallback( 2 ),
90  2,
91  $comparisonCallback,
92  1,
93  1,
94  ),
95  array(
96  $indexValueCallback( 2 ),
97  2,
98  $comparisonCallback,
99  1.5,
100  1,
101  ),
102  array(
103  $indexValueCallback( 3 ),
104  3,
105  $comparisonCallback,
106  1,
107  1,
108  ),
109  array(
110  $indexValueCallback( 3 ),
111  3,
112  $comparisonCallback,
113  1.5,
114  1,
115  ),
116  array(
117  $indexValueCallback( 3 ),
118  3,
119  $comparisonCallback,
120  2,
121  2,
122  ),
123  array(
124  $indexValueCallback( 3 ),
125  3,
126  $comparisonCallback,
127  3,
128  2,
129  ),
130  );
131  }
132 
137  function testArrayDiffAssocRecursive( $expected ) {
138  $args = func_get_args();
139  array_shift( $args );
140  $this->assertEquals( call_user_func_array(
141  'ArrayUtils::arrayDiffAssocRecursive', $args
142  ), $expected );
143  }
144 
146  return array(
147  array(
148  array(),
149  array(),
150  array(),
151  ),
152  array(
153  array(),
154  array(),
155  array(),
156  array(),
157  ),
158  array(
159  array( 1 ),
160  array( 1 ),
161  array(),
162  ),
163  array(
164  array( 1 ),
165  array( 1 ),
166  array(),
167  array(),
168  ),
169  array(
170  array(),
171  array(),
172  array( 1 ),
173  ),
174  array(
175  array(),
176  array(),
177  array( 1 ),
178  array( 2 ),
179  ),
180  array(
181  array( '' => 1 ),
182  array( '' => 1 ),
183  array(),
184  ),
185  array(
186  array(),
187  array(),
188  array( '' => 1 ),
189  ),
190  array(
191  array( 1 ),
192  array( 1 ),
193  array( 2 ),
194  ),
195  array(
196  array(),
197  array( 1 ),
198  array( 2 ),
199  array( 1 ),
200  ),
201  array(
202  array(),
203  array( 1 ),
204  array( 1, 2 ),
205  ),
206  array(
207  array( 1 => 1 ),
208  array( 1 => 1 ),
209  array( 1 ),
210  ),
211  array(
212  array(),
213  array( 1 => 1 ),
214  array( 1 ),
215  array( 1 => 1),
216  ),
217  array(
218  array(),
219  array( 1 => 1 ),
220  array( 1, 1, 1 ),
221  ),
222  array(
223  array(),
224  array( array() ),
225  array(),
226  ),
227  array(
228  array(),
229  array( array( array() ) ),
230  array(),
231  ),
232  array(
233  array( 1, array( 1 ) ),
234  array( 1, array( 1 ) ),
235  array(),
236  ),
237  array(
238  array( 1 ),
239  array( 1, array( 1 ) ),
240  array( 2, array( 1 ) ),
241  ),
242  array(
243  array(),
244  array( 1, array( 1 ) ),
245  array( 2, array( 1 ) ),
246  array( 1, array( 2 ) ),
247  ),
248  array(
249  array( 1 ),
250  array( 1, array() ),
251  array( 2 ),
252  ),
253  array(
254  array(),
255  array( 1, array() ),
256  array( 2 ),
257  array( 1 ),
258  ),
259  array(
260  array( 1, array( 1 => 2 ) ),
261  array( 1, array( 1, 2 ) ),
262  array( 2, array( 1 ) ),
263  ),
264  array(
265  array( 1 ),
266  array( 1, array( 1, 2 ) ),
267  array( 2, array( 1 ) ),
268  array( 2, array( 1 => 2 ) ),
269  ),
270  array(
271  array( 1 => array( 1, 2 ) ),
272  array( 1, array( 1, 2 ) ),
273  array( 1, array( 2 ) ),
274  ),
275  array(
276  array( 1 => array( array( 2, 3 ), 2 ) ),
277  array( 1, array( array( 2, 3 ), 2 ) ),
278  array( 1, array( 2 ) ),
279  ),
280  array(
281  array( 1 => array( array( 2 ), 2 ) ),
282  array( 1, array( array( 2, 3 ), 2 ) ),
283  array( 1, array( array( 1 => 3 ) ) ),
284  ),
285  array(
286  array( 1 => array( 1 => 2 ) ),
287  array( 1, array( array( 2, 3 ), 2 ) ),
288  array( 1, array( array( 1 => 3, 0 => 2 ) ) ),
289  ),
290  array(
291  array( 1 => array( 1 => 2 ) ),
292  array( 1, array( array( 2, 3 ), 2 ) ),
293  array( 1, array( array( 1 => 3 ) ) ),
294  array( 1 => array( array( 2 ) ) ),
295  ),
296  array(
297  array(),
298  array( 1, array( array( 2, 3 ), 2 ) ),
299  array( 1 => array( 1 => 2, 0 => array( 1 => 3, 0 => 2 ) ), 0 => 1 ),
300  ),
301  array(
302  array(),
303  array( 1, array( array( 2, 3 ), 2 ) ),
304  array( 1 => array( 1 => 2 ) ),
305  array( 1 => array( array( 1 => 3 ) ) ),
306  array( 1 => array( array( 2 ) ) ),
307  array( 1 ),
308  ),
309  );
310  }
311 }
ArrayUtilsTest\$search
$search
Definition: ArrayUtilsTest.php:9
php
skin txt MediaWiki includes four core it has been set as the default in MediaWiki since the replacing Monobook it had been been the default skin since before being replaced by Vector largely rewritten in while keeping its appearance Several legacy skins were removed in the as the burden of supporting them became too heavy to bear Those in etc for skin dependent CSS etc for skin dependent JavaScript These can also be customised on a per user by etc This feature has led to a wide variety of user styles becoming that gallery is a good place to ending in php
Definition: skin.txt:62
ArrayUtilsTest\testFindLowerBound
testFindLowerBound( $valueCallback, $valueCount, $comparisonCallback, $target, $expected)
@covers ArrayUtils::findLowerBound @dataProvider provideFindLowerBound
Definition: ArrayUtilsTest.php:15
ArrayUtilsTest\testArrayDiffAssocRecursive
testArrayDiffAssocRecursive( $expected)
@covers ArrayUtils::arrayDiffAssocRecursive @dataProvider provideArrayDiffAssocRecursive
Definition: ArrayUtilsTest.php:137
ArrayUtilsTest\provideFindLowerBound
provideFindLowerBound()
Definition: ArrayUtilsTest.php:25
MediaWikiTestCase
Definition: MediaWikiTestCase.php:6
array
the array() calling protocol came about after MediaWiki 1.4rc1.
List of Api Query prop modules.
$size
$size
Definition: RandomTest.php:75
vulnerability
storage can be distributed across multiple and multiple web servers can use the same cache cluster *********************W A R N I N G ***********************Memcached has no security or authentication Please ensure that your server is appropriately and that the anyone on the internet can put data into and read data from your cache An attacker familiar with MediaWiki internals could use this to steal passwords and email or to make themselves a sysop and install malicious javascript on the site There may be other types of vulnerability
Definition: memcached.txt:43
ArrayUtilsTest
Test class for ArrayUtils class.
Definition: ArrayUtilsTest.php:8
$self
$self
Definition: doMaintenance.php:54
$args
if( $line===false) $args
Definition: cdb.php:62
ArrayUtilsTest\provideArrayDiffAssocRecursive
provideArrayDiffAssocRecursive()
Definition: ArrayUtilsTest.php:145
ArrayUtils\findLowerBound
static findLowerBound( $valueCallback, $valueCount, $comparisonCallback, $target)
Do a binary search, and return the index of the largest item that sorts less than or equal to the tar...
Definition: ArrayUtils.php:112