Commit Graph

132 Commits

Author SHA1 Message Date
Scott Taylor 2f38d2efc6 Move `Tests_Query_Conditionals::assertQueryTrue()` to `WP_UnitTestCase`. It should be available to all unit test classes. The conditionals class is huge, other classes are necessary for better coverage.
git-svn-id: https://develop.svn.wordpress.org/trunk@26005 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-04 21:55:12 +00:00
Scott Taylor ecbcfc5a20 Set the default parent id to 0, instead of -1, in `Tests_Post_Attachments::_make_attachment()`. Prevents `Out of range value for column 'post_parent'` database error without papering over it in core.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@26004 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-04 21:39:35 +00:00
Andrew Nacin 5c63859ffb Add jshintrc to qunit.
props jorbin.
see #25187.


git-svn-id: https://develop.svn.wordpress.org/trunk@25992 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-30 14:38:37 +00:00
Andrew Nacin 9b9311ae2b Move the unit test added in [25974] to the more appropriate file. see #25750.
git-svn-id: https://develop.svn.wordpress.org/trunk@25975 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-29 01:47:48 +00:00
Andrew Nacin 2cac0fde8a Avoid resetting the 'hierarchical' argument in get_pages() when 'parent' is -1, the default.
Fixes a regression introduced in [25270]. Adds unit tests.

props chrisbliss18.
fixes #25750.


git-svn-id: https://develop.svn.wordpress.org/trunk@25974 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-29 01:46:01 +00:00
Sergey Biryukov ddf0147a4f Move test_get_pages_include_exclude() and test_get_pages_parent() to tests/post/getPages.php. Add a @ticket reference. see [25168] and [25244].
git-svn-id: https://develop.svn.wordpress.org/trunk@25972 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-28 21:49:27 +00:00
Andrew Nacin add8bc4e57 Add a $taxonomy argument to each of the adjacent post functions.
Each took an array of category (IDs) when to search. Those can now be term IDs and each function now has $taxonomy = 'category' as an optional argument.

Functions affected: get_previous_post(), get_next_post(), get_adjacent_post(), get_adjacent_post_rel_link(), adjacent_posts_rel_link(), next_post_rel_link(), prev_post_rel_link(), get_boundary_post(), get_previous_post_link(), previous_post_link(), get_next_post_link(), next_post_link(), get_adjacent_post_link(), adjacent_post_link().

props ethitter.
finally fixes #17807.


git-svn-id: https://develop.svn.wordpress.org/trunk@25959 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-27 21:39:51 +00:00
Andrew Nacin 90b55d0279 Fix the exclude_tree argument in get_terms(), which fixes the exclude argument in wp_list_categories().
This was a 3.7 regression caused by [25162].

props dd32.
see #25710 for trunk.


git-svn-id: https://develop.svn.wordpress.org/trunk@25933 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-26 15:03:10 +00:00
Andrew Nacin 559dc21202 3.7 regression from [25119]: Have in_category() return false when the first argument is empty.
Adds unit tests.

props ericlewis.
fixes #25706 for trunk.


git-svn-id: https://develop.svn.wordpress.org/trunk@25923 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-26 02:53:30 +00:00
Andrew Nacin 5e119ca3b4 Revert [25202] and enforce that wp_add_inline_style() does not want <style> tags.
Prior to 3.7, these tags were not printed (and thus needed to be provided), but only in the admin and when concatenation was enabled. They should never be required. Strip them when we find them and issue a notice for incorrect usage.

props atimmer, georgestephanis.
fixes #24813.


git-svn-id: https://develop.svn.wordpress.org/trunk@25786 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-15 14:34:33 +00:00
Andrew Nacin 5ceab9b1e3 Test runner: Add @expectedIncorrectUsage to trap _doing_it_wrong() calls.
see #24813, #25282.


git-svn-id: https://develop.svn.wordpress.org/trunk@25785 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-15 14:30:02 +00:00
Andrew Nacin c02412fa8d Remove tests for code still in development, see #22229. If accidentally run, they produce fatal errors.
props pauldewouters, no_fear_inc.


git-svn-id: https://develop.svn.wordpress.org/trunk@25711 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-07 14:17:13 +00:00
Andrew Nacin fc1438c8bc Move the trim() from wp_set_password() to inside wp_hash_password().
props rpattillo, joehoyle.
fixes #24973. see #23494.


