Changeset 51667 for trunk/tests/phpunit/tests/functions/wpListUtil.php
- Timestamp:
- 08/26/2021 04:29:37 PM (4 years ago)
- File:
-
- 1 edited
-
trunk/tests/phpunit/tests/functions/wpListUtil.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/tests/functions/wpListUtil.php
r51666 r51667 2 2 3 3 /** 4 * Test WP_List_Util class. 5 * 4 6 * @group functions.php 5 7 */ 6 8 class Tests_Functions_wpListUtil extends WP_UnitTestCase { 7 8 public function data_test_wp_list_sort() {9 return array(10 'single orderby ascending' => array(11 array(12 array(13 'foo' => 'bar',14 'bar' => 'baz',15 'key' => 'foo',16 ),17 array(18 'foo' => 'foo',19 'lorem' => 'ipsum',20 'key' => 'bar',21 ),22 array(23 'foo' => 'baz',24 'key' => 'value',25 ),26 ),27 'foo',28 'ASC',29 array(30 array(31 'foo' => 'bar',32 'bar' => 'baz',33 'key' => 'foo',34 ),35 array(36 'foo' => 'baz',37 'key' => 'value',38 ),39 array(40 'foo' => 'foo',41 'lorem' => 'ipsum',42 'key' => 'bar',43 ),44 ),45 ),46 'single orderby descending' => array(47 array(48 array(49 'foo' => 'bar',50 'bar' => 'baz',51 'key' => 'foo',52 ),53 array(54 'foo' => 'foo',55 'lorem' => 'ipsum',56 'key' => 'bar',57 ),58 array(59 'foo' => 'baz',60 'key' => 'value',61 ),62 ),63 'foo',64 'DESC',65 array(66 array(67 'foo' => 'foo',68 'lorem' => 'ipsum',69 'key' => 'bar',70 ),71 array(72 'foo' => 'baz',73 'key' => 'value',74 ),75 array(76 'foo' => 'bar',77 'bar' => 'baz',78 'key' => 'foo',79 ),80 ),81 ),82 'single orderby array ascending' => array(83 array(84 array(85 'foo' => 'bar',86 'bar' => 'baz',87 'key' => 'foo',88 ),89 array(90 'foo' => 'foo',91 'lorem' => 'ipsum',92 'key' => 'bar',93 ),94 array(95 'foo' => 'baz',96 'key' => 'value',97 ),98 ),99 array( 'foo' => 'ASC' ),100 'IGNORED',101 array(102 array(103 'foo' => 'bar',104 'bar' => 'baz',105 'key' => 'foo',106 ),107 array(108 'foo' => 'baz',109 'key' => 'value',110 ),111 array(112 'foo' => 'foo',113 'lorem' => 'ipsum',114 'key' => 'bar',115 ),116 ),117 ),118 'single orderby array descending' => array(119 array(120 array(121 'foo' => 'bar',122 'bar' => 'baz',123 'key' => 'foo',124 ),125 array(126 'foo' => 'foo',127 'lorem' => 'ipsum',128 'key' => 'bar',129 ),130 array(131 'foo' => 'baz',132 'key' => 'value',133 ),134 ),135 array( 'foo' => 'DESC' ),136 'IGNORED',137 array(138 array(139 'foo' => 'foo',140 'lorem' => 'ipsum',141 'key' => 'bar',142 ),143 array(144 'foo' => 'baz',145 'key' => 'value',146 ),147 array(148 'foo' => 'bar',149 'bar' => 'baz',150 'key' => 'foo',151 ),152 ),153 ),154 'multiple orderby ascending' => array(155 array(156 array(157 'foo' => 'bar',158 'bar' => 'baz',159 'key' => 'foo',160 ),161 array(162 'foo' => 'foo',163 'lorem' => 'ipsum',164 'key' => 'bar',165 ),166 array(167 'foo' => 'foo',168 'key' => 'key',169 ),170 array(171 'foo' => 'baz',172 'key' => 'key',173 ),174 array(175 'foo' => 'bar',176 'key' => 'value',177 ),178 ),179 array(180 'key' => 'ASC',181 'foo' => 'ASC',182 ),183 'IGNORED',184 array(185 array(186 'foo' => 'foo',187 'lorem' => 'ipsum',188 'key' => 'bar',189 ),190 array(191 'foo' => 'bar',192 'bar' => 'baz',193 'key' => 'foo',194 ),195 array(196 'foo' => 'baz',197 'key' => 'key',198 ),199 array(200 'foo' => 'foo',201 'key' => 'key',202 ),203 array(204 'foo' => 'bar',205 'key' => 'value',206 ),207 ),208 ),209 'multiple orderby descending' => array(210 array(211 array(212 'foo' => 'bar',213 'bar' => 'baz',214 'key' => 'foo',215 ),216 array(217 'foo' => 'foo',218 'lorem' => 'ipsum',219 'key' => 'bar',220 ),221 array(222 'foo' => 'foo',223 'key' => 'key',224 ),225 array(226 'foo' => 'baz',227 'key' => 'key',228 ),229 array(230 'foo' => 'bar',231 'key' => 'value',232 ),233 ),234 array(235 'key' => 'DESC',236 'foo' => 'DESC',237 ),238 'IGNORED',239 array(240 array(241 'foo' => 'bar',242 'key' => 'value',243 ),244 array(245 'foo' => 'foo',246 'key' => 'key',247 ),248 array(249 'foo' => 'baz',250 'key' => 'key',251 ),252 array(253 'foo' => 'bar',254 'bar' => 'baz',255 'key' => 'foo',256 ),257 array(258 'foo' => 'foo',259 'lorem' => 'ipsum',260 'key' => 'bar',261 ),262 ),263 ),264 'multiple orderby mixed' => array(265 array(266 array(267 'foo' => 'bar',268 'bar' => 'baz',269 'key' => 'foo',270 ),271 array(272 'foo' => 'foo',273 'lorem' => 'ipsum',274 'key' => 'bar',275 ),276 array(277 'foo' => 'foo',278 'key' => 'key',279 ),280 array(281 'foo' => 'baz',282 'key' => 'key',283 ),284 array(285 'foo' => 'bar',286 'key' => 'value',287 ),288 ),289 array(290 'key' => 'DESC',291 'foo' => 'ASC',292 ),293 'IGNORED',294 array(295 array(296 'foo' => 'bar',297 'key' => 'value',298 ),299 array(300 'foo' => 'baz',301 'key' => 'key',302 ),303 array(304 'foo' => 'foo',305 'key' => 'key',306 ),307 array(308 'foo' => 'bar',309 'bar' => 'baz',310 'key' => 'foo',311 ),312 array(313 'foo' => 'foo',314 'lorem' => 'ipsum',315 'key' => 'bar',316 ),317 ),318 ),319 );320 }321 322 /**323 * @dataProvider data_test_wp_list_sort324 *325 * @covers ::wp_list_sort326 *327 * @param string|array $orderby Either the field name to order by or an array328 * of multiple orderby fields as $orderby => $order.329 * @param string $order Either 'ASC' or 'DESC'.330 */331 public function test_wp_list_sort( $list, $orderby, $order, $expected ) {332 $this->assertSame( $expected, wp_list_sort( $list, $orderby, $order ) );333 }334 335 public function data_test_wp_list_sort_preserve_keys() {336 return array(337 'single orderby ascending' => array(338 array(339 'foobar' => array(340 'foo' => 'bar',341 'bar' => 'baz',342 'key' => 'foo',343 ),344 'foofoo' => array(345 'foo' => 'foo',346 'lorem' => 'ipsum',347 'key' => 'bar',348 ),349 'foobaz' => array(350 'foo' => 'baz',351 'key' => 'value',352 ),353 ),354 'foo',355 'ASC',356 array(357 'foobar' => array(358 'foo' => 'bar',359 'bar' => 'baz',360 'key' => 'foo',361 ),362 'foobaz' => array(363 'foo' => 'baz',364 'key' => 'value',365 ),366 'foofoo' => array(367 'foo' => 'foo',368 'lorem' => 'ipsum',369 'key' => 'bar',370 ),371 ),372 ),373 'single orderby descending' => array(374 array(375 'foobar' => array(376 'foo' => 'bar',377 'bar' => 'baz',378 'key' => 'foo',379 ),380 'foofoo' => array(381 'foo' => 'foo',382 'lorem' => 'ipsum',383 'key' => 'bar',384 ),385 'foobaz' => array(386 'foo' => 'baz',387 'key' => 'value',388 ),389 ),390 'foo',391 'DESC',392 array(393 'foofoo' => array(394 'foo' => 'foo',395 'lorem' => 'ipsum',396 'key' => 'bar',397 ),398 'foobaz' => array(399 'foo' => 'baz',400 'key' => 'value',401 ),402 'foobar' => array(403 'foo' => 'bar',404 'bar' => 'baz',405 'key' => 'foo',406 ),407 ),408 ),409 'single orderby array ascending' => array(410 array(411 'foobar' => array(412 'foo' => 'bar',413 'bar' => 'baz',414 'key' => 'foo',415 ),416 'foofoo' => array(417 'foo' => 'foo',418 'lorem' => 'ipsum',419 'key' => 'bar',420 ),421 'foobaz' => array(422 'foo' => 'baz',423 'key' => 'value',424 ),425 ),426 array( 'foo' => 'ASC' ),427 'IGNORED',428 array(429 'foobar' => array(430 'foo' => 'bar',431 'bar' => 'baz',432 'key' => 'foo',433 ),434 'foobaz' => array(435 'foo' => 'baz',436 'key' => 'value',437 ),438 'foofoo' => array(439 'foo' => 'foo',440 'lorem' => 'ipsum',441 'key' => 'bar',442 ),443 ),444 ),445 'single orderby array descending' => array(446 array(447 'foobar' => array(448 'foo' => 'bar',449 'bar' => 'baz',450 'key' => 'foo',451 ),452 'foofoo' => array(453 'foo' => 'foo',454 'lorem' => 'ipsum',455 'key' => 'bar',456 ),457 'foobaz' => array(458 'foo' => 'baz',459 'key' => 'value',460 ),461 ),462 array( 'foo' => 'DESC' ),463 'IGNORED',464 array(465 'foofoo' => array(466 'foo' => 'foo',467 'lorem' => 'ipsum',468 'key' => 'bar',469 ),470 'foobaz' => array(471 'foo' => 'baz',472 'key' => 'value',473 ),474 'foobar' => array(475 'foo' => 'bar',476 'bar' => 'baz',477 'key' => 'foo',478 ),479 ),480 ),481 'multiple orderby ascending' => array(482 array(483 'foobarfoo' => array(484 'foo' => 'bar',485 'bar' => 'baz',486 'key' => 'foo',487 ),488 'foofoobar' => array(489 'foo' => 'foo',490 'lorem' => 'ipsum',491 'key' => 'bar',492 ),493 'foofookey' => array(494 'foo' => 'foo',495 'key' => 'key',496 ),497 'foobazkey' => array(498 'foo' => 'baz',499 'key' => 'key',500 ),501 'foobarvalue' => array(502 'foo' => 'bar',503 'key' => 'value',504 ),505 ),506 array(507 'key' => 'ASC',508 'foo' => 'ASC',509 ),510 'IGNORED',511 array(512 'foofoobar' => array(513 'foo' => 'foo',514 'lorem' => 'ipsum',515 'key' => 'bar',516 ),517 'foobarfoo' => array(518 'foo' => 'bar',519 'bar' => 'baz',520 'key' => 'foo',521 ),522 'foobazkey' => array(523 'foo' => 'baz',524 'key' => 'key',525 ),526 'foofookey' => array(527 'foo' => 'foo',528 'key' => 'key',529 ),530 'foobarvalue' => array(531 'foo' => 'bar',532 'key' => 'value',533 ),534 ),535 ),536 'multiple orderby descending' => array(537 array(538 'foobarfoo' => array(539 'foo' => 'bar',540 'bar' => 'baz',541 'key' => 'foo',542 ),543 'foofoobar' => array(544 'foo' => 'foo',545 'lorem' => 'ipsum',546 'key' => 'bar',547 ),548 'foofookey' => array(549 'foo' => 'foo',550 'key' => 'key',551 ),552 'foobazkey' => array(553 'foo' => 'baz',554 'key' => 'key',555 ),556 'foobarvalue' => array(557 'foo' => 'bar',558 'key' => 'value',559 ),560 ),561 array(562 'key' => 'DESC',563 'foo' => 'DESC',564 ),565 'IGNORED',566 array(567 'foobarvalue' => array(568 'foo' => 'bar',569 'key' => 'value',570 ),571 'foofookey' => array(572 'foo' => 'foo',573 'key' => 'key',574 ),575 'foobazkey' => array(576 'foo' => 'baz',577 'key' => 'key',578 ),579 'foobarfoo' => array(580 'foo' => 'bar',581 'bar' => 'baz',582 'key' => 'foo',583 ),584 'foofoobar' => array(585 'foo' => 'foo',586 'lorem' => 'ipsum',587 'key' => 'bar',588 ),589 ),590 ),591 'multiple orderby mixed' => array(592 array(593 'foobarfoo' => array(594 'foo' => 'bar',595 'bar' => 'baz',596 'key' => 'foo',597 ),598 'foofoobar' => array(599 'foo' => 'foo',600 'lorem' => 'ipsum',601 'key' => 'bar',602 ),603 'foofookey' => array(604 'foo' => 'foo',605 'key' => 'key',606 ),607 'foobazkey' => array(608 'foo' => 'baz',609 'key' => 'key',610 ),611 'foobarvalue' => array(612 'foo' => 'bar',613 'key' => 'value',614 ),615 ),616 array(617 'key' => 'DESC',618 'foo' => 'ASC',619 ),620 'IGNORED',621 array(622 'foobarvalue' => array(623 'foo' => 'bar',624 'key' => 'value',625 ),626 'foobazkey' => array(627 'foo' => 'baz',628 'key' => 'key',629 ),630 'foofookey' => array(631 'foo' => 'foo',632 'key' => 'key',633 ),634 'foobarfoo' => array(635 'foo' => 'bar',636 'bar' => 'baz',637 'key' => 'foo',638 ),639 'foofoobar' => array(640 'foo' => 'foo',641 'lorem' => 'ipsum',642 'key' => 'bar',643 ),644 ),645 ),646 );647 }648 649 /**650 * @dataProvider data_test_wp_list_sort_preserve_keys651 *652 * @covers ::wp_list_sort653 *654 * @param string|array $orderby Either the field name to order by or an array655 * of multiple orderby fields as $orderby => $order.656 * @param string $order Either 'ASC' or 'DESC'.657 */658 public function test_wp_list_sort_preserve_keys( $list, $orderby, $order, $expected ) {659 $this->assertSame( $expected, wp_list_sort( $list, $orderby, $order, true ) );660 }661 9 662 10 /**
Note: See TracChangeset
for help on using the changeset viewer.