Add tests for remove_query_arg()
.
Props borgesbruno. Fixes #37008. git-svn-id: https://develop.svn.wordpress.org/trunk@37631 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
7d82fb2ee0
commit
9f21bd49bc
37
tests/phpunit/tests/functions/removeQueryArg.php
Normal file
37
tests/phpunit/tests/functions/removeQueryArg.php
Normal file
@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @group functions.php
|
||||
*/
|
||||
class Tests_Functions_RemoveQueryArg extends WP_UnitTestCase {
|
||||
/**
|
||||
* @dataProvider remove_query_arg_provider
|
||||
*/
|
||||
public function test_remove_query_arg( $keys_to_remove, $url, $expected ) {
|
||||
$actual = remove_query_arg( $keys_to_remove, $url );
|
||||
|
||||
$this->assertNotEmpty( $actual );
|
||||
$this->assertEquals( $expected, $actual );
|
||||
}
|
||||
|
||||
public function remove_query_arg_provider() {
|
||||
return array(
|
||||
array( 'foo', 'edit.php?foo=test1&baz=test1', 'edit.php?baz=test1' ),
|
||||
array( array( 'foo' ), 'edit.php?foo=test2&baz=test2', 'edit.php?baz=test2' ),
|
||||
array( array( 'foo', 'baz' ), 'edit.php?foo=test3&baz=test3', 'edit.php' ),
|
||||
array( array( 'fakefoo', 'fakebaz' ), 'edit.php?foo=test4&baz=test4', 'edit.php?foo=test4&baz=test4' ),
|
||||
array( array( 'fakefoo', 'baz' ), 'edit.php?foo=test4&baz=test4', 'edit.php?foo=test4' ),
|
||||
);
|
||||
}
|
||||
|
||||
public function test_should_fall_back_on_current_url() {
|
||||
$old_request_uri = $_SERVER['REQUEST_URI'];
|
||||
$_SERVER['REQUEST_URI'] = 'edit.php?foo=bar&baz=quz';
|
||||
|
||||
$actual = remove_query_arg( 'foo' );
|
||||
|
||||
$_SERVER['REQUEST_URI'] = $old_request_uri;
|
||||
|
||||
$this->assertSame( 'edit.php?baz=quz', $actual );
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user