wordpress-develop/tests/phpunit/tests
David Baumwald a647192d7c Role/Capability: Add a new update_role function.
Until now, changing a user's role involved deleting a user's role then re-adding.  This change creates a new `update_role` function and associated method in `WP_Roles` to consolidate this process.

This commit also introduces new unit tests around `update_role` and adds additional "unhappy path" tests for roles and capabilities in general.

Props maksimkuzmin, peterwilsoncc, NomNom99, costdev, SergeyBiryukov.
Fixes #54572.

git-svn-id: https://develop.svn.wordpress.org/trunk@54213 602fd350-edb4-49c9-b593-d223f7449a82
2022-09-19 20:47:22 +00:00
..
admin Upgrade/Install: Add plugin URL to the automatic update email. 2022-09-19 20:26:09 +00:00
ajax Tests: Correctly use the factory method. 2022-09-06 22:03:10 +00:00
attachment Build/Test Tools: Add and fix @covers tags to the attachments and block-supports test groups. 2022-07-07 21:06:03 +00:00
block-supports Editor: Backport block supports (border, color, elements, spacing) from Gutenberg to WP 6.1. 2022-09-19 20:12:02 +00:00
blocks Editor: Backport block supports (border, color, elements, spacing) from Gutenberg to WP 6.1. 2022-09-19 20:12:02 +00:00
bookmark General: Fix 'rel' argument in Tests_Functions_wpListBookmarks test datasets. 2021-12-21 00:10:26 +00:00
canonical Code Modernization: Explicitly declare all properties created in set_up() methods of various test classes. 2022-08-27 12:30:08 +00:00
category Tests: Use the factory method instead of the property. 2022-09-06 22:09:49 +00:00
comment Tests: Use the factory method instead of the property. 2022-09-06 22:09:49 +00:00
compat Tests: Restore @covers tags for PHP polyfill tests in phpunit/tests/compat/. 2022-09-03 14:45:20 +00:00
cron Cron API: Modify _get_cron_array() to always return an array. 2022-07-29 03:32:58 +00:00
customize Tests: Use the factory method instead of the property. 2022-09-06 22:09:49 +00:00
date Tests: Reset timezone-related options if the tests change them. 2022-09-19 17:43:55 +00:00
db Tests: Correct MariaDB version check in database charset tests. 2022-08-22 16:40:54 +00:00
dependencies Code Modernization: Fix autovivification from false to array in WP_Scripts::localize(). 2022-09-13 15:56:28 +00:00
editor Tests: Rename classes in phpunit/tests/editor/ per the naming conventions. 2021-08-20 16:11:04 +00:00
error-protection Tests: Rename classes in phpunit/tests/error-protection/ per the naming conventions. 2021-08-21 15:32:53 +00:00
external-http Tests: Temporarily skip the test for recommended PHP version in readme.html. 2022-09-05 21:14:38 +00:00
feed Tests: Correctly use the factory method. 2022-09-06 22:03:10 +00:00
filesystem Coding Standards: Add visibility to methods in tests/phpunit/tests/. 2021-11-04 15:22:47 +00:00
formatting Tests: Reset timezone-related options if the tests change them. 2022-09-19 17:43:55 +00:00
functions Tests: Rename the test for wp_guess_url() to match the function name. 2022-09-13 20:38:56 +00:00
general Feeds: Add a set of fine-grained filters to disable the different types of feed links separately. 2022-09-14 17:12:20 +00:00
hooks Code Modernization: Explicitly declare all properties in various tests. 2022-08-25 15:34:24 +00:00
http Tests: Use a consistent URL in HTTP response cookie tests. 2022-06-12 15:16:09 +00:00
image Tests: Use the factory method instead of the property. 2022-09-06 22:09:49 +00:00
import Build/Test Tools: Add @covers tags to the import tests. 2022-08-08 23:22:43 +00:00
includes Code Modernization: Explicitly declare all properties created in set_up() methods of various test classes. 2022-08-27 12:30:08 +00:00
l10n Tests: Correctly use the factory method. 2022-09-06 22:03:10 +00:00
link Tests: Use the factory method instead of the property. 2022-09-06 22:09:49 +00:00
load Login and Registration: Introduce is_login_screen() function. 2022-08-11 21:49:08 +00:00
media Tests: Use the factory method instead of the property. 2022-09-06 22:09:49 +00:00
menu Tests: Use the factory method instead of the property. 2022-09-06 22:09:49 +00:00
meta Code Modernization: Remove dynamic properties in Tests_*_Slashes. 2022-06-23 14:24:08 +00:00
multisite Tests: Use the factory method instead of the property. 2022-09-06 22:09:49 +00:00
oembed Tests: Correctly use the factory method. 2022-09-06 22:03:10 +00:00
option Tests: Rename the test for pre_option filter to match the filter name. 2022-09-13 20:19:17 +00:00
pluggable Tests: Correct an assertion in wp_rand() tests. 2022-06-08 13:17:27 +00:00
pomo Code Modernization: Explicitly declare all properties created in set_up() methods of various test classes. 2022-08-27 12:30:08 +00:00
post Tests: Use the factory method instead of the property. 2022-09-06 22:09:49 +00:00
privacy Tests: Use the factory method instead of the property. 2022-09-06 22:09:49 +00:00
query Query: Improve WP_Query's cache key generation for taxonomy queries. 2022-09-09 02:04:18 +00:00
rest-api Themes: Introduces block-based template parts for Classic themes. 2022-09-15 12:18:30 +00:00
rewrite Tests: Consistently create a post fixture in old date or slug redirect tests. 2022-09-06 01:25:45 +00:00
sitemaps Sitemaps: Prevent invalid provider names throwing errors. 2022-08-05 05:47:56 +00:00
style-engine Editor: Backport Style Engine API functions, classes and tests. 2022-09-14 12:46:33 +00:00
taxonomy Build/Test Tools: Implement use of the void solution. 2021-08-07 10:29:41 +00:00
term Tests: Use the factory method instead of the property. 2022-09-06 22:09:49 +00:00
theme Posts, Post Types: Improve performance of the get_user_data_from_wp_global_styles method. 2022-09-16 10:55:58 +00:00
url Tests: Remove @uses tags from the test suite. 2022-07-08 00:11:15 +00:00
user Role/Capability: Add a new update_role function. 2022-09-19 20:47:22 +00:00
webfonts Tests: Ignore EOL differences in Webfonts API tests. 2022-04-30 11:33:30 +00:00
widgets Tests: Correctly use the factory method. 2022-09-06 22:03:10 +00:00
wp Docs: Add a @since note for WP::parse_request() about the new return value. 2022-03-02 15:38:27 +00:00
xmlrpc Build/Test Tools: Reduce the use of unnecessary randomness in tests. 2021-12-19 13:42:37 +00:00
actions.php Code Modernization: Explicitly declare all properties in various tests. 2022-08-25 15:34:24 +00:00
adminbar.php Tests: Correctly use the factory method. 2022-09-06 22:03:10 +00:00
auth.php Tests: Use the factory method instead of the property. 2022-09-06 22:09:49 +00:00
avatar.php Media: Add decoding="async" to image attributes. 2022-06-09 05:29:57 +00:00
basic.php Tests: Separate the tests in basic.php for clarity. 2022-07-07 23:55:13 +00:00
block-template-utils.php Tests: Move the basic get_block_templates() test to the dedicated file. 2022-09-18 13:08:33 +00:00
block-template.php Site Editor: Resolve homepage template on server-side 2022-04-07 13:33:03 +00:00
cache.php Tests: Use named data provider for WP_Object_Cache::is_valid_key() test. 2022-08-04 17:47:41 +00:00
canonical.php Canonical: Include all public status in 404 redirects. 2022-04-01 03:23:07 +00:00
category.php Build/Test Tools: Add @covers tags to the taxonomy and category test groups. 2022-07-07 23:00:07 +00:00
comment-submission.php Build/Test Tools: Add @covers tags to the comments tests. 2022-08-08 23:12:30 +00:00
comment.php Tests: Use the factory method instead of the property. 2022-09-06 22:09:49 +00:00
cron.php Cron API: Modify _get_cron_array() to always return an array. 2022-07-29 03:32:58 +00:00
db.php Database: Ensure MySQL port numbers are numeric in wpdb. 2022-07-06 05:31:47 +00:00
dbdelta.php Database: Ignore display width for integer data types in dbDelta() on MySQL 8.0.17 or later. 2022-08-15 13:16:22 +00:00
dependencies.php Script Loader: Allow for wp_register_script() to be called after wp_enqueue_script(). 2021-12-07 17:44:46 +00:00
file.php Code Modernization: Remove dynamic properties in Tests_File. 2022-08-07 14:48:42 +00:00
filters.php Tests: Update the terminology used for action or filter names in MockAction class. 2022-07-31 16:25:27 +00:00
functions.php Media: Account for Windows when normalizing file paths. 2022-08-23 19:57:17 +00:00
https-detection.php Coding Standards: Use static closures when not using $this. 2021-08-26 12:57:08 +00:00
https-migration.php Coding Standards: Use static closures when not using $this. 2021-08-26 12:57:08 +00:00
kses.php Tests: Simplify the data provider for testing whether KSES globals are defined. 2022-09-19 14:15:10 +00:00
l10n.php Tests: Correctly use the factory method. 2022-09-06 22:03:10 +00:00
link.php Coding Standards: Add visibility to methods in tests/phpunit/tests/. 2021-11-04 15:22:47 +00:00
locale.php Build/Test Tools: Add @covers tags to the l10n and i18n tests. 2022-08-08 23:39:06 +00:00
mail.php Mail: Prevent the last character of names in “From” headers from being trimmed. 2022-08-16 18:16:43 +00:00
media.php Media: Add muted property for video elements. 2022-09-11 22:17:04 +00:00
meta.php Code Modernization: Explicitly declare all properties created in set_up() methods of various test classes. 2022-08-27 12:30:08 +00:00
multisite.php Coding Standards: Add visibility to methods in tests/phpunit/tests/. 2021-11-04 15:22:47 +00:00
pluggable.php Cache API: Make the placement of wp_cache_flush_group() more consistent. 2022-07-23 14:56:51 +00:00
post.php Tests: Use the factory method instead of the property. 2022-09-06 22:09:49 +00:00
query.php Tests: Use the factory method instead of the property. 2022-09-06 22:09:49 +00:00
rest-api.php REST API: Respect _fields query arg in preloaded requests 2022-04-19 14:38:16 +00:00
rewrite.php Code Modernization: Explicitly declare all properties in various tests. 2022-08-25 15:34:24 +00:00
robots.php Coding Standards: Use static closures when not using $this. 2021-08-26 12:57:08 +00:00
shortcode.php Code Modernization: Explicitly declare all properties created in set_up() methods of various test classes. 2022-08-27 12:30:08 +00:00
taxonomy.php Tests: Use the factory method instead of the property. 2022-09-06 22:09:49 +00:00
template.php Build/Test Tools: Implement use of the void solution. 2021-08-07 10:29:41 +00:00
term.php Tests: Remove redundant function_exists() check in a term_is_ancestor_of() test. 2022-09-07 14:05:41 +00:00
theme.php Tests: Correctly use the factory method. 2022-09-06 22:03:10 +00:00
upload.php Coding Standards: Add visibility to methods in tests/phpunit/tests/. 2021-11-04 15:22:47 +00:00
url.php Tests: Remove @uses tags from the test suite. 2022-07-08 00:11:15 +00:00
user.php Tests: Correctly use the factory method. 2022-09-06 22:03:10 +00:00
utils.php Tests: Correct the @covers tag in a test for strip_ws() utility function. 2022-09-01 19:06:19 +00:00
walker.php Code Modernization: Explicitly declare all properties created in set_up() methods of various test classes. 2022-08-27 12:30:08 +00:00
widgets.php Widgets: Store default options for uninitialized widgets. 2022-09-09 02:17:33 +00:00
wp.php Build/Test Tools: Implement use of the void solution. 2021-08-07 10:29:41 +00:00