Fix the failing `Tests_Link::test_wp_get_shortlink()` assertion:

* `wp_get_shortlink()` was firing a notice when reading `$post->ID` while `$post` was null in some cases
* Before the assertions that assume `$GLOBALS['post']` is not set, call `unset( $GLOBALS['post'] );` - there was global spillage from other tests

See #25282.




git-svn-id: https://develop.svn.wordpress.org/trunk@25404 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Scott Taylor 2013-09-12 17:30:01 +00:00
parent 435c2b5686
commit 404fd85586
2 changed files with 4 additions and 1 deletions

View File

@ -2417,7 +2417,8 @@ function wp_get_shortlink($id = 0, $context = 'post', $allow_slugs = true) {
$post = get_post( $post_id );
} elseif ( 'post' == $context ) {
$post = get_post( $id );
$post_id = $post->ID;
if ( ! empty( $post->ID ) )
$post_id = $post->ID;
}
$shortlink = '';

View File

@ -35,6 +35,8 @@ class Tests_Link extends WP_UnitTestCase {
// Basic case
$this->assertEquals( get_permalink( $post_id ), wp_get_shortlink( $post_id, 'post' ) );
unset( $GLOBALS['post'] );
// Global post is not set
$this->assertEquals( '', wp_get_shortlink( 0, 'post' ) );
$this->assertEquals( '', wp_get_shortlink( 0 ) );