Wordpress/tests/phpunit/includes
Scott Taylor 535ae26afd Fix several esoteric errors related to AJAX unit tests for comments:
* `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
2013-09-14 18:35:43 +00:00
..
bootstrap.php Test framework: Update path to multisite.xml. 2013-09-12 21:04:16 +00:00
exceptions.php Move PHPUnit tests into a tests/phpunit directory. 2013-08-29 18:39:34 +00:00
factory.php Add unit test for `tax_query` against attachments. 2013-09-06 14:43:49 +00:00
functions.php Move PHPUnit tests into a tests/phpunit directory. 2013-08-29 18:39:34 +00:00
install.php Move PHPUnit tests into a tests/phpunit directory. 2013-08-29 18:39:34 +00:00
mock-fs.php Move PHPUnit tests into a tests/phpunit directory. 2013-08-29 18:39:34 +00:00
mock-image-editor.php * Avoid notice by making `WP_Image_Editor_Mock::test()` compatible with `WP_Image_Editor::test()`. 2013-09-12 04:40:13 +00:00
mock-mailer.php Move PHPUnit tests into a tests/phpunit directory. 2013-08-29 18:39:34 +00:00
testcase-ajax.php Fix several esoteric errors related to AJAX unit tests for comments: 2013-09-14 18:35:43 +00:00
testcase-xmlrpc.php Move PHPUnit tests into a tests/phpunit directory. 2013-08-29 18:39:34 +00:00
testcase.php Test framework: Introduce the annotation @expectedDeprecated, modeled after PHPUnit's @expectedException. 2013-09-12 18:37:00 +00:00
trac.php Move PHPUnit tests into a tests/phpunit directory. 2013-08-29 18:39:34 +00:00
utils.php Remove lingering instances of call time pass-by-reference, limited to instances of `callable` - use `$this` instead of `&$this`. 2013-09-05 16:33:50 +00:00
wp-profiler.php Remove lingering instances of call time pass-by-reference, limited to instances of `callable` - use `$this` instead of `&$this`. 2013-09-05 16:33:50 +00:00