Commit Graph

1197 Commits

Author SHA1 Message Date
Drew Jaynes
49f4196f12 Tests: Add two tests for the current 'hierarchical' argument behavior in get_pages().
See #18701.


git-svn-id: https://develop.svn.wordpress.org/trunk@34698 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-29 20:49:32 +00:00
Boone Gorges
49063d8e14 WP_Query should not ignore an offset of 0.
Props mazurstas.
Fixes #34060.

git-svn-id: https://develop.svn.wordpress.org/trunk@34697 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-29 19:36:16 +00:00
Boone Gorges
3b7187eade Fix 'exclude_tree' in wp_list_categories().
The 'exclude_tree' parameter must be compatible with 'hierarchical';
previously, 'hierarchical' canceled it out. This changeset also makes it so
that 'exclude_tree' is compatible with 'exclude'. When both are passed, and
'hierarchical' is true, the descendant trees of terms in both parameters will
be excluded from matched terms.

Props tott, webord, MikeHansenMe.
Fixes #12981.

git-svn-id: https://develop.svn.wordpress.org/trunk@34696 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-29 19:11:12 +00:00
Aaron Jorbin
f765605336 Cleanup image size in unit tests
This helps prevent test leakage that can cause Tests_Media::test_add_image_size to break.

See #33968



git-svn-id: https://develop.svn.wordpress.org/trunk@34694 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-29 17:47:24 +00:00
Gary Pendergast
ce14a63214 Permalinks: Add pretty permalinks for unattached attachments.
Previously, unattached attachments would have unsightly `/?attachment_id=1` URLs. As we've moved away from attachments being specifically attached to posts, instead being Media items, this has made the unattached URLs a more common occurrence.

We can breath easy once more, knowing that the world is a little bit safer from the horror of unnecessarily ugly URLs.

Props SergeyBiryukov, wonderboymusic, pento.

Fixes #1914.



git-svn-id: https://develop.svn.wordpress.org/trunk@34690 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-29 09:41:14 +00:00
Drew Jaynes
f270e7a03e Tests: Relocate tests for general-template.php to a more logically-placed (and named) file, tests/general/template.php.
See #34070.


git-svn-id: https://develop.svn.wordpress.org/trunk@34688 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-29 05:51:14 +00:00
Drew Jaynes
6f6f62b6e5 Tests: Consolidate author-template tests into a single, more logically-placed file, tests/user/author.php.
See #34070.


git-svn-id: https://develop.svn.wordpress.org/trunk@34687 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-29 05:37:00 +00:00
Scott Taylor
1ac3ba0828 Allow wp_get_archives() to accept post_type as an arg.
Adds unit test.

Fixes #21596.


git-svn-id: https://develop.svn.wordpress.org/trunk@34686 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-29 05:10:10 +00:00
Gary Pendergast
070b65dcfc Rewrite: Redirect attachment URLs when their slug changes.
Using the same logic that we use to redirect posts when their slug changes, we can provide the same functionality for attachments. Attachment pages are posts, too.

Props swissspdy.

Fixes #34043.



git-svn-id: https://develop.svn.wordpress.org/trunk@34685 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-29 04:57:02 +00:00
Scott Taylor
9bffa403dd XML-RPC: add a unit test for mw.editPost.
See #16980.


git-svn-id: https://develop.svn.wordpress.org/trunk@34682 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-29 04:27:57 +00:00
Scott Taylor
948ab018d2 XML-RPC: calculate the proper offset for GMT in wp.newPost, mw.newPost, and mw.editPost when post_date is set, wp.editComment when comment_date is set. post|comment_date is assumed to be GMT. This is only true if the timezone string for the site matches GMT.
Adds unit tests for each.

Props smerriman, justdaiv, wonderboymusic.
Fixes #30429.


git-svn-id: https://develop.svn.wordpress.org/trunk@34681 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-29 04:04:16 +00:00
Boone Gorges
16e0cc873b Add unit tests for post_exists().
Props MikeHansenMe.
See #34012.

git-svn-id: https://develop.svn.wordpress.org/trunk@34680 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-29 04:02:00 +00:00
Boone Gorges
36af857315 Don't require explicit taxonomy when getting terms by term_taxonomy_id.
Props wonderboymusic.
Fixes #30620.

git-svn-id: https://develop.svn.wordpress.org/trunk@34679 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-29 03:51:11 +00:00
Drew Jaynes
58d7f89bf7 Tests: Flush rewrite rules between tests in an attempt to avoid permalinks pollution in Tests_Author_Template.
See #30355.


