Make WordPress Core


Ignore:
Timestamp:
01/16/2024 09:43:11 PM (3 years ago)
Author:
SergeyBiryukov
Message:

I18N: Correctly invalidate language file paths in WP_Textdomain_Registry.

Since the cache key in ::get_language_files_from_path() is based on a path that always includes a trailing slash, the path in ::invalidate_mo_files_cache() should include the trailing slash as well.

Includes adjusting the test expectations accordingly.

Follow-up to [57287], [57290], [57298].

See #58919.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/l10n/wpTextdomainRegistry.php

    r57298 r57299  
    2020
    2121        public function tear_down() {
    22                 wp_cache_delete( 'cached_mo_files_' . md5( WP_LANG_DIR . '/foobar' ), 'translations' );
    23                 wp_cache_delete( 'cached_mo_files_' . md5( WP_LANG_DIR . '/plugins' ), 'translations' );
    24                 wp_cache_delete( 'cached_mo_files_' . md5( WP_LANG_DIR . '/themes' ), 'translations' );
    25                 wp_cache_delete( 'cached_mo_files_' . md5( WP_LANG_DIR ), 'translations' );
     22                wp_cache_delete( 'cached_mo_files_' . md5( WP_LANG_DIR . '/foobar/' ), 'translations' );
     23                wp_cache_delete( 'cached_mo_files_' . md5( WP_LANG_DIR . '/plugins/' ), 'translations' );
     24                wp_cache_delete( 'cached_mo_files_' . md5( WP_LANG_DIR . '/themes/' ), 'translations' );
     25                wp_cache_delete( 'cached_mo_files_' . md5( WP_LANG_DIR . '/' ), 'translations' );
    2626
    2727                parent::tear_down();
     
    101101        public function test_get_language_files_from_path_short_circuit() {
    102102                add_filter( 'pre_get_language_files_from_path', '__return_empty_array' );
    103                 $result = $this->instance->get_language_files_from_path( WP_LANG_DIR . '/plugins' );
     103                $result = $this->instance->get_language_files_from_path( WP_LANG_DIR . '/plugins/' );
    104104                remove_filter( 'pre_get_language_files_from_path', '__return_empty_array' );
    105105
    106                 $cache = wp_cache_get( 'cached_mo_files_' . md5( WP_LANG_DIR . '/plugins' ), 'translations' );
     106                $cache = wp_cache_get( 'cached_mo_files_' . md5( WP_LANG_DIR . '/plugins/' ), 'translations' );
    107107
    108108                $this->assertEmpty( $result );
     
    114114         */
    115115        public function test_invalidate_mo_files_cache() {
    116                 $this->instance->get_language_files_from_path( WP_LANG_DIR . '/plugins' );
    117                 $this->instance->get_language_files_from_path( WP_LANG_DIR . '/themes' );
    118                 $this->instance->get_language_files_from_path( WP_LANG_DIR );
     116                $this->instance->get_language_files_from_path( WP_LANG_DIR . '/plugins/' );
     117                $this->instance->get_language_files_from_path( WP_LANG_DIR . '/themes/' );
     118                $this->instance->get_language_files_from_path( WP_LANG_DIR . '/' );
    119119
    120120                $this->instance->invalidate_mo_files_cache(
     
    145145                );
    146146
    147                 $this->assertFalse( wp_cache_get( 'cached_mo_files_' . md5( WP_LANG_DIR . '/plugins' ), 'translations' ) );
    148                 $this->assertFalse( wp_cache_get( 'cached_mo_files_' . md5( WP_LANG_DIR . '/themes' ), 'translations' ) );
    149                 $this->assertFalse( wp_cache_get( 'cached_mo_files_' . md5( WP_LANG_DIR ), 'translations' ) );
     147                $this->assertFalse( wp_cache_get( 'cached_mo_files_' . md5( WP_LANG_DIR . '/plugins/' ), 'translations' ) );
     148                $this->assertFalse( wp_cache_get( 'cached_mo_files_' . md5( WP_LANG_DIR . '/themes/' ), 'translations' ) );
     149                $this->assertFalse( wp_cache_get( 'cached_mo_files_' . md5( WP_LANG_DIR . '/' ), 'translations' ) );
    150150        }
    151151
Note: See TracChangeset for help on using the changeset viewer.