WordPress.org

Make WordPress Core

Changeset 1289 in tests


Ignore:
Timestamp:
05/22/13 21:12:05 (11 months ago)
Author:
ryan
Message:

Test case to test handling of global post in a loop that passes a post to setup_postdata() without updating global post. see #WP24330

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/query.php

    r1287 r1289  
    3535        $this->assertEquals( array( 'Page 0', 'Page 1', 'Page 2', 'Page 3' ), $GLOBALS['pages'] ); 
    3636    } 
     37 
     38    /** 
     39     * @ticket 24330 
     40     * 
     41     * setup_postdata( $a_post ) followed by the_content() in a loop that does not update 
     42     * global $post should use the content of $a_post rather then the global post. 
     43     */ 
     44    function test_setup_postdata_loop() { 
     45        $post_id = $this->factory->post->create( array( 'post_content' => 'global post' ) ); 
     46        $GLOBALS['post'] = get_post( $post_id ); 
     47 
     48        $ids = $this->factory->post->create_many(5); 
     49        foreach ( $ids as $id ) { 
     50            $page = get_post( $id ); 
     51            if ( $page ) { 
     52                setup_postdata( $page ); 
     53                $content = get_echo( 'the_content', array() ); 
     54                $this->assertNotEquals( '<p>global post</p>', strip_ws( $content ) ); 
     55                wp_reset_postdata(); 
     56            } 
     57        } 
     58    } 
    3759} 
Note: See TracChangeset for help on using the changeset viewer.