mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-07-01 15:50:09 +00:00
Tests: Introduce assertSameSets() and assertSameSetsWithIndex(), and use them where appropriate.
This ensures that not only the array values being compared are equal, but also that their type is the same. These new methods replace most of the existing instances of `assertEqualSets()` and `assertEqualSetsWithIndex()`. Going forward, stricter type checking by using `assertSameSets()` or `assertSameSetsWithIndex()` should generally be preferred, to make the tests more reliable. Follow-up to [48937]. See #38266. git-svn-id: https://develop.svn.wordpress.org/trunk@48939 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -345,10 +345,10 @@ class Test_WP_Customize_Custom_CSS_Setting extends WP_UnitTestCase {
|
||||
*/
|
||||
function filter_update_custom_css_data( $data, $args ) {
|
||||
$this->assertInternalType( 'array', $data );
|
||||
$this->assertEqualSets( array( 'css', 'preprocessed' ), array_keys( $data ) );
|
||||
$this->assertSameSets( array( 'css', 'preprocessed' ), array_keys( $data ) );
|
||||
$this->assertSame( '', $data['preprocessed'] );
|
||||
$this->assertInternalType( 'array', $args );
|
||||
$this->assertEqualSets( array( 'css', 'preprocessed', 'stylesheet' ), array_keys( $args ) );
|
||||
$this->assertSameSets( array( 'css', 'preprocessed', 'stylesheet' ), array_keys( $args ) );
|
||||
$this->assertSame( $args['css'], $data['css'] );
|
||||
$this->assertSame( $args['preprocessed'], $data['preprocessed'] );
|
||||
|
||||
|
||||
@@ -674,7 +674,7 @@ class Tests_WP_Customize_Manager extends WP_UnitTestCase {
|
||||
'page_on_front',
|
||||
'page_for_posts',
|
||||
);
|
||||
$this->assertEqualSets( $expected_setting_ids, array_keys( $changeset_values ) );
|
||||
$this->assertSameSets( $expected_setting_ids, array_keys( $changeset_values ) );
|
||||
|
||||
foreach ( array( 'widget_text[2]', 'widget_meta[3]' ) as $setting_id ) {
|
||||
$this->assertInternalType( 'array', $changeset_values[ $setting_id ] );
|
||||
@@ -742,7 +742,7 @@ class Tests_WP_Customize_Manager extends WP_UnitTestCase {
|
||||
$wp_customize->import_theme_starter_content();
|
||||
$changeset_data = $wp_customize->changeset_data();
|
||||
// Auto-drafts should not get re-created and amended with each import.
|
||||
$this->assertEqualSets( array_values( $posts_by_name ), $changeset_data['nav_menus_created_posts']['value'] );
|
||||
$this->assertSameSets( array_values( $posts_by_name ), $changeset_data['nav_menus_created_posts']['value'] );
|
||||
|
||||
// Test that saving non-starter content on top of the changeset clears the starter_content flag.
|
||||
$wp_customize->save_changeset_post(
|
||||
@@ -870,7 +870,7 @@ class Tests_WP_Customize_Manager extends WP_UnitTestCase {
|
||||
'nested_array_option',
|
||||
'nested_array_theme_mod',
|
||||
);
|
||||
$this->assertEqualSets( $expected_setting_ids, array_keys( $changeset_values ) );
|
||||
$this->assertSameSets( $expected_setting_ids, array_keys( $changeset_values ) );
|
||||
|
||||
$this->assertSame( $existing_published_home_page_id, $changeset_values['array_option']['home_page_id'] );
|
||||
$this->assertSame( $existing_published_home_page_id, $changeset_values['nested_array_option'][2]['home_page_id'] );
|
||||
@@ -1611,7 +1611,7 @@ class Tests_WP_Customize_Manager extends WP_UnitTestCase {
|
||||
$setting_id = preg_replace( '/^.+::/', '', $setting_id );
|
||||
$this->assertSame( $save_counts[ $setting_id ] + 1, did_action( sprintf( 'customize_save_%s', $setting_id ) ), $setting_id );
|
||||
}
|
||||
$this->assertEqualSets( array( 'blogname', 'blogdescription', 'background_color', 'scratchpad' ), array_keys( $this->filtered_setting_current_user_ids ) );
|
||||
$this->assertSameSets( array( 'blogname', 'blogdescription', 'background_color', 'scratchpad' ), array_keys( $this->filtered_setting_current_user_ids ) );
|
||||
$this->assertSame( $other_admin_user_id, $this->filtered_setting_current_user_ids['blogname'] );
|
||||
$this->assertSame( 0, $this->filtered_setting_current_user_ids['blogdescription'] );
|
||||
$this->assertSame( self::$subscriber_user_id, $this->filtered_setting_current_user_ids['scratchpad'] );
|
||||
@@ -2221,7 +2221,7 @@ class Tests_WP_Customize_Manager extends WP_UnitTestCase {
|
||||
|
||||
add_filter( 'customize_allowed_urls', array( $this, 'filter_customize_allowed_urls' ) );
|
||||
$allowed = $wp_customize->get_allowed_urls();
|
||||
$this->assertEqualSets( $allowed, array( 'http://headless.example.com/', home_url( '/', 'http' ) ) );
|
||||
$this->assertSameSets( $allowed, array( 'http://headless.example.com/', home_url( '/', 'http' ) ) );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3089,12 +3089,12 @@ class Tests_WP_Customize_Manager extends WP_UnitTestCase {
|
||||
$data = json_decode( $json, true );
|
||||
$this->assertNotEmpty( $data );
|
||||
|
||||
$this->assertEqualSets( array( 'theme', 'url', 'browser', 'panels', 'sections', 'nonce', 'autofocus', 'documentTitleTmpl', 'previewableDevices', 'changeset', 'timeouts', 'dateFormat', 'timeFormat', 'initialClientTimestamp', 'initialServerDate', 'initialServerTimestamp', 'l10n' ), array_keys( $data ) );
|
||||
$this->assertSameSets( array( 'theme', 'url', 'browser', 'panels', 'sections', 'nonce', 'autofocus', 'documentTitleTmpl', 'previewableDevices', 'changeset', 'timeouts', 'dateFormat', 'timeFormat', 'initialClientTimestamp', 'initialServerDate', 'initialServerTimestamp', 'l10n' ), array_keys( $data ) );
|
||||
$this->assertSame( $autofocus, $data['autofocus'] );
|
||||
$this->assertArrayHasKey( 'save', $data['nonce'] );
|
||||
$this->assertArrayHasKey( 'preview', $data['nonce'] );
|
||||
|
||||
$this->assertEqualSets(
|
||||
$this->assertSameSets(
|
||||
array(
|
||||
'branching',
|
||||
'autosaved',
|
||||
|
||||
@@ -584,7 +584,7 @@ class Test_WP_Customize_Nav_Menu_Item_Setting extends WP_UnitTestCase {
|
||||
);
|
||||
|
||||
$sanitized = $setting->sanitize( $unsanitized );
|
||||
$this->assertEqualSets( array_keys( $unsanitized ), array_keys( $sanitized ) );
|
||||
$this->assertSameSets( array_keys( $unsanitized ), array_keys( $sanitized ) );
|
||||
|
||||
foreach ( $expected_sanitized as $key => $value ) {
|
||||
$this->assertSame( $value, $sanitized[ $key ], "Expected $key to be sanitized." );
|
||||
|
||||
@@ -202,7 +202,7 @@ class Test_WP_Customize_Nav_Menu_Setting extends WP_UnitTestCase {
|
||||
|
||||
$term = (array) wp_get_nav_menu_object( $menu_id );
|
||||
|
||||
$this->assertEqualSets(
|
||||
$this->assertSameSets(
|
||||
wp_array_slice_assoc( $value, array( 'name', 'description', 'parent' ) ),
|
||||
wp_array_slice_assoc( $term, array( 'name', 'description', 'parent' ) )
|
||||
);
|
||||
@@ -213,7 +213,7 @@ class Test_WP_Customize_Nav_Menu_Setting extends WP_UnitTestCase {
|
||||
$this->assertSame( 'Description 2 \\o/', $value['description'] );
|
||||
$this->assertSame( 1, $value['parent'] );
|
||||
$term = (array) wp_get_nav_menu_object( $menu_id );
|
||||
$this->assertEqualSets( $value, wp_array_slice_assoc( $term, array_keys( $value ) ) );
|
||||
$this->assertSameSets( $value, wp_array_slice_assoc( $term, array_keys( $value ) ) );
|
||||
|
||||
$menu_object = wp_get_nav_menu_object( $menu_id );
|
||||
$this->assertEquals( (object) $term, $menu_object );
|
||||
@@ -256,7 +256,7 @@ class Test_WP_Customize_Nav_Menu_Setting extends WP_UnitTestCase {
|
||||
$term = (array) wp_get_nav_menu_object( $menu_id );
|
||||
$this->assertNotEmpty( $term );
|
||||
$this->assertNotWPError( $term );
|
||||
$this->assertEqualSets( $post_value, wp_array_slice_assoc( $term, array_keys( $value ) ) );
|
||||
$this->assertSameSets( $post_value, wp_array_slice_assoc( $term, array_keys( $value ) ) );
|
||||
$this->assertSame( $menu_id, $term['term_id'] );
|
||||
$this->assertSame( $menu_id, $term['term_taxonomy_id'] );
|
||||
|
||||
@@ -338,7 +338,7 @@ class Test_WP_Customize_Nav_Menu_Setting extends WP_UnitTestCase {
|
||||
$this->assertSame( 'New line \\o/', $sanitized['description'] );
|
||||
$this->assertSame( 0, $sanitized['parent'] );
|
||||
$this->assertTrue( $sanitized['auto_add'] );
|
||||
$this->assertEqualSets( array( 'name', 'description', 'parent', 'auto_add' ), array_keys( $sanitized ) );
|
||||
$this->assertSameSets( array( 'name', 'description', 'parent', 'auto_add' ), array_keys( $sanitized ) );
|
||||
|
||||
$value['name'] = ' '; // Blank spaces.
|
||||
$sanitized = $setting->sanitize( $value );
|
||||
@@ -385,7 +385,7 @@ class Test_WP_Customize_Nav_Menu_Setting extends WP_UnitTestCase {
|
||||
foreach ( array( 'name', 'description', 'parent' ) as $key ) {
|
||||
$this->assertSame( $new_value[ $key ], $menu_object->$key );
|
||||
}
|
||||
$this->assertEqualSets(
|
||||
$this->assertSameSets(
|
||||
wp_array_slice_assoc( $new_value, array( 'name', 'description', 'parent' ) ),
|
||||
wp_array_slice_assoc( (array) $menu_object, array( 'name', 'description', 'parent' ) )
|
||||
);
|
||||
@@ -441,7 +441,7 @@ class Test_WP_Customize_Nav_Menu_Setting extends WP_UnitTestCase {
|
||||
|
||||
$menu = wp_get_nav_menu_object( $setting->term_id );
|
||||
unset( $post_value['auto_add'] );
|
||||
$this->assertEqualSets( $post_value, wp_array_slice_assoc( (array) $menu, array_keys( $post_value ) ) );
|
||||
$this->assertSameSets( $post_value, wp_array_slice_assoc( (array) $menu, array_keys( $post_value ) ) );
|
||||
|
||||
$save_response = apply_filters( 'customize_save_response', array() );
|
||||
$this->assertArrayHasKey( 'nav_menu_updates', $save_response );
|
||||
|
||||
@@ -442,7 +442,7 @@ class Test_WP_Customize_Nav_Menus extends WP_UnitTestCase {
|
||||
)
|
||||
);
|
||||
|
||||
$this->assertEqualSets( $expected, $results[0] );
|
||||
$this->assertSameSets( $expected, $results[0] );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1023,7 +1023,7 @@ class Test_WP_Customize_Nav_Menus extends WP_UnitTestCase {
|
||||
// Ensure that unique slugs were assigned.
|
||||
$posts = array_map( 'get_post', $drafted_post_ids );
|
||||
$post_names = wp_list_pluck( $posts, 'post_name' );
|
||||
$this->assertEqualSets( $post_names, array_unique( $post_names ) );
|
||||
$this->assertSameSets( $post_names, array_unique( $post_names ) );
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -106,7 +106,7 @@ class Test_WP_Customize_Partial extends WP_UnitTestCase {
|
||||
$this->assertSame( $this->selective_refresh, $partial->component );
|
||||
$this->assertSame( $args['type'], $partial->type );
|
||||
$this->assertSame( $args['selector'], $partial->selector );
|
||||
$this->assertEqualSets( $args['settings'], $partial->settings );
|
||||
$this->assertSameSets( $args['settings'], $partial->settings );
|
||||
$this->assertSame( $args['primary_setting'], $partial->primary_setting );
|
||||
$this->assertSame( $args['render_callback'], $partial->render_callback );
|
||||
$this->assertFalse( $partial->container_inclusive );
|
||||
|
||||
@@ -377,7 +377,7 @@ class Test_WP_Customize_Selective_Refresh_Ajax extends WP_UnitTestCase {
|
||||
$this->assertInternalType( 'array', $response );
|
||||
$this->assertInstanceOf( 'WP_Customize_Selective_Refresh', $component );
|
||||
if ( isset( $this->expected_partial_ids ) ) {
|
||||
$this->assertEqualSets( $this->expected_partial_ids, array_keys( $partial_placements ) );
|
||||
$this->assertSameSets( $this->expected_partial_ids, array_keys( $partial_placements ) );
|
||||
}
|
||||
return $response;
|
||||
}
|
||||
@@ -398,7 +398,7 @@ class Test_WP_Customize_Selective_Refresh_Ajax extends WP_UnitTestCase {
|
||||
function handle_action_customize_render_partials_after( $component, $partial_placements ) {
|
||||
$this->assertInstanceOf( 'WP_Customize_Selective_Refresh', $component );
|
||||
if ( isset( $this->expected_partial_ids ) ) {
|
||||
$this->assertEqualSets( $this->expected_partial_ids, array_keys( $partial_placements ) );
|
||||
$this->assertSameSets( $this->expected_partial_ids, array_keys( $partial_placements ) );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -411,7 +411,7 @@ class Test_WP_Customize_Selective_Refresh_Ajax extends WP_UnitTestCase {
|
||||
function handle_action_customize_render_partials_before( $component, $partial_placements ) {
|
||||
$this->assertInstanceOf( 'WP_Customize_Selective_Refresh', $component );
|
||||
if ( isset( $this->expected_partial_ids ) ) {
|
||||
$this->assertEqualSets( $this->expected_partial_ids, array_keys( $partial_placements ) );
|
||||
$this->assertSameSets( $this->expected_partial_ids, array_keys( $partial_placements ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -95,7 +95,7 @@ class Test_WP_Customize_Selective_Refresh extends WP_UnitTestCase {
|
||||
$partial = new WP_Customize_Partial( $this->selective_refresh, 'bar' );
|
||||
$this->assertSame( $partial, $this->selective_refresh->add_partial( $partial ) );
|
||||
$this->assertSame( $partial, $this->selective_refresh->get_partial( 'bar' ) );
|
||||
$this->assertEqualSets( array( 'bar' ), array_keys( $this->selective_refresh->partials() ) );
|
||||
$this->assertSameSets( array( 'bar' ), array_keys( $this->selective_refresh->partials() ) );
|
||||
|
||||
add_filter( 'customize_dynamic_partial_args', array( $this, 'filter_customize_dynamic_partial_args' ), 10, 2 );
|
||||
add_filter( 'customize_dynamic_partial_class', array( $this, 'filter_customize_dynamic_partial_class' ), 10, 3 );
|
||||
@@ -190,7 +190,7 @@ class Test_WP_Customize_Selective_Refresh extends WP_UnitTestCase {
|
||||
add_filter( 'customize_dynamic_partial_class', array( $this, 'filter_customize_dynamic_partial_class' ), 10, 3 );
|
||||
|
||||
$partials = $this->selective_refresh->add_dynamic_partials( $partial_ids );
|
||||
$this->assertEqualSets( array( 'recognized', 'recognized-class' ), wp_list_pluck( $partials, 'id' ) );
|
||||
$this->assertSameSets( array( 'recognized', 'recognized-class' ), wp_list_pluck( $partials, 'id' ) );
|
||||
|
||||
$this->assertInstanceOf( 'Tested_Custom_Partial', $this->selective_refresh->get_partial( 'recognized-class' ) );
|
||||
$this->assertNotInstanceOf( 'Tested_Custom_Partial', $this->selective_refresh->get_partial( 'recognized' ) );
|
||||
|
||||
@@ -32,7 +32,7 @@ class Tests_WP_Customize_Widgets extends WP_UnitTestCase {
|
||||
|
||||
unset( $GLOBALS['_wp_sidebars_widgets'] ); // Clear out cache set by wp_get_sidebars_widgets().
|
||||
$sidebars_widgets = wp_get_sidebars_widgets();
|
||||
$this->assertEqualSets( array( 'wp_inactive_widgets', 'sidebar-1', 'sidebar-2' ), array_keys( wp_get_sidebars_widgets() ) );
|
||||
$this->assertSameSets( array( 'wp_inactive_widgets', 'sidebar-1', 'sidebar-2' ), array_keys( wp_get_sidebars_widgets() ) );
|
||||
$this->assertContains( 'search-2', $sidebars_widgets['sidebar-1'] );
|
||||
$this->assertContains( 'categories-2', $sidebars_widgets['sidebar-2'] );
|
||||
$this->assertArrayHasKey( 2, get_option( 'widget_search' ) );
|
||||
|
||||
Reference in New Issue
Block a user