mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2025-10-16 12:05:38 +00:00
The test was introduced in [36646] was intended to demonstrate that the cap check in `get_edit_term_link()` uses the custom capability from the correct taxonomy when `$taxonomy` is not specified but must be inferred from the provided term. However, the test was wrongly written in pretty much every way. Antiprops boonebgorges. Props swissspidy. See #35922. git-svn-id: https://develop.svn.wordpress.org/trunk@36986 602fd350-edb4-49c9-b593-d223f7449a82
90 lines
2.1 KiB
PHP
90 lines
2.1 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @group taxonomy
|
|
*/
|
|
class Tests_Term_GetEditTermLink extends WP_UnitTestCase {
|
|
public function setUp() {
|
|
parent::setUp();
|
|
wp_set_current_user( self::factory()->user->create( array( 'role' => 'administrator' ) ) );
|
|
register_taxonomy( 'wptests_tax', 'post' );
|
|
}
|
|
|
|
public function test_get_edit_term_link_default() {
|
|
$term1 = self::factory()->term->create( array(
|
|
'taxonomy' => 'wptests_tax',
|
|
'name' => 'foo',
|
|
) );
|
|
|
|
$actual = get_edit_term_link( $term1, 'wptests_tax' );
|
|
$expected = 'http://' . WP_TESTS_DOMAIN . '/wp-admin/term.php?taxonomy=wptests_tax&tag_ID=' . $term1 . '&post_type=post';
|
|
$this->assertEquals( $expected, $actual );
|
|
}
|
|
|
|
/**
|
|
* @ticket 32786
|
|
*/
|
|
public function test_get_edit_term_link_invalid_id() {
|
|
$term1 = self::factory()->term->create( array(
|
|
'taxonomy' => 'wptests_tax',
|
|
'name' => 'foo',
|
|
) );
|
|
|
|
$actual = get_edit_term_link( 12345, 'wptests_tax' );
|
|
$this->assertNull( $actual );
|
|
}
|
|
|
|
/**
|
|
* @ticket 32786
|
|
*/
|
|
public function test_get_edit_term_link_empty_id() {
|
|
$actual = get_edit_term_link( '', 'wptests_tax' );
|
|
$this->assertNull( $actual );
|
|
}
|
|
|
|
/**
|
|
* @ticket 32786
|
|
*/
|
|
public function test_get_edit_term_link_bad_tax() {
|
|
$actual = get_edit_term_link( '', 'bad_tax' );
|
|
$this->assertNull( $actual );
|
|
}
|
|
|
|
/**
|
|
* @ticket 35922
|
|
*/
|
|
public function test_taxonomy_should_not_be_required() {
|
|
$t = self::factory()->term->create( array(
|
|
'taxonomy' => 'wptests_tax',
|
|
'name' => 'foo',
|
|
) );
|
|
|
|
$actual = get_edit_term_link( $t );
|
|
$this->assertNotNull( $actual );
|
|
}
|
|
|
|
/**
|
|
* @ticket 35922
|
|
*/
|
|
public function test_cap_check_should_use_correct_taxonomy_when_taxonomy_is_not_specified() {
|
|
register_taxonomy( 'wptests_tax_subscriber', 'post', array(
|
|
'capabilities' => array(
|
|
'edit_terms' => 'read',
|
|
),
|
|
) );
|
|
|
|
$t = self::factory()->term->create( array(
|
|
'taxonomy' => 'wptests_tax_subscriber',
|
|
'name' => 'foo',
|
|
) );
|
|
|
|
$u = self::factory()->user->create( array(
|
|
'role' => 'subscriber',
|
|
) );
|
|
wp_set_current_user( $u );
|
|
|
|
$actual = get_edit_term_link( $t );
|
|
$this->assertNotNull( $actual );
|
|
}
|
|
}
|