WordPress.org

Make WordPress Core

Ticket #22223: 22223-ut.diff

File 22223-ut.diff, 1.1 KB (added by ryan, 18 months ago)
  • tests/post/objects.php

     
    185185                $this->assertInternalType( 'array', $post['ancestors'] ); 
    186186                $this->assertEquals( 'raw', $post['filter'] ); 
    187187        } 
     188 
     189        function test_get_post_cache() { 
     190                global $wpdb; 
     191 
     192                $id = $this->factory->post->create(); 
     193                wp_cache_delete( $id, 'posts' ); 
     194 
     195                $post = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->posts WHERE ID = %d LIMIT 1", $id ) ); 
     196                get_post( $post ); 
     197                $this->assertNotEmpty( wp_cache_get( $id, 'posts' ) ); 
     198                wp_cache_delete( $id, 'posts' ); 
     199 
     200                $post = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->posts WHERE ID = %d LIMIT 1", $id ) ); 
     201                $post->dummy = 'dummy'; 
     202                get_post( $post ); 
     203                $this->assertEmpty( wp_cache_get( $id, 'posts' ) ); 
     204                wp_cache_delete( $id, 'posts' ); 
     205 
     206                $post = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->posts WHERE ID = %d LIMIT 1", $id ) ); 
     207                unset( $post->post_type ); 
     208                get_post( $post ); 
     209                $this->assertEmpty( wp_cache_get( $id, 'posts' ) ); 
     210                wp_cache_delete( $id, 'posts' ); 
     211        } 
    188212}