git-svn-id: https://develop.svn.wordpress.org/trunk@34678 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-29 02:18:55 +00:00
Drew Jaynes
3edc3b46f2 Introduce get_the_author_posts_link(), which returns the HTML link to the author page for the current post's author.
`the_author_posts_link()` has in-turn been converted into a wrapper, with most of its logic moved to the new function.

Adds tests for the new function.

Props chipbennett, zrothauser, wonderboymusic, DrewAPicture.
Fixes #30355.


git-svn-id: https://develop.svn.wordpress.org/trunk@34677 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-29 01:48:47 +00:00
John Blackbourn
f0200152be Revert r34674 due to failures on PHP < 5.4.
See #16859


git-svn-id: https://develop.svn.wordpress.org/trunk@34675 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-29 01:00:17 +00:00
John Blackbourn
2183725c54 Avoid stripping square brackets from URLs, and instead correctly encode them.
Square brackets must be encoded in the path, path parameters, query parameters, and fragment, but must not be encoded in anything up to the domain and port.

Adds a bunch of tests, including square brackets in query parameters, IPv6 URLs, and several other permutations.

See #16859


git-svn-id: https://develop.svn.wordpress.org/trunk@34674 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-29 00:40:30 +00:00
Helen Hou-Sandi
94f596278c Sample permalink: Buttons still need the .button class.
Also fixes unit tests post-[34670]. The test methods have been slightly renamed because it is no longer a button. Hopefully this name will be more future-proof.

see #18306.


git-svn-id: https://develop.svn.wordpress.org/trunk@34671 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-28 22:06:15 +00:00
Boone Gorges
f261d3ac8a Fix comment_order for single page comment threads.
The old comment pagination logic had a separate block for comment threads that
appeared on a single page. After the refactoring in [34561], all comment
pagination logic is unified.

This change ensures that 'comment_order' is respected in all scenarios.

Fixes #8071.

git-svn-id: https://develop.svn.wordpress.org/trunk@34669 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-28 19:29:22 +00:00
John Blackbourn
ac85963ad4 Correctly slash post fields when trashing and untrashing posts.
Fixes #27550
Props dmenard, Denis-de-Bernardy


git-svn-id: https://develop.svn.wordpress.org/trunk@34668 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-28 19:25:05 +00:00
John Blackbourn
06caa4bb37 Avoid using assertNotFalse() which is only available in phpunit >= 4.0.0
See #33070


git-svn-id: https://develop.svn.wordpress.org/trunk@34664 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-28 16:27:18 +00:00
John Blackbourn
8823432749 Update get_the_post_thumbnail_url() so it returns false on failure, to bring it inline with wp_get_attachment_image_url(). Correct and introduce new tests.
Fixes #33070


git-svn-id: https://develop.svn.wordpress.org/trunk@34663 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-28 15:33:12 +00:00
Boone Gorges
05e0a3b97e Use correct 'page_id' parameter in get_page_of_comment().
See #34057.

git-svn-id: https://develop.svn.wordpress.org/trunk@34660 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-28 15:09:34 +00:00
Gary Pendergast
6d87c4cecb Rewrite: When redirecting old slugs, include URL endpoints.
Historically, `wp_old_slug_redirect()` has only ever redirected the old slug of posts, it hasn't included URL endpoints, or worked with comment feed URLs. By adding support for these, we ensure a greater range of URLs aren't killed when the slug changes.

Props swissspdy.

Fixes #33920.



git-svn-id: https://develop.svn.wordpress.org/trunk@34659 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-28 06:56:54 +00:00
Aaron Jorbin
963e92a7dc Exclude external HTTP tests from multisite run
In [30298] the unit tests default confirguration was modified to exclude external-http tests.  This change was never migrated to the multisite XML configuration. The external HTTP code doesn't follow different logic in multisite, so the logic to exclude the tests then ( The external-http tests are very slow, and Wp_Http functionality is fairly isolated ) holds true here as well.

See #33968


git-svn-id: https://develop.svn.wordpress.org/trunk@34656 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-28 02:36:23 +00:00
Gary Pendergast
2b78c9579a WPDB: Make sure we don't run sanity checks on DB dropins.
Previously, we'd run the sanity checks if `is_mysql` was not set to `false`. This caused problems for DB drop-ins that didn't define `is_mysql` at all. Instead, we can just check if `is_mysql` is `empty()`.

Also fix some unit tests that accidently ran correctly because of the strict `false ===` comparison.

Fixes #33501.



