Query: Add a WP::remove_query_var()
helper function.
This makes cleaning up public query vars easier. Fixes #35234. git-svn-id: https://develop.svn.wordpress.org/trunk@36177 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
e306e801a9
commit
e50296de48
@ -95,6 +95,17 @@ class WP {
|
||||
$this->public_query_vars[] = $qv;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove name from list of public query variables.
|
||||
*
|
||||
* @since 4.5.0
|
||||
*
|
||||
* @param string $name Query variable name.
|
||||
*/
|
||||
public function remove_query_var( $name ) {
|
||||
$this->public_query_vars = array_diff( $this->public_query_vars, array( $name ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of a query variable.
|
||||
*
|
||||
|
37
tests/phpunit/tests/wp.php
Normal file
37
tests/phpunit/tests/wp.php
Normal file
@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @group wp
|
||||
*/
|
||||
class Tests_WP extends WP_UnitTestCase {
|
||||
/**
|
||||
* @var WP
|
||||
*/
|
||||
protected $wp;
|
||||
|
||||
public function setUp() {
|
||||
$this->wp = new WP();
|
||||
}
|
||||
|
||||
public function test_add_query_var() {
|
||||
$public_qv_count = count( $this->wp->public_query_vars );
|
||||
|
||||
$this->wp->add_query_var( 'test' );
|
||||
$this->wp->add_query_var( 'test2' );
|
||||
$this->wp->add_query_var( 'test' );
|
||||
|
||||
$this->assertSame( $public_qv_count + 2, count( $this->wp->public_query_vars ) );
|
||||
$this->assertTrue( in_array( 'test', $this->wp->public_query_vars ) );
|
||||
$this->assertTrue( in_array( 'test2', $this->wp->public_query_vars ) );
|
||||
}
|
||||
|
||||
public function test_remove_query_var() {
|
||||
$public_qv_count = count( $this->wp->public_query_vars );
|
||||
|
||||
$this->wp->add_query_var( 'test' );
|
||||
$this->assertTrue( in_array( 'test', $this->wp->public_query_vars ) );
|
||||
$this->wp->remove_query_var( 'test' );
|
||||
|
||||
$this->assertSame( $public_qv_count, count( $this->wp->public_query_vars ) );
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user