Make WordPress Core

Changeset 57290


Ignore:
Timestamp:
01/16/2024 12:10:47 PM (12 months 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.