git-svn-id: https://develop.svn.wordpress.org/trunk@34655 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-28 01:16:29 +00:00
Drew Jaynes
416dc6642a Tests: Add a test for the 'before' and 'after' arguments in wp_page_menu() when used as a fallback for wp_nav_menu().
When `wp_page_menu()` is used as a fallback for `wp_nav_menu()`, the `before` and `after` arguments should be set and output as `<ul>` and `</ul>`, respectively.

See #11095. See [34653].


git-svn-id: https://develop.svn.wordpress.org/trunk@34654 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-28 00:46:19 +00:00
John Blackbourn
cb66358b9b Switch several assertions to assertNotWPError() so more context is provided when the assertion fails.
git-svn-id: https://develop.svn.wordpress.org/trunk@34646 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-27 22:26:16 +00:00
John Blackbourn
a0be6bbb12 Don't set CURLOPT_CAINFO when sslverify is false when sending HTTP API requests through cURL. This avoids sending redundant information to cURL, and avoids a bug in Apple's SecureTransport library which causes a request to fail when a CA bundle is set but certificate verification is disabled.
This fixes issues with local HTTPS requests (eg. WP Cron) on OS X where cURL is using SecureTransport instead of OpenSSL.

Fixes #33978


git-svn-id: https://develop.svn.wordpress.org/trunk@34639 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-27 21:37:00 +00:00
John Blackbourn
5ff16465f2 Introduce WP_UnitTestCase::assertNotWPError() for when a test needs to assert that something is, well, not a WP_Error.
See #33978


git-svn-id: https://develop.svn.wordpress.org/trunk@34638 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-27 21:28:26 +00:00
Scott Taylor
51b3eb592d After [34629], update unit tests to reflect this change.
See #32093.


git-svn-id: https://develop.svn.wordpress.org/trunk@34633 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-27 18:29:53 +00:00
Boone Gorges
eb6430708b Add test for get_term_by( 'slug' ) behavior with accented chars.
When passing a value of 'slug' to `wp_insert_term()` that contains non-ASCII
characters, WordPress converts accented characters to non-accented versions.
(See `sanitize_title()` and `remove_accents()`.) The same conversion happens
when fetching when fetching a term using a slug. In this way, it's possible to
create a term and fetch it using the same accented string, even though the slug
is actually stored with non-accented characters.

See #16282.

git-svn-id: https://develop.svn.wordpress.org/trunk@34628 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-27 16:31:47 +00:00
Boone Gorges
148d6a37fe Move get_term_by() tests to their own file.
git-svn-id: https://develop.svn.wordpress.org/trunk@34627 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-27 16:09:12 +00:00
Boone Gorges
8dc7bd8091 Add unit test verifying that 60 char user_login is valid.
Props ruudjoyo.
Fixes #33793.

git-svn-id: https://develop.svn.wordpress.org/trunk@34626 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-27 15:41:11 +00:00
Boone Gorges
307c3ca81f WP_Comment::get_children() test should be order-agnostic.
See #8071.

git-svn-id: https://develop.svn.wordpress.org/trunk@34623 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-27 02:00:49 +00:00
John Blackbourn
7e5f54d5ef Add function signature tests for the pluggable functions in wp-admin/includes/schema.php and wp-admin/includes/upgrade.php.
See #33867


git-svn-id: https://develop.svn.wordpress.org/trunk@34608 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 22:03:53 +00:00
John Blackbourn
4196a0751c Add function signature tests for the pluggable functions in wp-includes/cache.php.
See #33867


git-svn-id: https://develop.svn.wordpress.org/trunk@34607 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 22:02:15 +00:00
Aaron Jorbin
7894562b50 Revert change from true to false in multisite upload test
This change was introduced in [34601]. 0 is a special snowflake. The code treats it as if it should fall back to the default, rather than respecting 0 as 0.  Essentially, 0 means 100.  WAT? This has been discussed previusly in https://core.trac.wordpress.org/ticket/19538#comment:10.  This test should return True right now, but the behavior should be discussed and in the future 0 may mean 0.

See #34037
Props jorbin, boonebgorges



git-svn-id: https://develop.svn.wordpress.org/trunk@34606 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 20:58:22 +00:00
Boone Gorges
19b0ea5a8c Remove failing xmlrpc upload test.
This test was added [34577], but shouldn't have been, because the bug it
describes has not been fixed.

See #21292.

