mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2025-10-16 12:05:38 +00:00
WordPress' code just... wasn't. This is now dealt with. Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS. Fixes #41057. git-svn-id: https://develop.svn.wordpress.org/trunk@42343 602fd350-edb4-49c9-b593-d223f7449a82
88 lines
1.6 KiB
PHP
88 lines
1.6 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @group bookmark
|
|
*/
|
|
class Tests_Bookmark_GetBookmarks extends WP_UnitTestCase {
|
|
public function test_should_hit_cache() {
|
|
global $wpdb;
|
|
|
|
$bookmarks = self::factory()->bookmark->create_many( 2 );
|
|
|
|
$found1 = get_bookmarks(
|
|
array(
|
|
'orderby' => 'link_id',
|
|
)
|
|
);
|
|
|
|
$num_queries = $wpdb->num_queries;
|
|
|
|
$found2 = get_bookmarks(
|
|
array(
|
|
'orderby' => 'link_id',
|
|
)
|
|
);
|
|
|
|
$this->assertEqualSets( $found1, $found2 );
|
|
$this->assertSame( $num_queries, $wpdb->num_queries );
|
|
}
|
|
|
|
public function test_adding_bookmark_should_bust_get_bookmarks_cache() {
|
|
global $wpdb;
|
|
|
|
$bookmarks = self::factory()->bookmark->create_many( 2 );
|
|
|
|
// Prime cache.
|
|
$found1 = get_bookmarks(
|
|
array(
|
|
'orderby' => 'link_id',
|
|
)
|
|
);
|
|
|
|
$num_queries = $wpdb->num_queries;
|
|
|
|
$bookmarks[] = wp_insert_link(
|
|
array(
|
|
'link_name' => 'foo',
|
|
'link_url' => 'http://example.com',
|
|
)
|
|
);
|
|
|
|
$found2 = get_bookmarks(
|
|
array(
|
|
'orderby' => 'link_id',
|
|
)
|
|
);
|
|
|
|
$this->assertEqualSets( $bookmarks, wp_list_pluck( $found2, 'link_id' ) );
|
|
$this->assertTrue( $num_queries < $wpdb->num_queries );
|
|
}
|
|
|
|
/**
|
|
* @ticket 18356
|
|
*/
|
|
public function test_orderby_rand_should_not_be_cached() {
|
|
global $wpdb;
|
|
|
|
$bookmarks = self::factory()->bookmark->create_many( 2 );
|
|
|
|
$found1 = get_bookmarks(
|
|
array(
|
|
'orderby' => 'rand',
|
|
)
|
|
);
|
|
|
|
$num_queries = $wpdb->num_queries;
|
|
|
|
$found2 = get_bookmarks(
|
|
array(
|
|
'orderby' => 'rand',
|
|
)
|
|
);
|
|
|
|
// equal sets != same order
|
|
$this->assertEqualSets( $found1, $found2 );
|
|
$this->assertTrue( $num_queries < $wpdb->num_queries );
|
|
}
|
|
}
|