Commit Graph

79 Commits

Author SHA1 Message Date
Andrew Nacin
564d5a51c2 Reinstate an assertion commented out in [25409]. This test is skipped due to @ticket anyway. see #25282.
git-svn-id: https://develop.svn.wordpress.org/trunk@25440 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-14 19:17:31 +00:00
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
Scott Taylor
402e61f269 Fix some undefined index notices related to Comment unit tests:
* There are several places where a `$_POST` index was unchecked before setting a variable
* In `wp_notify_postauthor()`, `$comment` was being returned null, but its properties were being accessed.
* In `check_ajax_referer()`, 3 different values can be checked for nonce on `$_REQUEST`, but only 1 had an `isset()`

See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25433 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-13 22:17:51 +00:00
Scott Taylor
d85e040859 Remove the unnecessary call to ob_end_clean() directly after ob_get_clean() in WP_Ajax_UnitTestCase::dieHandler(). This fixes a large number of AJAX errors in debug mode.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25432 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-13 21:32:54 +00:00
Scott Taylor
f76f2a692a Fix an error in tests/ajax/Compression by removing the unnecessary call to ob_end_clean() immediately after ob_get_clean() in _gzdecode, which has aleady deleted the buffer.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25431 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-13 21:29:12 +00:00
Andrew Nacin
9d9a28b3e0 Test framework: Update path to multisite.xml.
props jeremyfelt.
fixes #25242.


git-svn-id: https://develop.svn.wordpress.org/trunk@25415 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 21:04:16 +00:00
Andrew Nacin
4c8f1e263a Use @expectedDeprecated. see #25282, [25408].
git-svn-id: https://develop.svn.wordpress.org/trunk@25409 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 18:37:32 +00:00
Andrew Nacin
d5d476974e Test framework: Introduce the annotation @expectedDeprecated, modeled after PHPUnit's @expectedException.
It works for both functions and arguments (using the value of the first argument passed to _deprecated_function() or _deprecated_argument(), which is typically the function name). It asserts both ways:
 * If specified, those deprecated notices must be caught, or the test fails.
 * If not specified, any other deprecated notices cause the test to fail.

Works regardless of WP_DEBUG.
see #25282.


git-svn-id: https://develop.svn.wordpress.org/trunk@25408 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 18:37:00 +00:00
Andrew Nacin
9bfe9b7230 Revert [25405] and use a file that does exist. see #25282.
git-svn-id: https://develop.svn.wordpress.org/trunk@25407 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 17:47:40 +00:00
Scott Taylor
8a2c79d897 Fix the failing l10n assertions:
* Check if the file exists before running `true` assertions
* If the file doesn't exist, run `false` assertions

See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25405 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 17:36:45 +00:00
Scott Taylor
404fd85586 Fix the failing Tests_Link::test_wp_get_shortlink() assertion:
* `wp_get_shortlink()` was firing a notice when reading `$post->ID` while `$post` was null in some cases
* Before the assertions that assume `$GLOBALS['post']` is not set, call `unset( $GLOBALS['post'] );` - there was global spillage from other tests

See #25282.




git-svn-id: https://develop.svn.wordpress.org/trunk@25404 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 17:30:01 +00:00
Scott Taylor
654d07ebf9 There was way too much duplicated code in my notice cleanup, it built up over time, and there's definitely a need to standardize.
* Remove duplicated code for deprecated function notice suppression
* Add support in `WP_UnitTestCase` setUp/tearDown methods for `$deprecated_functions` fixture if the extending class has added it
* Add a `$deprecated_functions` fixture to each extending class that needs it

To use this fixture, add something to your Test Case class like so:
`protected $deprecated_functions = array( 'get_theme', 'get_themes', 'get_theme_data', 'get_current_theme' );`

See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25402 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 14:47:58 +00:00
Scott Taylor
3ae18e68ff * Fill in undefined var in Tests_Option_BlogOption
* Add `defined()` check for `BLOGSUPLOADDIR`
* Suppress deprecated function notices for `is_blog_user()` and `get_dashboard_blog()`
* Check existence of `$user` in `wpmu_log_new_registrations()` before arbitrarily making a database query

Fixes all notices in multisite unit tests.

