[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