Make WordPress Core

Changeset 44633


Ignore:
Timestamp:
01/17/2019 04:33:42 AM (6 years ago)
Author:
pento
Message:

Tests: Ensure meta keys are cleaned up after each test.

Props jnylen0.
Fixes #46007.

Location:
trunk/tests/phpunit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/includes/testcase.php

    r44327 r44633  
    168168        }
    169169
     170        $this->unregister_all_meta_keys();
    170171        remove_theme_support( 'html5' );
    171172        remove_filter( 'query', array( $this, '_create_temporary_tables' ) );
     
    329330        wp_cache_add_global_groups( array( 'users', 'userlogins', 'usermeta', 'user_meta', 'useremail', 'userslugs', 'site-transient', 'site-options', 'blog-lookup', 'blog-details', 'rss', 'global-posts', 'blog-id-cache', 'networks', 'sites', 'site-details', 'blog_meta' ) );
    330331        wp_cache_add_non_persistent_groups( array( 'comment', 'counts', 'plugins' ) );
     332    }
     333
     334    /**
     335     * Clean up any registered meta keys.
     336     *
     337     * @since 5.1.0
     338     *
     339     * @global array $wp_meta_keys
     340     */
     341    function unregister_all_meta_keys() {
     342        global $wp_meta_keys;
     343        if ( ! is_array( $wp_meta_keys ) ) {
     344            return;
     345        }
     346        foreach ( $wp_meta_keys as $object_type => $type_keys ) {
     347            foreach ( $type_keys as $object_subtype => $subtype_keys ) {
     348                foreach ( $subtype_keys as $key => $value ) {
     349                    unregister_meta_key( $object_type, $key, $object_subtype );
     350                }
     351            }
     352        }
    331353    }
    332354
  • trunk/tests/phpunit/tests/rest-api/rest-schema-setup.php

    r44250 r44633  
    258258        );
    259259
     260        $meta_multi_args           = $meta_args;
     261        $meta_multi_args['single'] = false;
     262
    260263        // Set up meta.
     264        register_meta( 'term', 'test_single', $meta_args );
     265        register_meta( 'term', 'test_multi', $meta_multi_args );
     266        register_term_meta( 'category', 'test_cat_single', $meta_args );
     267        register_term_meta( 'category', 'test_cat_multi', $meta_multi_args );
     268        register_term_meta( 'post_tag', 'test_tag_meta', $meta_args );
     269
    261270        register_meta( 'user', 'meta_key', $meta_args );
    262271        update_user_meta( 1, 'meta_key', 'meta_value' ); // Always use the first user.
Note: See TracChangeset for help on using the changeset viewer.