See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25397 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 07:16:30 +00:00
Scott Taylor
285db00ed4 Suppress Non-static method PO::*() should not be called statically, assuming $this from incompatible context by using the @ silencer in tests/pomo/po.php
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25395 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 06:46:35 +00:00
Scott Taylor
13381bfcdc * sort() returns a boolean, not a sorted set. Move the calls out of the assertions and fix the test methods.
* Fix instances where `Only variables should be passed by reference` was being triggered by assigning `array_keys()` return value to a var

See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25394 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 06:41:36 +00:00
Scott Taylor
d58aace6f7 Avoid undefined variable notice - wp_insert_user() expects user_pass to be passed to it.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25393 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 06:28:25 +00:00
Scott Taylor
d1d5bcf036 * Add isset() checks all over WP_User_Query::prepare_query() and WP_User_Query::query(). When a WP_User_Query instance is constructed without passing args, no query vars are filled in, thus $qv doesn't contain most of the expected indices.
* Suppress an undefined index notice in `tests/user/query.php`

Fixes #25292.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25392 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 06:24:09 +00:00
Scott Taylor
c0c3359572 * Suppress deprecated function notice for set_current_user()
* Add assertions for `wp_set_current_user()`

See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25391 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 06:06:07 +00:00
Scott Taylor
b18d047edd * Avoid Only variables should be passed by reference notice by passing a var to array_pop() in tests/user.php
* Suppress a notice by silencing the passing of a non-existent object prop

See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25390 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 05:56:59 +00:00
Scott Taylor
6acb4cf24d Don't assume $GLOBALS['post'] is set in tests/url.php.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25389 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 05:52:53 +00:00
Scott Taylor
f4ac65db2d * Suppress deprecated function notices in tests/theme/themeDir.php
* Set `$theme['Template Files']` and `$theme['Stylesheet Files']` to a variable before calling array methods upon them - avoids `Indirect modification of overloaded element has no effect` notice
* Clean up setUp/tearDown in `tests/theme.php`

See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25388 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 05:48:58 +00:00
Scott Taylor
ee35baae6b Suppress the _doing_it_wrong notices when calling add_theme_support( 'html5' ) in tests/theme/support.php
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25387 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 05:39:45 +00:00
Scott Taylor
f9877147f6 Use reset() to access the first element of an array, don't assume there is an item at index 0.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25384 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 05:08:33 +00:00
Scott Taylor
6ced366e7c Add a post_id fixture in test/meta/slashes.php so Undefined variable: comment_post_ID notices don't fire when creating comments.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25383 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 04:59:29 +00:00
Scott Taylor
9cb4234c3f * Fix the horrendous whitespace in tests/media.php
* Suppress the deprecated function notice for `wp_convert_bytes_to_hr()`
* Add assertions for `size_format()`

See #25282.




git-svn-id: https://develop.svn.wordpress.org/trunk@25382 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 04:55:24 +00:00
Scott Taylor
1e460fd6e2 Avoid a notice and clean up setting/unsetting of globals by moving them into setUp() and tearDown() methods in Tests_Mail.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25381 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 04:46:49 +00:00
Scott Taylor
a76e6cef7d * Avoid notice by making WP_Image_Editor_Mock::test() compatible with WP_Image_Editor::test().
* Suppress deprecated function notice for `wp_load_image()`.
* Add assertion for `wp_get_image_editor()`.

See #25282.




