Make WordPress Core


Ignore:
Timestamp:
01/14/2019 11:26:20 PM (6 years ago)
Author:
pento
Message:

Query: Cache the result when get_pages() doesn't find anything in the database.

Props flixos90, soulseekah.
Fixes #43514.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/post/getPages.php

    r43571 r44587  
    701701        $this->assertCount( 2, $exclude6 );
    702702    }
     703
     704    /**
     705     * @ticket 43514
     706     */
     707    function test_get_pages_cache_empty() {
     708        global $wpdb;
     709
     710        wp_cache_delete( 'last_changed', 'posts' );
     711        $this->assertFalse( wp_cache_get( 'last_changed', 'posts' ) );
     712
     713        $num_queries = $wpdb->num_queries;
     714
     715        $pages = get_pages(); // Database gets queried
     716
     717        $this->assertEquals( $num_queries + 1, $wpdb->num_queries );
     718
     719        $num_queries = $wpdb->num_queries;
     720
     721        $pages = get_pages(); // Database should not get queried
     722
     723        $this->assertEquals( $num_queries, $wpdb->num_queries );
     724    }
    703725}
Note: See TracChangeset for help on using the changeset viewer.