General: Add missing unit tests for `wp_array_slice_assoc()`.

Props pbearne, desrosj.
Fixes #46638.

git-svn-id: https://develop.svn.wordpress.org/trunk@45371 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Jonathan Desrosiers 2019-05-21 14:47:58 +00:00
parent 05da62cca7
commit f9e4f60577
1 changed files with 129 additions and 0 deletions

View File

@ -0,0 +1,129 @@
<?php
/**
* Tests wp_array_slice_assoc function
*
* @since 5.3.0
*
* @covers wp_array_slice_assoc
* @group functions.php
*/
class Tests_Functions_WpArraySliceAssoc extends WP_UnitTestCase {
/**
* Test wp_array_slice_assoc().
*
* @dataProvider data_wp_array_slice_assoc_arrays
*
* @ticket 46638
*
* @param array $target_array The original array.
* @param array $keys The list of keys.
* @param array $expected The expected result.
*/
public function test_wp_array_slice_assoc( $target_array, $keys, $expected ) {
$this->assertSame( wp_array_slice_assoc( $target_array, $keys ), $expected );
}
/**
* Test data for wp_array_slice_assoc().
*
* @return array
*/
public function data_wp_array_slice_assoc_arrays() {
return array(
array(
array( 1 => 1 ),
array( 1 ),
array( 1 => 1 ),
),
array(
array( 1 => 1 ),
array( 0 ),
array(),
),
array(
array( 1 => array( 1 => 1 ) ),
array( 1 ),
array( 1 => array( 1 => 1 ) ),
),
array(
array(
1 => 1,
2 => 2,
),
array( 1 ),
array( 1 => 1 ),
),
array(
array(
1 => 1,
2 => 2,
),
array( 2 ),
array( 2 => 2 ),
),
array(
array(
1 => 1,
2 => 2,
),
array( 1, 1 ),
array( 1 => 1 ),
),
array(
array( 1 => array( 1 => array( 1 => 1 ) ) ),
array( 1 ),
array( 1 => array( 1 => array( 1 => 1 ) ) ),
),
array(
array(
1 => 1,
2 => 2,
),
array( 1, 2 ),
array(
1 => 1,
2 => 2,
),
),
array(
array(
'1' => '1',
'2' => '2',
),
array( '1' ),
array( '1' => '1' ),
),
array(
array(
'1' => '1',
'2' => '2',
),
array( '2' ),
array( '2' => '2' ),
),
array(
array(
'1' => '1',
'2' => '2',
),
array( 1 ),
array( '1' => '1' ),
),
array(
array(
'1' => '1',
'2' => '2',
),
array( 1 ),
array( '1' => '1' ),
),
array(
array( 1 => 1 ),
array( '1' ),
array( 1 => 1 ),
),
);
}
}