git-svn-id: https://develop.svn.wordpress.org/trunk@25380 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 04:40:13 +00:00
Scott Taylor
dc35c8d11e Pass a variable that actually exists to seems_utf8() in tests/formatting/SeemsUtf8.php
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25379 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 04:28:34 +00:00
Scott Taylor
7001aeaa11 Suppress the deprecated function notice in tests/formatting/CleanPre.php
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25378 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 04:20:48 +00:00
Scott Taylor
691e3f25a0 Fix the PHP 5.4 Only variables should be passed by reference notices in tests/filters.php.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25377 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 04:16:59 +00:00
Scott Taylor
62b7214706 Avoid an undefined index error in tests/phpunit/tests/dependencies/styles.php
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25376 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 04:13:11 +00:00
Scott Taylor
148d8e1e29 Suppress the doing_it_wrong notice from firing in tests/phpunit/tests/dependencies/jquery.php` when running in debug mode.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25375 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 04:08:03 +00:00
Scott Taylor
591a96743e Passing non-existent object properties to WP_UnitTestCase::assertNull() produces notices, opt instead for WP_UnitTestCase::assertTrue( empty( $obj->prop ) ) in tests/db.php.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25374 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 04:01:34 +00:00
Scott Taylor
85881c19dc Fix the PHP 5.4 Only variables should be passed by reference notices in tests/action.php.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25373 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-12 03:53:56 +00:00
Scott Taylor
f97a98011b Pass $args as an array, rather than a splat, to wp_clear_scheduled_hook(). There are comments in the code describing the deprecated argument behavior.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25368 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-11 22:21:43 +00:00
Scott Taylor
a3a7be77e3 Suppress deprecated notices for wp_shrink_dimensions().
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25367 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-11 22:16:43 +00:00
Scott Taylor
6de2f44495 get_home_url() assumes $GLOBALS['pagenow'] is set. It isn't in Tests_URL... and now it is.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25366 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-11 22:06:21 +00:00
Scott Taylor
38474ef5d1 Fix undefined index notices in comment/slashes test cases. wp_new_comment() and edit_comment() expect more variables than were being passed.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25365 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-11 21:56:31 +00:00
Scott Taylor
eddb6d958b Add a $post_id fixture to Tests_Comment_Query. Comments created without passing comment_post_ID produce an undefined variable notice in wp_insert_comment().
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25364 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-11 21:47:14 +00:00
Scott Taylor
169ddb12ad Set $_SERVER['REQUEST_METHOD'] = null in Tests_Auth::setUp() to suppress undefined index notices when wp_validate_auth_cookie() is called.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25363 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-11 21:37:46 +00:00
Scott Taylor
e7c543f997 Restore the test code for get_theme(), add the notice suppression filters, and fix the type in the remove_filter() call.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25362 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-11 21:32:14 +00:00
Scott Taylor
9f00115bd9 Avoid the following notice: Use of undefined constant term_id - assumed 'term_id', while running in debug mode.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25356 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-11 18:45:34 +00:00
Scott Taylor
961adfb51e Update the unit test methods in Tests_Admin_includesTheme. Use wp_get_theme() instead of get_theme().
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25355 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-11 18:39:09 +00:00
Scott Taylor
fc372eb7b8 Add action/filter to Tests_Theme::setUp() to suppress errors while running back-compat tests on get_theme(), get_themes(), get_theme_data(), get_current_theme().
See #25282.




git-svn-id: https://develop.svn.wordpress.org/trunk@25354 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-11 18:30:06 +00:00
Scott Taylor
135198d66d Use get_users() instead of the deprecated get_users_of_blog() in Tests_User_Capabilities::setUp() to avoid a tornado of warnings in debug mode.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25353 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-11 17:55:12 +00:00
Scott Taylor
9dc7afd478 Add set_current_screen( 'front' ) to query/conditionals tests setUp routine so that cruff from previous tests doesn't cause every conditional test to fail in debug mode.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25352 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-11 17:40:46 +00:00
Scott Taylor
0c0c81d81c Add term_taxonomy_id to available fields in get_term_by(). Adds unit test.
Props jchristopher.
Fixes #21651.



git-svn-id: https://develop.svn.wordpress.org/trunk@25334 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-11 00:01:19 +00:00
Scott Taylor
d738f5e586 Support orderby => meta_value in WP_User_Query. Adds unit test.
Props wpsmith.
Fixes #21581.



git-svn-id: https://develop.svn.wordpress.org/trunk@25331 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-10 23:09:10 +00:00
Scott Taylor
5a75531f19 Replace the ancient phpfreaks.com RegEx to extract urls to ping with a more robust matcher. URLs with commas and things like & were not being pinged. The new matcher even works for most IDN URLs. Adds unit tests.
Fixes #9064.



git-svn-id: https://develop.svn.wordpress.org/trunk@25313 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-10 03:17:51 +00:00
Scott Taylor
e72ffa5d96 Move checks for post_type being an array inline. See [25291], [25292], #18614.
git-svn-id: https://develop.svn.wordpress.org/trunk@25312 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-10 03:01:10 +00:00