535ae26afd
* `wp_ajax_get_comments()` relies on the `$post_id` global - even though `$_POST['p']` is passed to every action in the test methods. If `$post_id` is still lingering in between tests and doesn't match `p` in the request, the cap check might pass while the queries for comments will blow up. I added `unset( $GLOBALS['post_id'] )` to `Tests_Ajax_GetComments::setUp()`. * If the global `$post_id` is empty, but `$_REQUEST['p']` is not, `$post_id` is now set to `absint( $_REQUEST['p'] )` and sanity-checked in `wp_ajax_get_comments()`. * `map_meta_cap()` always assumes that `get_comment()` succeeds when checking for the `edit_comment` cap. It doesn't. I added sanity checks in a few places where it will break early if `get_post()` or `get_comment()` are empty. * `wp_update_comment()` always assumes `get_comment()` succeeds. It doesn't. I added a check for empty. All AJAX unit tests run and pass in debug mode. All general unit tests pass against these changes. Fixes #25282. git-svn-id: https://develop.svn.wordpress.org/trunk@25438 602fd350-edb4-49c9-b593-d223f7449a82 |
||
---|---|---|
.. | ||
bootstrap.php | ||
exceptions.php | ||
factory.php | ||
functions.php | ||
install.php | ||
mock-fs.php | ||
mock-image-editor.php | ||
mock-mailer.php | ||
testcase-ajax.php | ||
testcase-xmlrpc.php | ||
testcase.php | ||
trac.php | ||
utils.php | ||
wp-profiler.php |