git-svn-id: https://develop.svn.wordpress.org/trunk@25709 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-07 13:53:09 +00:00
Scott Taylor f3488744ce Add a default value to `WP_UnitTest_Factory_For_Comment::default_generation_definitions['comment_content']` to avoid a tornado of database errors in PHP 5.5/MySQL 5.6, even when `WP_DEBUG` is turned off.
See #25282.



git-svn-id: https://develop.svn.wordpress.org/trunk@25660 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-02 19:46:58 +00:00
Scott Taylor 7918d5cd98 Make `url_to_postid()` work for custom post type URLs. Use `get_post_types()` and `get_taxonomies()` instead of directly accessing globals. Adds unit test.
Props faishal, for the globals fix.
Fixes #19744.



git-svn-id: https://develop.svn.wordpress.org/trunk@25659 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-02 19:41:19 +00:00
Andrew Nacin 89febfe766 Expand the zxcvbn password meter blacklist, based on user input.
props iandunn.
see #25174.


git-svn-id: https://develop.svn.wordpress.org/trunk@25637 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-28 06:46:29 +00:00
Andrew Nacin 57a5269b13 Live network counts of users and sites for small networks.
props adamsilverstein, jeremyfelt.
fixes #22917.


git-svn-id: https://develop.svn.wordpress.org/trunk@25621 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-25 16:20:21 +00:00
Andrew Nacin 13408ddcbd Introduce a reset_postdata() method on the WP_Query object, which wp_reset_postdata() now wraps.
props ericlewis.
fixes #24785.


git-svn-id: https://develop.svn.wordpress.org/trunk@25601 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-24 15:52:41 +00:00
Andrew Nacin b0717588b7 Introduce register_taxonomy_for_object_type().
props leewillis77.
fixes #11058.


git-svn-id: https://develop.svn.wordpress.org/trunk@25596 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-24 02:54:00 +00:00
Andrew Nacin 05c7da77fa Revert [25446] now that `wp_blogs`.`archived` is no longer an ENUM field. see #14511.
git-svn-id: https://develop.svn.wordpress.org/trunk@25590 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-24 01:19:27 +00:00
Andrew Nacin fbc417775d In wp_count_posts(), rename 'count_posts' hook to 'wp_count_posts', for clarity. see #16603.
git-svn-id: https://develop.svn.wordpress.org/trunk@25578 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-23 19:07:08 +00:00
Scott Taylor 74ec1ce5ed `tests/phpunit/data/images/a2-small-100x75.jpg` should not be checked in - it is generated in a test method and `unlink()`'d since [25507].
git-svn-id: https://develop.svn.wordpress.org/trunk@25557 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-21 18:51:55 +00:00
Scott Taylor 5a74d939ec Add hooks to `wp_count_posts()`. Adds filter docs. Adds unit test to test `count_posts` filter.
Props nacin, DrewAPicture. 
Fixes #16603.



git-svn-id: https://develop.svn.wordpress.org/trunk@25554 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-21 17:54:36 +00:00
Scott Taylor 325b1bf175 Ensure that terms with a post count of `0` are not returned in `wp_count_terms()` when `hide_empty => true`. Adds unit test which ensures that `wp_count_terms()` returns `0`.
Props markjaquith.
Fixes #15919.



git-svn-id: https://develop.svn.wordpress.org/trunk@25551 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-21 16:47:43 +00:00
Scott Taylor b20688456e `unlink()` the generated image in `Tests_Image_Intermediate_Size::test_make_intermediate_size_successful()` at the end of the test to avoid cruff in `svn diff`s.
git-svn-id: https://develop.svn.wordpress.org/trunk@25507 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-19 18:05:11 +00:00
Sergey Biryukov a30670afc6 Introduce 'offset' parameter for wp_get_sites().
props jamescollins.
see #14511.

git-svn-id: https://develop.svn.wordpress.org/trunk@25488 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-19 01:46:03 +00:00
Andrew Nacin d06cb2443f Proper treatment of the 'archived' field in wp_get_sites(). see #14511.
git-svn-id: https://develop.svn.wordpress.org/trunk@25446 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-14 23:09:59 +00:00
Andrew Nacin eb2e3536a9 Introduce wp_get_sites(), a long-awaited replacement for get_blog_list().
props jeremyfelt.
see #14511.


git-svn-id: https://develop.svn.wordpress.org/trunk@25445 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-14 21:12:26 +00:00
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