[wp-trac] [WordPress Trac] #25282: Unit Tests should run in Debug mode
WordPress Trac
noreply at wordpress.org
Sat Sep 14 18:50:26 UTC 2013
#25282: Unit Tests should run in Debug mode
----------------------------+--------------------
Reporter: wonderboymusic | Owner:
Type: defect (bug) | Status: new
Priority: normal | Milestone: 3.7
Component: Unit Tests | Version: trunk
Severity: normal | Resolution:
Keywords: |
----------------------------+--------------------
Comment (by nacin):
wonderboymusic in [25438]:
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.
--
Ticket URL: <http://core.trac.wordpress.org/ticket/25282#comment:57>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software
More information about the wp-trac
mailing list