mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-07-01 15:50:09 +00:00
Taxonomy: restore TagSearch unit tests and correct deprecated version string.
Reverts unit test removal, instead changing them to expect the function to be deprecated. Correct the version the ajax callback was deprecated. Amends [42614]. Props dlh, ocean90. Fixes #38922. git-svn-id: https://develop.svn.wordpress.org/trunk@42737 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -1519,10 +1519,10 @@ function options_permalink_add_js() {
|
||||
* Ajax handler for tag search.
|
||||
*
|
||||
* @since 3.1.0
|
||||
* @deprecated 4.9.0 Use the REST API tags endpoint instead.
|
||||
* @deprecated 5.0.0 Use the REST API tags endpoint instead.
|
||||
*/
|
||||
function wp_ajax_ajax_tag_search() {
|
||||
_deprecated_function( __FUNCTION__, '4.8', '/wp-json/wp/v2/tags' );
|
||||
_deprecated_function( __FUNCTION__, '5.0.0', '/wp-json/wp/v2/tags' );
|
||||
|
||||
if ( ! isset( $_GET['tax'] ) ) {
|
||||
wp_die( 0 );
|
||||
|
||||
167
tests/phpunit/tests/ajax/TagSearch.php
Normal file
167
tests/phpunit/tests/ajax/TagSearch.php
Normal file
@@ -0,0 +1,167 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Admin ajax functions to be tested
|
||||
*/
|
||||
require_once( ABSPATH . 'wp-admin/includes/ajax-actions.php' );
|
||||
|
||||
/**
|
||||
* Testing ajax tag search functionality
|
||||
*
|
||||
* @package WordPress
|
||||
* @subpackage UnitTests
|
||||
* @since 3.4.0
|
||||
* @group ajax
|
||||
*/
|
||||
class Tests_Ajax_TagSearch extends WP_Ajax_UnitTestCase {
|
||||
|
||||
/**
|
||||
* List of terms to insert on setup
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
private static $terms = array(
|
||||
'chattels',
|
||||
'depo',
|
||||
'energumen',
|
||||
'figuriste',
|
||||
'habergeon',
|
||||
'impropriation',
|
||||
);
|
||||
|
||||
private static $term_ids = array();
|
||||
|
||||
public static function wpSetUpBeforeClass() {
|
||||
foreach ( self::$terms as $t ) {
|
||||
self::$term_ids[] = wp_insert_term( $t, 'post_tag' );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test as an admin
|
||||
*
|
||||
* @expectedDeprecated wp_ajax_ajax_tag_search
|
||||
*/
|
||||
public function test_post_tag() {
|
||||
|
||||
// Become an administrator
|
||||
$this->_setRole( 'administrator' );
|
||||
|
||||
// Set up a default request
|
||||
$_GET['tax'] = 'post_tag';
|
||||
$_GET['q'] = 'chat';
|
||||
|
||||
// Make the request
|
||||
try {
|
||||
$this->_handleAjax( 'ajax-tag-search' );
|
||||
} catch ( WPAjaxDieContinueException $e ) {
|
||||
unset( $e );
|
||||
}
|
||||
|
||||
// Ensure we found the right match
|
||||
$this->assertEquals( $this->_last_response, 'chattels' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Test with no results
|
||||
*
|
||||
* @expectedDeprecated wp_ajax_ajax_tag_search
|
||||
*/
|
||||
public function test_no_results() {
|
||||
|
||||
// Become an administrator
|
||||
$this->_setRole( 'administrator' );
|
||||
|
||||
// Set up a default request
|
||||
$_GET['tax'] = 'post_tag';
|
||||
$_GET['q'] = md5( uniqid() );
|
||||
|
||||
// Make the request
|
||||
// No output, so we get a stop exception
|
||||
$this->setExpectedException( 'WPAjaxDieStopException', '' );
|
||||
$this->_handleAjax( 'ajax-tag-search' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Test with commas
|
||||
*
|
||||
* @expectedDeprecated wp_ajax_ajax_tag_search
|
||||
*/
|
||||
public function test_with_comma() {
|
||||
|
||||
// Become an administrator
|
||||
$this->_setRole( 'administrator' );
|
||||
|
||||
// Set up a default request
|
||||
$_GET['tax'] = 'post_tag';
|
||||
$_GET['q'] = 'some,nonsense, terms,chat'; // Only the last term in the list is searched
|
||||
|
||||
// Make the request
|
||||
try {
|
||||
$this->_handleAjax( 'ajax-tag-search' );
|
||||
} catch ( WPAjaxDieContinueException $e ) {
|
||||
unset( $e );
|
||||
}
|
||||
|
||||
// Ensure we found the right match
|
||||
$this->assertEquals( $this->_last_response, 'chattels' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Test as a logged out user
|
||||
*
|
||||
* @expectedDeprecated wp_ajax_ajax_tag_search
|
||||
*/
|
||||
public function test_logged_out() {
|
||||
|
||||
// Log out
|
||||
wp_logout();
|
||||
|
||||
// Set up a default request
|
||||
$_GET['tax'] = 'post_tag';
|
||||
$_GET['q'] = 'chat';
|
||||
|
||||
// Make the request
|
||||
$this->setExpectedException( 'WPAjaxDieStopException', '-1' );
|
||||
$this->_handleAjax( 'ajax-tag-search' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Test with an invalid taxonomy type
|
||||
*
|
||||
* @expectedDeprecated wp_ajax_ajax_tag_search
|
||||
*/
|
||||
public function test_invalid_tax() {
|
||||
|
||||
// Become an administrator
|
||||
$this->_setRole( 'administrator' );
|
||||
|
||||
// Set up a default request
|
||||
$_GET['tax'] = 'invalid-taxonomy';
|
||||
$_GET['q'] = 'chat';
|
||||
|
||||
// Make the request
|
||||
$this->setExpectedException( 'WPAjaxDieStopException', '0' );
|
||||
$this->_handleAjax( 'ajax-tag-search' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Test as an unprivileged user
|
||||
*
|
||||
* @expectedDeprecated wp_ajax_ajax_tag_search
|
||||
*/
|
||||
public function test_unprivileged_user() {
|
||||
|
||||
// Become an administrator
|
||||
$this->_setRole( 'subscriber' );
|
||||
|
||||
// Set up a default request
|
||||
$_GET['tax'] = 'post_tag';
|
||||
$_GET['q'] = 'chat';
|
||||
|
||||
// Make the request
|
||||
$this->setExpectedException( 'WPAjaxDieStopException', '-1' );
|
||||
$this->_handleAjax( 'ajax-tag-search' );
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user