Make WordPress Core

Ticket #46230: 46230.unit-test.diff

File 46230.unit-test.diff, 1.5 KB (added by dd32, 5 years ago)
  • tests/phpunit/tests/l10n/localeSwitcher.php

    class Tests_Locale_Switcher extends WP_U 
    6464
    6565                $this->assertSame( 'en_GB', $locale );
    6666        }
    6767
    6868        public function test_switch_to_locale_loads_translation() {
    6969                switch_to_locale( 'es_ES' );
    7070
    7171                $actual = __( 'Invalid parameter.' );
    7272
    7373                // Cleanup.
    7474                restore_previous_locale();
    7575
    7676                $this->assertSame( 'Parámetro no válido. ', $actual );
    7777        }
    7878
     79        /**
     80         * @ticket 46230
     81         */
     82        public function test_switch_to_locale_loads_translation_multiple_times() {
     83                require_once DIR_TESTDATA . '/plugins/internationalized-plugin.php';
     84
     85                $english = i18n_plugin_test();
     86
     87                switch_to_locale( 'de_DE' );
     88                $actual = i18n_plugin_test();
     89                restore_previous_locale();
     90
     91                switch_to_locale( 'de_DE' );
     92                $actual_two = i18n_plugin_test();
     93                restore_previous_locale();
     94
     95                $this->assertSame( 'This is a dummy plugin', $english );
     96                $this->assertSame( 'Das ist ein Dummy Plugin', $actual );
     97                $this->assertSame( 'Das ist ein Dummy Plugin', $actual_two );
     98        }
     99
    79100        public function test_switch_to_locale_changes_wp_locale_global() {
    80101                global $wp_locale;
    81102
    82103                $expected = array(
    83104                        'thousands_sep' => '.',
    84105                        'decimal_point' => ',',
    85106                );
    86107
    87108                switch_to_locale( 'de_DE' );
    88109
    89110                $wp_locale_de_DE = clone $wp_locale;
    90111
    91112                // Cleanup.
    92113                restore_previous_locale();
    93114