Make WordPress Core


Ignore:
Timestamp:
10/16/2015 09:04:12 PM (11 years ago)
Author:
wonderboymusic
Message:

Unit Tests: one $factory to rule them all, and it shall be static.

Using more than one instance of WP_UnitTest_Factory causes all kinds of craziness, due to out-of-sync internal generator sequences. Since we want to use setUpBeforeClass, we were creating ad hoc instances. To avoid that, we were injecting one static instance via Dependency Injection in wpSetUpBeforeClass. All tests should really use the static instance, so we will remove the instance prop $factory.

Replace $this->factory with self::$factory over 2000 times.
Rewrite all of the tests that were hard-coding dynamic values.

#YOLOFriday

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/query/metaQuery.php

    r31666 r35225  
    77class Tests_Query_MetaQuery extends WP_UnitTestCase {
    88    public function test_meta_query_no_key() {
    9         $p1 = $this->factory->post->create();
    10         $p2 = $this->factory->post->create();
    11         $p3 = $this->factory->post->create();
     9        $p1 = self::$factory->post->create();
     10        $p2 = self::$factory->post->create();
     11        $p3 = self::$factory->post->create();
    1212
    1313        add_post_meta( $p1, 'foo', 'bar' );
     
    3131
    3232    public function test_meta_query_no_value() {
    33         $p1 = $this->factory->post->create();
    34         $p2 = $this->factory->post->create();
    35         $p3 = $this->factory->post->create();
     33        $p1 = self::$factory->post->create();
     34        $p2 = self::$factory->post->create();
     35        $p3 = self::$factory->post->create();
    3636
    3737        add_post_meta( $p1, 'foo', 'bar' );
     
    5555
    5656    public function test_meta_query_single_query_compare_default() {
    57         $p1 = $this->factory->post->create();
    58         $p2 = $this->factory->post->create();
     57        $p1 = self::$factory->post->create();
     58        $p2 = self::$factory->post->create();
    5959
    6060        add_post_meta( $p1, 'foo', 'bar' );
     
    7777
    7878    public function test_meta_query_single_query_compare_equals() {
    79         $p1 = $this->factory->post->create();
    80         $p2 = $this->factory->post->create();
     79        $p1 = self::$factory->post->create();
     80        $p2 = self::$factory->post->create();
    8181
    8282        add_post_meta( $p1, 'foo', 'bar' );
     
    100100
    101101    public function test_meta_query_single_query_compare_not_equals() {
    102         $p1 = $this->factory->post->create();
    103         $p2 = $this->factory->post->create();
    104         $p3 = $this->factory->post->create();
     102        $p1 = self::$factory->post->create();
     103        $p2 = self::$factory->post->create();
     104        $p3 = self::$factory->post->create();
    105105
    106106        add_post_meta( $p1, 'foo', 'bar' );
     
    125125
    126126    public function test_meta_query_single_query_compare_arithmetic_comparisons() {
    127         $p1 = $this->factory->post->create();
    128         $p2 = $this->factory->post->create();
    129         $p3 = $this->factory->post->create();
     127        $p1 = self::$factory->post->create();
     128        $p2 = self::$factory->post->create();
     129        $p3 = self::$factory->post->create();
    130130
    131131        add_post_meta( $p1, 'foo', '1' );
     
    203203
    204204    public function test_meta_query_single_query_compare_like() {
    205         $p1 = $this->factory->post->create();
    206         $p2 = $this->factory->post->create();
     205        $p1 = self::$factory->post->create();
     206        $p2 = self::$factory->post->create();
    207207
    208208        add_post_meta( $p1, 'foo', 'bar' );
     
    226226
    227227    public function test_meta_query_single_query_compare_not_like() {
    228         $p1 = $this->factory->post->create();
    229         $p2 = $this->factory->post->create();
    230         $p3 = $this->factory->post->create();
     228        $p1 = self::$factory->post->create();
     229        $p2 = self::$factory->post->create();
     230        $p3 = self::$factory->post->create();
    231231
    232232        add_post_meta( $p1, 'foo', 'bar' );
     
    251251
    252252    public function test_meta_query_single_query_compare_between_not_between() {
    253         $p1 = $this->factory->post->create();
    254         $p2 = $this->factory->post->create();
    255         $p3 = $this->factory->post->create();
     253        $p1 = self::$factory->post->create();
     254        $p2 = self::$factory->post->create();
     255        $p3 = self::$factory->post->create();
    256256
    257257        add_post_meta( $p1, 'foo', '1' );
     
    295295
    296296    public function test_meta_query_single_query_compare_regexp_rlike() {
    297         $p1 = $this->factory->post->create();
    298         $p2 = $this->factory->post->create();
     297        $p1 = self::$factory->post->create();
     298        $p2 = self::$factory->post->create();
    299299
    300300        add_post_meta( $p1, 'foo', 'bar' );
     
    336336
    337337    public function test_meta_query_single_query_compare_not_regexp() {
    338         $p1 = $this->factory->post->create();
    339         $p2 = $this->factory->post->create();
     338        $p1 = self::$factory->post->create();
     339        $p2 = self::$factory->post->create();
    340340
    341341        add_post_meta( $p1, 'foo', 'bar' );
     
    360360
    361361    public function test_meta_query_relation_default() {
    362         $p1 = $this->factory->post->create();
    363         $p2 = $this->factory->post->create();
    364         $p3 = $this->factory->post->create();
     362        $p1 = self::$factory->post->create();
     363        $p2 = self::$factory->post->create();
     364        $p3 = self::$factory->post->create();
    365365
    366366        add_post_meta( $p1, 'foo', 'foo value 1' );
     
    390390
    391391    public function test_meta_query_relation_or() {
    392         $post_id = $this->factory->post->create();
     392        $post_id = self::$factory->post->create();
    393393        add_post_meta( $post_id, 'foo', rand_str() );
    394394        add_post_meta( $post_id, 'foo', rand_str() );
    395         $post_id2 = $this->factory->post->create();
     395        $post_id2 = self::$factory->post->create();
    396396        add_post_meta( $post_id2, 'bar', 'val2' );
    397         $post_id3 = $this->factory->post->create();
     397        $post_id3 = self::$factory->post->create();
    398398        add_post_meta( $post_id3, 'baz', rand_str() );
    399         $post_id4 = $this->factory->post->create();
     399        $post_id4 = self::$factory->post->create();
    400400        add_post_meta( $post_id4, 'froo', rand_str() );
    401         $post_id5 = $this->factory->post->create();
     401        $post_id5 = self::$factory->post->create();
    402402        add_post_meta( $post_id5, 'tango', 'val2' );
    403         $post_id6 = $this->factory->post->create();
     403        $post_id6 = self::$factory->post->create();
    404404        add_post_meta( $post_id6, 'bar', 'val1' );
    405405
     
    431431
    432432    public function test_meta_query_relation_and() {
    433         $post_id = $this->factory->post->create();
     433        $post_id = self::$factory->post->create();
    434434        add_post_meta( $post_id, 'foo', rand_str() );
    435435        add_post_meta( $post_id, 'foo', rand_str() );
    436         $post_id2 = $this->factory->post->create();
     436        $post_id2 = self::$factory->post->create();
    437437        add_post_meta( $post_id2, 'bar', 'val2' );
    438438        add_post_meta( $post_id2, 'foo', rand_str() );
    439         $post_id3 = $this->factory->post->create();
     439        $post_id3 = self::$factory->post->create();
    440440        add_post_meta( $post_id3, 'baz', rand_str() );
    441         $post_id4 = $this->factory->post->create();
     441        $post_id4 = self::$factory->post->create();
    442442        add_post_meta( $post_id4, 'froo', rand_str() );
    443         $post_id5 = $this->factory->post->create();
     443        $post_id5 = self::$factory->post->create();
    444444        add_post_meta( $post_id5, 'tango', 'val2' );
    445         $post_id6 = $this->factory->post->create();
     445        $post_id6 = self::$factory->post->create();
    446446        add_post_meta( $post_id6, 'bar', 'val1' );
    447447        add_post_meta( $post_id6, 'foo', rand_str() );
    448         $post_id7 = $this->factory->post->create();
     448        $post_id7 = self::$factory->post->create();
    449449        add_post_meta( $post_id7, 'foo', rand_str() );
    450450        add_post_meta( $post_id7, 'froo', rand_str() );
     
    500500     */
    501501    public function test_meta_query_compare_exists() {
    502         $posts = $this->factory->post->create_many( 3 );
     502        $posts = self::$factory->post->create_many( 3 );
    503503        add_post_meta( $posts[0], 'foo', 'bar' );
    504504        add_post_meta( $posts[2], 'foo', 'baz' );
     
    521521     */
    522522    public function test_meta_query_compare_exists_with_value_should_convert_to_equals() {
    523         $posts = $this->factory->post->create_many( 3 );
     523        $posts = self::$factory->post->create_many( 3 );
    524524        add_post_meta( $posts[0], 'foo', 'bar' );
    525525        add_post_meta( $posts[2], 'foo', 'baz' );
     
    543543     */
    544544    public function test_meta_query_compare_not_exists_should_ignore_value() {
    545         $posts = $this->factory->post->create_many( 3 );
     545        $posts = self::$factory->post->create_many( 3 );
    546546        add_post_meta( $posts[0], 'foo', 'bar' );
    547547        add_post_meta( $posts[2], 'foo', 'baz' );
     
    565565     */
    566566    public function test_meta_query_compare_not_exists() {
    567         $post_id = $this->factory->post->create();
     567        $post_id = self::$factory->post->create();
    568568        add_post_meta( $post_id, 'foo', rand_str() );
    569         $post_id2 = $this->factory->post->create();
     569        $post_id2 = self::$factory->post->create();
    570570        add_post_meta( $post_id2, 'bar', rand_str() );
    571         $post_id3 = $this->factory->post->create();
     571        $post_id3 = self::$factory->post->create();
    572572        add_post_meta( $post_id3, 'bar', rand_str() );
    573         $post_id4 = $this->factory->post->create();
     573        $post_id4 = self::$factory->post->create();
    574574        add_post_meta( $post_id4, 'baz', rand_str() );
    575         $post_id5 = $this->factory->post->create();
     575        $post_id5 = self::$factory->post->create();
    576576        add_post_meta( $post_id5, 'foo', rand_str() );
    577577
     
    637637     */
    638638    public function test_meta_query_compare_not_exists_with_another_condition_relation_or() {
    639         $posts = $this->factory->post->create_many( 4 );
     639        $posts = self::$factory->post->create_many( 4 );
    640640        update_post_meta( $posts[0], 'color', 'orange' );
    641641        update_post_meta( $posts[1], 'color', 'blue' );
     
    673673     */
    674674    public function test_meta_query_relation_or_compare_equals() {
    675         $posts = $this->factory->post->create_many( 4 );
     675        $posts = self::$factory->post->create_many( 4 );
    676676        add_post_meta( $posts[0], 'color', 'orange' );
    677677        add_post_meta( $posts[1], 'color', 'blue' );
     
    706706     */
    707707    public function test_meta_query_relation_or_compare_equals_different_keys() {
    708         $posts = $this->factory->post->create_many( 4 );
     708        $posts = self::$factory->post->create_many( 4 );
    709709        add_post_meta( $posts[0], 'color', 'orange' );
    710710        add_post_meta( $posts[1], 'color', 'blue' );
     
    739739     */
    740740    public function test_meta_query_relation_or_compare_equals_and_in() {
    741         $posts = $this->factory->post->create_many( 4 );
     741        $posts = self::$factory->post->create_many( 4 );
    742742        add_post_meta( $posts[0], 'color', 'orange' );
    743743        add_post_meta( $posts[1], 'color', 'blue' );
     
    772772     */
    773773    public function test_meta_query_relation_or_compare_equals_and_like() {
    774         $posts = $this->factory->post->create_many( 4 );
     774        $posts = self::$factory->post->create_many( 4 );
    775775        add_post_meta( $posts[0], 'color', 'orange' );
    776776        add_post_meta( $posts[1], 'color', 'blue' );
     
    805805     */
    806806    public function test_meta_query_relation_or_compare_equals_and_between() {
    807         $posts = $this->factory->post->create_many( 4 );
     807        $posts = self::$factory->post->create_many( 4 );
    808808        add_post_meta( $posts[0], 'number_of_colors', '2' );
    809809        add_post_meta( $posts[1], 'number_of_colors', '5' );
     
    839839     */
    840840    public function test_meta_query_relation_and_compare_in_same_keys() {
    841         $posts = $this->factory->post->create_many( 4 );
     841        $posts = self::$factory->post->create_many( 4 );
    842842        add_post_meta( $posts[0], 'color', 'orange' );
    843843        add_post_meta( $posts[1], 'color', 'blue' );
     
    874874     */
    875875    public function test_meta_query_relation_and_compare_in_different_keys() {
    876         $posts = $this->factory->post->create_many( 4 );
     876        $posts = self::$factory->post->create_many( 4 );
    877877        add_post_meta( $posts[0], 'color', 'orange' );
    878878        add_post_meta( $posts[1], 'color', 'blue' );
     
    909909     */
    910910    public function test_meta_query_relation_and_compare_not_equals() {
    911         $posts = $this->factory->post->create_many( 4 );
     911        $posts = self::$factory->post->create_many( 4 );
    912912        add_post_meta( $posts[0], 'color', 'orange' );
    913913        add_post_meta( $posts[1], 'color', 'blue' );
     
    943943     */
    944944    public function test_meta_query_relation_and_compare_not_equals_different_keys() {
    945         $posts = $this->factory->post->create_many( 4 );
     945        $posts = self::$factory->post->create_many( 4 );
    946946
    947947        // !shallot, but orange.
     
    984984     */
    985985    public function test_meta_query_relation_and_compare_not_equals_not_in() {
    986         $posts = $this->factory->post->create_many( 4 );
     986        $posts = self::$factory->post->create_many( 4 );
    987987        add_post_meta( $posts[0], 'color', 'orange' );
    988988        add_post_meta( $posts[1], 'color', 'blue' );
     
    10181018     */
    10191019    public function test_meta_query_relation_and_compare_not_equals_and_not_like() {
    1020         $posts = $this->factory->post->create_many( 4 );
     1020        $posts = self::$factory->post->create_many( 4 );
    10211021        add_post_meta( $posts[0], 'color', 'orange' );
    10221022        add_post_meta( $posts[1], 'color', 'blue' );
     
    10521052     */
    10531053    public function test_meta_query_decimal_results() {
    1054         $post_1 = $this->factory->post->create();
    1055         $post_2 = $this->factory->post->create();
    1056         $post_3 = $this->factory->post->create();
    1057         $post_4 = $this->factory->post->create();
     1054        $post_1 = self::$factory->post->create();
     1055        $post_2 = self::$factory->post->create();
     1056        $post_3 = self::$factory->post->create();
     1057        $post_4 = self::$factory->post->create();
    10581058
    10591059        update_post_meta( $post_1, 'decimal_value', '-0.3' );
     
    12271227     */
    12281228    public function test_meta_query_with_orderby_meta_value_relation_or() {
    1229         $posts = $this->factory->post->create_many( 4 );
     1229        $posts = self::$factory->post->create_many( 4 );
    12301230        update_post_meta( $posts[0], 'foo', 5 );
    12311231        update_post_meta( $posts[1], 'foo', 6 );
     
    12661266     */
    12671267    public function test_meta_query_with_orderby_meta_value_relation_and() {
    1268         $posts = $this->factory->post->create_many( 4 );
     1268        $posts = self::$factory->post->create_many( 4 );
    12691269        update_post_meta( $posts[0], 'foo', 5 );
    12701270        update_post_meta( $posts[1], 'foo', 6 );
     
    13091309     */
    13101310    public function test_meta_query_nested() {
    1311         $p1 = $this->factory->post->create();
    1312         $p2 = $this->factory->post->create();
    1313         $p3 = $this->factory->post->create();
     1311        $p1 = self::$factory->post->create();
     1312        $p2 = self::$factory->post->create();
     1313        $p3 = self::$factory->post->create();
    13141314
    13151315        add_post_meta( $p1, 'foo', 'bar' );
     
    13501350     */
    13511351    public function test_meta_query_nested_two_levels_deep() {
    1352         $p1 = $this->factory->post->create();
    1353         $p2 = $this->factory->post->create();
    1354         $p3 = $this->factory->post->create();
     1352        $p1 = self::$factory->post->create();
     1353        $p2 = self::$factory->post->create();
     1354        $p3 = self::$factory->post->create();
    13551355
    13561356        add_post_meta( $p1, 'foo', 'bar' );
     
    13951395
    13961396    public function test_meta_between_not_between() {
    1397         $post_id = $this->factory->post->create();
     1397        $post_id = self::$factory->post->create();
    13981398        add_post_meta( $post_id, 'time', 500 );
    1399         $post_id2 = $this->factory->post->create();
     1399        $post_id2 = self::$factory->post->create();
    14001400        add_post_meta( $post_id2, 'time', 1001 );
    1401         $post_id3 = $this->factory->post->create();
     1401        $post_id3 = self::$factory->post->create();
    14021402        add_post_meta( $post_id3, 'time', 0 );
    1403         $post_id4 = $this->factory->post->create();
     1403        $post_id4 = self::$factory->post->create();
    14041404        add_post_meta( $post_id4, 'time', 1 );
    1405         $post_id5 = $this->factory->post->create();
     1405        $post_id5 = self::$factory->post->create();
    14061406        add_post_meta( $post_id5, 'time', 1000 );
    14071407
     
    14441444    public function test_meta_default_compare() {
    14451445        // compare should default to IN when meta_value is an array
    1446         $post_id = $this->factory->post->create();
     1446        $post_id = self::$factory->post->create();
    14471447        add_post_meta( $post_id, 'foo', 'bar' );
    1448         $post_id2 = $this->factory->post->create();
     1448        $post_id2 = self::$factory->post->create();
    14491449        add_post_meta( $post_id2, 'bar', 'baz' );
    1450         $post_id3 = $this->factory->post->create();
     1450        $post_id3 = self::$factory->post->create();
    14511451        add_post_meta( $post_id3, 'foo', 'baz' );
    1452         $post_id4 = $this->factory->post->create();
     1452        $post_id4 = self::$factory->post->create();
    14531453        add_post_meta( $post_id4, 'baz', 'bar' );
    1454         $post_id5 = $this->factory->post->create();
     1454        $post_id5 = self::$factory->post->create();
    14551455        add_post_meta( $post_id5, 'foo', rand_str() );
    14561456
     
    14831483     */
    14841484    public function test_duplicate_posts_when_no_key() {
    1485         $post_id = $this->factory->post->create();
     1485        $post_id = self::$factory->post->create();
    14861486        add_post_meta( $post_id, 'city', 'Lorem' );
    14871487        add_post_meta( $post_id, 'address', '123 Lorem St.' );
    1488         $post_id2 = $this->factory->post->create();
     1488        $post_id2 = self::$factory->post->create();
    14891489        add_post_meta( $post_id2, 'city', 'Lorem' );
    1490         $post_id3 = $this->factory->post->create();
     1490        $post_id3 = self::$factory->post->create();
    14911491        add_post_meta( $post_id3, 'city', 'Loren' );
    14921492
     
    15141514     */
    15151515    public function test_empty_meta_value() {
    1516         $post_id = $this->factory->post->create();
     1516        $post_id = self::$factory->post->create();
    15171517        add_post_meta( $post_id, 'foo', '0' );
    15181518        add_post_meta( $post_id, 'bar', 0 );
    1519         $post_id2 = $this->factory->post->create();
     1519        $post_id2 = self::$factory->post->create();
    15201520        add_post_meta( $post_id2, 'foo', 1 );
    1521         $post_id3 = $this->factory->post->create();
     1521        $post_id3 = self::$factory->post->create();
    15221522        add_post_meta( $post_id3, 'baz', 0 );
    1523         $post_id4 = $this->factory->post->create();
     1523        $post_id4 = self::$factory->post->create();
    15241524        add_post_meta( $post_id4, 'baz', 0 );
    1525         $post_id5 = $this->factory->post->create();
     1525        $post_id5 = self::$factory->post->create();
    15261526        add_post_meta( $post_id5, 'baz', 0 );
    15271527        add_post_meta( $post_id5, 'bar', '0' );
    1528         $post_id6 = $this->factory->post->create();
     1528        $post_id6 = self::$factory->post->create();
    15291529        add_post_meta( $post_id6, 'baz', 0 );
    15301530
     
    15781578     */
    15791579    public function test_orderby_clause_key() {
    1580         $posts = $this->factory->post->create_many( 3 );
     1580        $posts = self::$factory->post->create_many( 3 );
    15811581        add_post_meta( $posts[0], 'foo', 'aaa' );
    15821582        add_post_meta( $posts[1], 'foo', 'zzz' );
     
    16021602     */
    16031603    public function test_orderby_clause_key_as_secondary_sort() {
    1604         $p1 = $this->factory->post->create( array(
     1604        $p1 = self::$factory->post->create( array(
    16051605            'post_date' => '2015-01-28 03:00:00',
    16061606        ) );
    1607         $p2 = $this->factory->post->create( array(
     1607        $p2 = self::$factory->post->create( array(
    16081608            'post_date' => '2015-01-28 05:00:00',
    16091609        ) );
    1610         $p3 = $this->factory->post->create( array(
     1610        $p3 = self::$factory->post->create( array(
    16111611            'post_date' => '2015-01-28 03:00:00',
    16121612        ) );
     
    16371637     */
    16381638    public function test_orderby_more_than_one_clause_key() {
    1639         $posts = $this->factory->post->create_many( 3 );
     1639        $posts = self::$factory->post->create_many( 3 );
    16401640
    16411641        add_post_meta( $posts[0], 'foo', 'jjj' );
Note: See TracChangeset for help on using the changeset viewer.