Make WordPress Core

Ticket #7394: 7394.tests.diff

File 7394.tests.diff, 2.5 KB (added by kovshenin, 12 years ago)
  • tests/query/results.php

     
    370370                ), wp_list_pluck( $posts, 'post_title' ) );
    371371        }
    372372}
     373
     374/**
     375 * Tests various search scenarios
     376 * @group query
     377 */
     378class Tests_Query_Search extends WP_UnitTestCase {
     379
     380        /**
     381         * @ticket 7394
     382         */
     383        function test_query_search_orderby_relevance() {
     384                $this->factory->post->create( array( 'post_title' => 'foo test post bar', 'post_date' => '2009-12-01 00:00:01' ) );
     385                $this->factory->post->create( array( 'post_title' => 'foo bar test post', 'post_date' => '2009-12-01 00:00:02' ) );
     386                $this->factory->post->create( array( 'post_title' => 'foo test bar post baz', 'post_date' => '2009-12-01 00:00:03' ) );
     387                $this->factory->post->create( array( 'post_title' => 'foo test bar', 'post_date' => '2009-12-01 00:00:04' ) );
     388                $this->factory->post->create( array( 'post_title' => 'foo post bar', 'post_date' => '2009-12-01 00:00:05' ) );
     389                $this->factory->post->create( array( 'post_title' => 'foo', 'post_content' => 'foo test post bar', 'post_date' => '2009-12-01 00:00:06' ) );
     390                $this->factory->post->create( array( 'post_title' => 'foo', 'post_content' => 'foo test bar', 'post_date' => '2009-12-01 00:00:07' ) );
     391
     392                $posts = new WP_Query( array(
     393                        's' => 'test post',
     394                ) );
     395
     396                $this->assertEquals( array(
     397                        'foo bar test post',
     398                        'foo test post bar',
     399                        'foo test bar post baz',
     400                        'foo test bar',
     401                        'foo',
     402                ), wp_list_pluck( $posts->posts, 'post_title' ) );
     403
     404                $posts = new WP_Query( array(
     405                        's' => 'post bar',
     406                ) );
     407
     408                $this->assertEquals( array(
     409                        'foo post bar',
     410                        'foo test post bar',
     411                        'foo test bar post baz',
     412                        'foo bar test post',
     413                        'foo test bar',
     414                        'foo',
     415                ), wp_list_pluck( $posts->posts, 'post_title' ) );
     416
     417                $posts = new WP_Query( array(
     418                        's' => 'post',
     419                ) );
     420
     421                $this->assertEquals( array(
     422                        'foo post bar',
     423                        'foo test bar post baz',
     424                        'foo bar test post',
     425                        'foo test post bar',
     426                        'foo',
     427                        'foo test bar',
     428                ), wp_list_pluck( $posts->posts, 'post_title' ) );
     429
     430                // Let's just make sure order by date is not broken
     431                $posts = new WP_Query( array(
     432                        's' => 'test post',
     433                        'orderby' => 'date',
     434                ) );
     435
     436                $this->assertEquals( array(
     437                        'foo',
     438                        'foo test bar',
     439                        'foo test bar post baz',
     440                        'foo bar test post',
     441                        'foo test post bar',
     442                ), wp_list_pluck( $posts->posts, 'post_title' ) );
     443        }
     444}
     445 No newline at end of file