wordpress-develop/tests/phpunit/tests
Dominik Schilling (ocean90) 9e3f6d338b I18N: Introduce a locale-switching function.
With the introduction of user-specific languages in [38705] it's necessary to be able to switch translations on the fly. For example emails should be sent in the language of the recipient and not the one of the current user.

This introduces a new `WP_Locale_Switcher` class which is used for switching locales and translations. It holds the stack of locales whenever `switch_to_locale( $locale )` is called. With `restore_previous_locale()` you can restore the previous locale. `restore_current_locale()` empties the stack and sets the locale back to the initial value.

`switch_to_locale()` is added to most of core's email functions, either with the value of `get_locale()` (site language) or `get_user_locale()` (user language with fallback to site language).

Props yoavf, tfrommen, swissspidy, pbearne, ocean90.
See #29783.
Fixes #26511.

git-svn-id: https://develop.svn.wordpress.org/trunk@38961 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-26 15:35:58 +00:00
..
actions Build/Test Tools: Continue eliminating randomness in tests. 2016-10-09 01:29:04 +00:00
admin Posts, Post Types: Add support for post type templates. 2016-10-26 08:06:43 +00:00
ajax Customize: Implement customized state persistence with changesets. 2016-10-18 20:04:36 +00:00
attachment Unit Tests: WP_UnitTest_Generator_Sequence needs a static incrementer - otherwise, it assumes every test class is a reset, which it no longer is (it is now static). 2015-10-17 19:24:20 +00:00
bookmark In get_bookmarks(), don't cache if 'orderby=rand'. 2016-05-25 18:29:01 +00:00
canonical Built/Test Tools: Unify the way the permastructure is set when used in conjunction with re-registering the initial taxonomies. This ensure that rewrite rules for taxonomies are consistently available. 2016-09-26 17:01:48 +00:00
category Introduce required argument for wp_dropdown_categories(). 2016-05-19 02:38:33 +00:00
comment Feeds: Always return a valid timestamp for the Last-Modified header of comment or post feeds. 2016-10-25 20:47:06 +00:00
customize General: Introduce a wp_list_sort() helper function, v2. 2016-10-25 21:25:25 +00:00
date Date/Time: Fix unit tests after [38804]. 2016-10-23 07:18:21 +00:00
db Tests: Skip strip_invalid_text() test for big5 charset on MariaDB. 2016-10-20 18:29:28 +00:00
dependencies External Libraries: Update Backbone to version 1.3.3. 2016-06-16 09:26:06 +00:00
external-http Unit Tests: move some oEmbed tests that can trigger HTTP calls to Tests_External_HTTP_OEmbed. 2015-10-15 01:28:05 +00:00
feed Feeds: Don't attempt to generate RSS feeds for invalid feed URLs such as wp-content/feed. 2016-10-25 21:53:22 +00:00
filesystem Require dependencies when appropriate in some unit test files. 2015-07-14 03:07:13 +00:00
formatting General: Add a sanitize_textarea_field() function. 2016-10-26 05:16:09 +00:00
functions General: Introduce a wp_list_sort() helper function, v2. 2016-10-25 21:25:25 +00:00
general Customize: Prevent absent site icon link from outputting an empty string as href in customizer; use /favicon.ico as fallback. 2016-10-25 04:46:36 +00:00
hooks Build/Test Tools: Begin eliminating unnecessary randomness in tests. 2016-10-09 01:11:14 +00:00
http Build/Test Tools: Revert [38759]. PHPUnit's @requires syntax was introduced in PHPUnit 3.7, but the tests for PHP 5.2 use PHPUnit 3.6 because it's the latest version that supports PHP 5.2. 2016-10-08 22:42:12 +00:00
image Media: Add support for rendering PDF thumbnails. 2016-10-26 07:27:51 +00:00
import Add wordpress-importer tests demonstrating slashed data behavior. 2016-08-19 13:26:04 +00:00
includes Tests: Reset post-related globals after each test. 2016-09-30 03:15:36 +00:00
l10n I18N: Introduce a locale-switching function. 2016-10-26 15:35:58 +00:00
link Build/Test Tools: Begin eliminating unnecessary randomness in tests. 2016-10-09 01:11:14 +00:00
load Bootstrap: Enhance core's memory limit handling. 2016-07-08 14:36:37 +00:00
media Remove unnecessary uniqueness check in get_attachment_taxonomies(). 2016-08-30 03:06:06 +00:00
menu Docs: Fix phpdoc and jsdoc typos introduced in [38584] and [38587], respectively. 2016-09-11 18:45:59 +00:00
meta Unit Tests: 2016-08-27 08:35:16 +00:00
multisite Multisite: Use get_site() in tests where get_blog_details() is not tested. 2016-10-25 23:03:15 +00:00
oembed Build/Test Tools: Begin eliminating unnecessary randomness in tests. 2016-10-09 01:11:14 +00:00
option Options: Add 'default' to register_setting 2016-10-25 17:07:20 +00:00
pomo mbstring.func_overload test should be skipped properly. 2016-02-29 22:37:42 +00:00
post Posts, Post Types: Add support for post type templates. 2016-10-26 08:06:43 +00:00
query Posts, Post Types: Add support for post type templates. 2016-10-26 08:06:43 +00:00
rest-api REST API: Use term-specific caps for permission checks in term update and delete endpoints. 2016-10-26 14:51:54 +00:00
rewrite Unit Tests: 2016-08-27 08:35:16 +00:00
taxonomy Allow attachment taxonomies to be fetched as objects. 2016-08-20 17:34:13 +00:00
term Taxonomy: Cache results of term count queries. 2016-10-12 15:29:03 +00:00
theme Tests: Add newly introduced theme to theme list. 2016-10-03 18:44:19 +00:00
user Build/Test Tools: Continue eliminating randomness in tests. 2016-10-26 01:23:24 +00:00
xmlrpc Tests: Use correct arguments for wp_newComment XML-RPC method. 2016-10-26 07:51:41 +00:00
actions.php Build/Test Tools: Continue eliminating randomness in tests. 2016-10-09 01:29:04 +00:00
adminbar.php Build/Test Tools: Continue eliminating randomness in tests. 2016-10-26 01:23:24 +00:00
auth.php Security: Trigger a _doing_it_wrong() when check_ajax_referer() is called without its first parameter. This brings it inline with check_admin_referer(). 2016-08-28 17:14:52 +00:00
avatar.php Unit Tests: after [35225], make factory a method/getter on WP_UnitTestCase and add magic methods for BC for every plugin that is extending WP_UnitTestCase and accessing the $factory instance prop. 2015-10-17 18:02:16 +00:00
basic.php Tests: Require Basic_Object and Basic_Subclass files earlier in call stack. 2016-08-30 14:32:04 +00:00
cache.php Build/Test Tools: Continue eliminating randomness in tests. 2016-10-09 01:29:04 +00:00
canonical.php Unit Tests: 2016-08-27 08:35:16 +00:00
category.php Move wp_dropdown_categories() tests into their own file. 2016-05-19 02:22:59 +00:00
comment-submission.php Comments: Abstract die() calls from comment submission routine. 2016-10-11 03:42:28 +00:00
comment.php REST API: Fix test failures. 2016-10-20 05:12:26 +00:00
compat.php WPDB: When checking that a string can be sent to MySQL, we shouldn't use mb_convert_encoding(), as it behaves differently to MySQL's character encoding conversion. 2015-05-06 02:59:50 +00:00
cron.php Build/Test Tools: Continue eliminating randomness in tests. 2016-10-09 01:29:04 +00:00
db.php Database: Fall back to utf8 when utf8mb4 isn't supported. 2016-09-08 23:48:05 +00:00
dbdelta.php Database: Normalise index names in dbDelta(). 2016-09-12 05:08:17 +00:00
dependencies.php Remove tests for code still in development, see #22229. If accidentally run, they produce fatal errors. 2013-10-07 14:17:13 +00:00
file.php Build/Test Tools: Begin eliminating unnecessary randomness in tests. 2016-10-09 01:11:14 +00:00
filters.php Build/Test Tools: Begin eliminating unnecessary randomness in tests. 2016-10-09 01:11:14 +00:00
functions.php Customize: Implement customized state persistence with changesets. 2016-10-18 20:04:36 +00:00
kses.php KSES: Deprecate wp_kses_js_entities(). 2016-10-13 22:24:27 +00:00
l10n.php Tests: Update language files to include a Language header. 2016-10-25 22:25:08 +00:00
link.php Move get_adjacent_post() tests to their own file. 2015-12-23 19:38:29 +00:00
locale.php I18N: Introduce a locale-switching function. 2016-10-26 15:35:58 +00:00
mail.php Mail: Don't set Sender field when setting From. 2016-08-20 02:16:54 +00:00
media.php Tests: Use a minimal theme for tests. 2016-10-21 11:02:37 +00:00
meta.php Build/Test Tools: Begin eliminating unnecessary randomness in tests. 2016-10-09 01:11:14 +00:00
multisite.php Initialise $_SERVER[ 'REMOTE_ADDR' ] during the test bootstrap so individual tests need not. 2015-09-15 08:04:33 +00:00
pluggable.php Users: Deprecate the get_currentuserinfo() pluggable function. 2016-01-15 10:15:21 +00:00
post.php Customize: Implement customized state persistence with changesets. 2016-10-18 20:04:36 +00:00
query.php Built/Test Tools: Unify the way the permastructure is set when used in conjunction with re-registering the initial taxonomies. This ensure that rewrite rules for taxonomies are consistently available. 2016-09-26 17:01:48 +00:00
rest-api.php REST API: Introduce the Content API endpoints. 2016-10-20 02:54:12 +00:00
rewrite.php Built/Test Tools: Unify the way the permastructure is set when used in conjunction with re-registering the initial taxonomies. This ensure that rewrite rules for taxonomies are consistently available. 2016-09-26 17:01:48 +00:00
shortcode.php Shortcodes: Add new strip_shortcodes_tagnames filter. 2016-10-23 14:24:26 +00:00
taxonomy.php Hooks: Add the new class WP_Hook, and modify hook handling to make use of it. 2016-09-08 03:54:13 +00:00
template.php Posts, Post Types: Add support for post type templates. 2016-10-26 08:06:43 +00:00
term.php Unit Tests: 2016-08-27 08:35:16 +00:00
theme.php Tests: Use a minimal theme for tests. 2016-10-25 10:24:57 +00:00
upload.php Correct some more tests which were using example.org instead of WP_TESTS_DOMAIN. 2016-02-26 00:25:10 +00:00
url.php Refactor some janky URL tests into data providers for clarity and better error reporting. 2016-02-26 02:10:32 +00:00
user.php General: Restore usage of $wpdb, instead of $this->db. 2016-10-10 06:37:02 +00:00
walker.php Add unit tests for Walker class. 2014-08-01 20:35:25 +00:00
widgets.php Widgets: Revert [37425] and [37427]. 2016-06-06 21:50:29 +00:00
wp.php Query: Add a WP::remove_query_var() helper function. 2016-01-05 20:56:10 +00:00