Make WordPress Core

Changeset 57290


Ignore:
Timestamp:
01/16/2024 12:10:47 PM (3 years ago)
Author:
swissspidy
Message:

I18N: Do not use trailingslashit in WP_Textdomain_Registry.

This usage of trailingslashit(), introduced in [57287], is not only redundant, but also discouraged in order to avoid formatting.php dependency (which might not always be loaded).

Props SergeyBiryukov.
See #58919.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/class-wp-textdomain-registry.php

    r57287 r57290  
    162162         */
    163163        public function get_language_files_from_path( $path ) {
    164                 $path = trailingslashit( $path );
     164                $path = rtrim( $path, '/' ) . '/';
    165165
    166166                /**
    … …  
    238238                        switch ( $type ) {
    239239                                case 'plugin':
    240                                         wp_cache_delete( 'cached_mo_files_' . md5( trailingslashit( WP_LANG_DIR ) . '/plugins/' ), 'translations' );
     240                                        wp_cache_delete( 'cached_mo_files_' . md5( WP_LANG_DIR . '/plugins' ), 'translations' );
    241241                                        break;
    242242                                case 'theme':
    243                                         wp_cache_delete( 'cached_mo_files_' . md5( trailingslashit( WP_LANG_DIR ) . '/themes/' ), 'translations' );
     243                                        wp_cache_delete( 'cached_mo_files_' . md5( WP_LANG_DIR . '/themes' ), 'translations' );
    244244                                        break;
    245245                                default:
    246                                         wp_cache_delete( 'cached_mo_files_' . md5( trailingslashit( WP_LANG_DIR ) ), 'translations' );
     246                                        wp_cache_delete( 'cached_mo_files_' . md5( WP_LANG_DIR ), 'translations' );
    247247                                        break;
    248248                        }
  • trunk/tests/phpunit/tests/l10n/wpTextdomainRegistry.php

    r57287 r57290  
    2020
    2121        public function tear_down() {
    22                 wp_cache_delete( 'cached_mo_files_' . md5( trailingslashit( WP_LANG_DIR ) . '/foobar/' ), 'translations' );
    23                 wp_cache_delete( 'cached_mo_files_' . md5( trailingslashit( WP_LANG_DIR ) . '/plugins/' ), 'translations' );
    24                 wp_cache_delete( 'cached_mo_files_' . md5( trailingslashit( WP_LANG_DIR ) . '/themes/' ), 'translations' );
    25                 wp_cache_delete( 'cached_mo_files_' . md5( trailingslashit( 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();
    … …  
    8585         */
    8686        public function test_get_language_files_from_path_caches_results() {
    87                 $this->instance->get_language_files_from_path( trailingslashit( WP_LANG_DIR ) . '/foobar/' );
    88                 $this->instance->get_language_files_from_path( trailingslashit( WP_LANG_DIR ) . '/plugins/' );
    89                 $this->instance->get_language_files_from_path( trailingslashit( WP_LANG_DIR ) . '/themes/' );
     87                $this->instance->get_language_files_from_path( trailingslashit( WP_LANG_DIR ) . 'foobar/' );
     88                $this->instance->get_language_files_from_path( trailingslashit( WP_LANG_DIR ) . 'plugins/' );
     89                $this->instance->get_language_files_from_path( trailingslashit( WP_LANG_DIR ) . 'themes/' );
    9090                $this->instance->get_language_files_from_path( trailingslashit( WP_LANG_DIR ) );
    9191
    92                 $this->assertNotFalse( wp_cache_get( 'cached_mo_files_' . md5( trailingslashit( WP_LANG_DIR ) . '/plugins/' ), 'translations' ) );
    93                 $this->assertNotFalse( wp_cache_get( 'cached_mo_files_' . md5( trailingslashit( WP_LANG_DIR ) . '/themes/' ), 'translations' ) );
    94                 $this->assertNotFalse( wp_cache_get( 'cached_mo_files_' . md5( trailingslashit( WP_LANG_DIR ) . '/foobar/' ), 'translations' ) );
     92                $this->assertNotFalse( wp_cache_get( 'cached_mo_files_' . md5( trailingslashit( WP_LANG_DIR ) . 'plugins/' ), 'translations' ) );
     93                $this->assertNotFalse( wp_cache_get( 'cached_mo_files_' . md5( trailingslashit( WP_LANG_DIR ) . 'themes/' ), 'translations' ) );
     94                $this->assertNotFalse( wp_cache_get( 'cached_mo_files_' . md5( trailingslashit( WP_LANG_DIR ) . 'foobar/' ), 'translations' ) );
    9595                $this->assertNotFalse( wp_cache_get( 'cached_mo_files_' . md5( trailingslashit( WP_LANG_DIR ) ), 'translations' ) );
    9696        }
    … …  
    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( trailingslashit( 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( trailingslashit( 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( trailingslashit( WP_LANG_DIR ) . '/plugins/' );
    117                 $this->instance->get_language_files_from_path( trailingslashit( WP_LANG_DIR ) . '/themes/' );
    118                 $this->instance->get_language_files_from_path( trailingslashit( 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( trailingslashit( WP_LANG_DIR ) . '/plugins/' ), 'translations' ) );
    148                 $this->assertFalse( wp_cache_get( 'cached_mo_files_' . md5( trailingslashit( WP_LANG_DIR ) . '/themes/' ), 'translations' ) );
    149                 $this->assertFalse( wp_cache_get( 'cached_mo_files_' . md5( trailingslashit( 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.