WordPress.org

Make WordPress Core

Ticket #27834: 27834-tests.diff

File 27834-tests.diff, 1.4 KB (added by jjeaton, 6 years ago)

27834 unit tests

  • tests/phpunit/tests/general/archives.php

     
    44 * @group general
    55 */
    66class Tests_General_Archives extends WP_UnitTestCase {
     7
     8        /**
     9         * Query log
     10         * @var array
     11         */
     12        protected $_queries = array();
     13
    714        function setUp() {
    815                parent::setUp();
    916
     17                $this->_queries = array();
     18                add_filter( 'query', array( $this, 'query_filter' ) );
     19
    1020                wp_cache_delete( 'last_changed', 'posts' );
    1121        }
    1222
     
    108118                $this->assertEquals( $time1, wp_cache_get( 'last_changed', 'posts' ) );
    109119                $this->assertEquals( $num_queries, $wpdb->num_queries );
    110120        }
    111 }
    112  No newline at end of file
     121
     122        /**
     123         * @ticket 27834
     124         */
     125        function test_get_archives_limit() {
     126                global $wpdb;
     127
     128                // Try to get archives with limit of 0
     129                $wpdb->suppress_errors( true );
     130                $result = wp_get_archives( array( 'limit' => 0 ) );
     131                $wpdb->suppress_errors( false );
     132                $this->assertStringEndsNotWith( '0', array_pop( $this->_queries ) );
     133
     134                // Try to get archives with limit of 1
     135                $result = wp_get_archives( array( 'limit' => 1 ) );
     136                $this->assertContains( 'LIMIT 1', array_pop( $this->_queries ) );
     137        }
     138
     139        /**
     140         * Log each query
     141         * @param string $sql
     142         * @return string
     143         */
     144        function query_filter( $sql ) {
     145                $this->_queries[] = $sql;
     146                return $sql;
     147        }
     148}