git-svn-id: https://develop.svn.wordpress.org/trunk@34604 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 20:31:57 +00:00
Scott Taylor
7cd7d4622c After [34601], some more cleanup.
git-svn-id: https://develop.svn.wordpress.org/trunk@34602 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 19:28:34 +00:00
Scott Taylor
4470cbf7e3 After [34577] (not because of), uncover and fix some horrifying anomalies in Tests_Multisite_Site.
git-svn-id: https://develop.svn.wordpress.org/trunk@34601 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 19:10:12 +00:00
Aaron Jorbin
aedc063418 Use an http URL rather then an https URL for tests
Travis doesn't properly support SSL on older versions of PHP. Since we don't test for SSL support in all of the tests, this can cause these tests to fail.  This changes a URL introduced in [34568]

See #33968



git-svn-id: https://develop.svn.wordpress.org/trunk@34600 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 17:47:24 +00:00
Boone Gorges
eb8b241559 Improve post field lazyloading for comments.
[34583] modified comment queries so that all post fields are no longer loaded
by default. Instead, they are loaded only when requested on individual comment
objects. This changeset improves that flow:

* `WP_Comment` magic methods `__isset()` and `__get()` should only load the post when a post field is being requested.
* The new `update_comment_post_cache` argument for `WP_Comment_Query` allows developers to specify that, when comments are queried, all of the posts matching those comments should be loaded into cache with a single DB hit. This parameter defaults to false, since typical comment queries are linked to a single post.

Fixes #27571.

git-svn-id: https://develop.svn.wordpress.org/trunk@34599 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 16:01:05 +00:00
Scott Taylor
881808bb11 XML-RPC: in wp_xmlrpc_server::wp_editTerm(), check ! empty when applying parent logic.
Adds unit tests.

Props hrishiv90, markoheijnen, sam2kb.
Fixes #21977.


git-svn-id: https://develop.svn.wordpress.org/trunk@34580 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 05:30:34 +00:00
Scott Taylor
97a84eb7a7 XML-RPC: add a wp_uploadFile unit test.
Props MikeHansenMe.
See #21292.


git-svn-id: https://develop.svn.wordpress.org/trunk@34577 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 04:57:29 +00:00
Scott Taylor
9cf6b6f2d0 XML-RPC: In wp_xmlrpc_server::mw_newPost(), if $dateCreated is not set, don't set post_date and post_date_gmt. It calls wp_insert_post(), which will handle it correctly. The problem was drafts being created and GMT date being set. It shouldn't be.
Adds unit test.

Fixes #16985.


git-svn-id: https://develop.svn.wordpress.org/trunk@34572 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 03:37:53 +00:00
Scott Taylor
0d3da57a9a XML-RPC: wp.getComments should be allowed to return approved comments to those without the 'moderate_comments' cap.
Adds (rewrites) unit tests from 4 years ago that we never committed because....

Props wonderboymusic, koke, ericmann, nprasath002.
Fixes #17981.


git-svn-id: https://develop.svn.wordpress.org/trunk@34570 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 02:48:47 +00:00
Scott Taylor
e09edc2d7f Comments: in WP_Comment::get_children(), accept an array so that the values for format, status, hierarchical, and orderby can be passed, instead of just format. The defaults for get_comments() include status = 'all' and orderby = '' - which is no bueno.
For threaded comments, we need comments to be retrieved within bounds, so logged-out users don't see unmoderated comments on the front end, etc.

Updates unit tests.

See #8071.


git-svn-id: https://develop.svn.wordpress.org/trunk@34569 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 02:24:17 +00:00
Aaron Jorbin
bc451880e5 Stop hitting SVN for http tests
The automated tests can fail due to svn. Change the tests to use a WordPress CDN image.

see #33968



git-svn-id: https://develop.svn.wordpress.org/trunk@34568 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-26 00:39:51 +00:00
Weston Ruter
78b73c8906 Customizer: Defer embedding widget controls to improve DOM performance and initial load time.
The Menu Customizer feature includes a performance technique whereby the controls for nav menu items are only embedded into the DOM once the containing menu section is expanded. This commit implements the same DOM deferral for widgets but goes a step further than just embedding the controls once the widget area's Customizer section is expanded: it also defers the embedding of the widget control's form until the widget is expanded, at which point the `widget-added` event also fires to allow any additional widget initialization to be done. The deferred DOM embedding can speed up initial load time by 10x or more. This DOM deferral also yields a reduction in overall memory usage in the browser process.

Includes changes to `wp_widget_control()` to facilitate separating out the widget form from the surrounding accordion container; also includes unit tests for this previously-untested function. Also included are initial QUnit tests (finally) for widgets in the Customizer.

Fixes #33901.


git-svn-id: https://develop.svn.wordpress.org/trunk@34563 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-25 21:01:46 +00:00