You appear to be a bot. Output may be restricted
Description
Usage
Tests_Locale_Switcher::test_switch_to_site_locale_if_user_locale_is_set();
Parameters
Returns
void
Source
File name: wordpress-develop-tests/phpunit/tests/l10n/localeSwitcher.php
Lines:
1 to 48 of 48
public function test_switch_to_site_locale_if_user_locale_is_set() { global $l10n, $wp_locale_switcher; $site_locale = get_locale(); $user_id = $this->factory()->user->create( array( 'role' => 'administrator', 'locale' => 'de_DE', ) ); wp_set_current_user( $user_id ); set_current_screen( 'dashboard' ); $locale_switcher = clone $wp_locale_switcher; $wp_locale_switcher = new WP_Locale_Switcher(); $wp_locale_switcher->init(); $user_locale = get_user_locale(); $this->assertSame( 'de_DE', $user_locale ); load_default_textdomain( $user_locale ); $language_header_before_switch = $l10n['default']->headers['Language']; // de_DE $locale_switched_user_locale = switch_to_locale( $user_locale ); // False. $locale_switched_site_locale = switch_to_locale( $site_locale ); // True. $site_locale_after_switch = get_locale(); $language_header_after_switch = isset( $l10n['default'] ); // en_US restore_current_locale(); $language_header_after_restore = $l10n['default']->headers['Language']; // de_DE $wp_locale_switcher = $locale_switcher; set_current_screen( 'front' ); $this->assertFalse( $locale_switched_user_locale ); $this->assertTrue( $locale_switched_site_locale ); $this->assertSame( $site_locale, $site_locale_after_switch ); $this->assertSame( 'de_DE', $language_header_before_switch ); $this->assertFalse( $language_header_after_switch ); $this->assertSame( 'de_DE', $language_header_after_restore ); }