WordPress.org

Make WordPress Core

Ticket #22223: 22223-ut.diff

File 22223-ut.diff, 1.1 KB (added by ryan, 6 years 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}