WordPress.org

Make WordPress Core


Ignore:
Timestamp:
09/02/2020 12:35:36 AM (17 months ago)
Author:
SergeyBiryukov
Message:

Tests: First pass at using assertSame() instead of assertEquals() in most of the unit tests.

This ensures that not only the return values match the expected results, but also that their type is the same.

Going forward, stricter type checking by using assertSame() should generally be preferred to assertEquals() where appropriate, to make the tests more reliable.

Props johnbillion, jrf, SergeyBiryukov.
See #38266.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/tests/actions.php

    r47122 r48937  
    1616
    1717        // Only one event occurred for the hook, with empty args.
    18         $this->assertEquals( 1, $a->get_call_count() );
     18        $this->assertSame( 1, $a->get_call_count() );
    1919        // Only our hook was called.
    20         $this->assertEquals( array( $tag ), $a->get_tags() );
     20        $this->assertSame( array( $tag ), $a->get_tags() );
    2121
    2222        $argsvar = $a->get_args();
    2323        $args    = array_pop( $argsvar );
    24         $this->assertEquals( array( '' ), $args );
     24        $this->assertSame( array( '' ), $args );
    2525    }
    2626
     
    3333
    3434        // Make sure our hook was called correctly.
    35         $this->assertEquals( 1, $a->get_call_count() );
    36         $this->assertEquals( array( $tag ), $a->get_tags() );
     35        $this->assertSame( 1, $a->get_call_count() );
     36        $this->assertSame( array( $tag ), $a->get_tags() );
    3737
    3838        // Now remove the action, do it again, and make sure it's not called this time.
    3939        remove_action( $tag, array( &$a, 'action' ) );
    4040        do_action( $tag );
    41         $this->assertEquals( 1, $a->get_call_count() );
    42         $this->assertEquals( array( $tag ), $a->get_tags() );
     41        $this->assertSame( 1, $a->get_call_count() );
     42        $this->assertSame( array( $tag ), $a->get_tags() );
    4343
    4444    }
     
    5151        $this->assertFalse( has_action( $tag ) );
    5252        add_action( $tag, $func );
    53         $this->assertEquals( 10, has_action( $tag, $func ) );
     53        $this->assertSame( 10, has_action( $tag, $func ) );
    5454        $this->assertTrue( has_action( $tag ) );
    5555        remove_action( $tag, $func );
     
    7171
    7272        // Both actions called once each.
    73         $this->assertEquals( 1, $a1->get_call_count() );
    74         $this->assertEquals( 1, $a2->get_call_count() );
     73        $this->assertSame( 1, $a1->get_call_count() );
     74        $this->assertSame( 1, $a2->get_call_count() );
    7575    }
    7676
     
    8585
    8686        $call_count = $a->get_call_count();
    87         $this->assertEquals( 1, $call_count );
     87        $this->assertSame( 1, $call_count );
    8888        $argsvar = $a->get_args();
    89         $this->assertEquals( array( $val ), array_pop( $argsvar ) );
     89        $this->assertSame( array( $val ), array_pop( $argsvar ) );
    9090    }
    9191
     
    105105        $call_count = $a1->get_call_count();
    106106        // $a1 should be called with both args.
    107         $this->assertEquals( 1, $call_count );
     107        $this->assertSame( 1, $call_count );
    108108        $argsvar1 = $a1->get_args();
    109         $this->assertEquals( array( $val1, $val2 ), array_pop( $argsvar1 ) );
     109        $this->assertSame( array( $val1, $val2 ), array_pop( $argsvar1 ) );
    110110
    111111        // $a2 should be called with one only.
    112         $this->assertEquals( 1, $a2->get_call_count() );
     112        $this->assertSame( 1, $a2->get_call_count() );
    113113        $argsvar2 = $a2->get_args();
    114         $this->assertEquals( array( $val1 ), array_pop( $argsvar2 ) );
     114        $this->assertSame( array( $val1 ), array_pop( $argsvar2 ) );
    115115    }
    116116
     
    139139        $call_count = $a1->get_call_count();
    140140        // $a1 should be called with both args.
    141         $this->assertEquals( 1, $call_count );
     141        $this->assertSame( 1, $call_count );
    142142        $argsvar1 = $a1->get_args();
    143         $this->assertEquals( array( $val1, $val2 ), array_pop( $argsvar1 ) );
     143        $this->assertSame( array( $val1, $val2 ), array_pop( $argsvar1 ) );
    144144
    145145        // $a2 should be called with one only.
    146         $this->assertEquals( 1, $a2->get_call_count() );
     146        $this->assertSame( 1, $a2->get_call_count() );
    147147        $argsvar2 = $a2->get_args();
    148         $this->assertEquals( array( $val1 ), array_pop( $argsvar2 ) );
     148        $this->assertSame( array( $val1 ), array_pop( $argsvar2 ) );
    149149
    150150        // $a3 should be called with both args.
    151         $this->assertEquals( 1, $a3->get_call_count() );
     151        $this->assertSame( 1, $a3->get_call_count() );
    152152        $argsvar3 = $a3->get_args();
    153         $this->assertEquals( array( $val1, $val2 ), array_pop( $argsvar3 ) );
     153        $this->assertSame( array( $val1, $val2 ), array_pop( $argsvar3 ) );
    154154    }
    155155
     
    182182
    183183        // Two events, one per action.
    184         $this->assertEquals( 2, $a->get_call_count() );
     184        $this->assertSame( 2, $a->get_call_count() );
    185185
    186186        $expected = array(
     
    199199        );
    200200
    201         $this->assertEquals( $expected, $a->get_events() );
     201        $this->assertSame( $expected, $a->get_events() );
    202202    }
    203203
     
    208208        // Do action $tag1 but not $tag2.
    209209        do_action( $tag1 );
    210         $this->assertEquals( 1, did_action( $tag1 ) );
    211         $this->assertEquals( 0, did_action( $tag2 ) );
     210        $this->assertSame( 1, did_action( $tag1 ) );
     211        $this->assertSame( 0, did_action( $tag2 ) );
    212212
    213213        // Do action $tag2 a random number of times.
     
    218218
    219219        // $tag1's count hasn't changed, $tag2 should be correct.
    220         $this->assertEquals( 1, did_action( $tag1 ) );
    221         $this->assertEquals( $count, did_action( $tag2 ) );
     220        $this->assertSame( 1, did_action( $tag1 ) );
     221        $this->assertSame( $count, did_action( $tag2 ) );
    222222
    223223    }
     
    230230        // Add an 'all' action.
    231231        add_action( 'all', array( &$a, 'action' ) );
    232         $this->assertEquals( 10, has_filter( 'all', array( &$a, 'action' ) ) );
     232        $this->assertSame( 10, has_filter( 'all', array( &$a, 'action' ) ) );
    233233        // Do some actions.
    234234        do_action( $tag1 );
     
    238238
    239239        // Our action should have been called once for each tag.
    240         $this->assertEquals( 4, $a->get_call_count() );
     240        $this->assertSame( 4, $a->get_call_count() );
    241241        // Only our hook was called.
    242         $this->assertEquals( array( $tag1, $tag2, $tag1, $tag1 ), $a->get_tags() );
     242        $this->assertSame( array( $tag1, $tag2, $tag1, $tag1 ), $a->get_tags() );
    243243
    244244        remove_action( 'all', array( &$a, 'action' ) );
     
    252252
    253253        add_action( 'all', array( &$a, 'action' ) );
    254         $this->assertEquals( 10, has_filter( 'all', array( &$a, 'action' ) ) );
     254        $this->assertSame( 10, has_filter( 'all', array( &$a, 'action' ) ) );
    255255        do_action( $tag );
    256256
    257257        // Make sure our hook was called correctly.
    258         $this->assertEquals( 1, $a->get_call_count() );
    259         $this->assertEquals( array( $tag ), $a->get_tags() );
     258        $this->assertSame( 1, $a->get_call_count() );
     259        $this->assertSame( array( $tag ), $a->get_tags() );
    260260
    261261        // Now remove the action, do it again, and make sure it's not called this time.
     
    263263        $this->assertFalse( has_filter( 'all', array( &$a, 'action' ) ) );
    264264        do_action( $tag );
    265         $this->assertEquals( 1, $a->get_call_count() );
    266         $this->assertEquals( array( $tag ), $a->get_tags() );
     265        $this->assertSame( 1, $a->get_call_count() );
     266        $this->assertSame( array( $tag ), $a->get_tags() );
    267267    }
    268268
     
    313313        add_action( 'test_action_self_removal', array( $this, 'action_self_removal' ) );
    314314        do_action( 'test_action_self_removal' );
    315         $this->assertEquals( 1, did_action( 'test_action_self_removal' ) );
     315        $this->assertSame( 1, did_action( 'test_action_self_removal' ) );
    316316    }
    317317
     
    333333        do_action( $tag, $tag );
    334334
    335         $this->assertEquals( 2, $a->get_call_count(), 'recursive actions should call all callbacks with earlier priority' );
    336         $this->assertEquals( 2, $b->get_call_count(), 'recursive actions should call callbacks with later priority' );
     335        $this->assertSame( 2, $a->get_call_count(), 'recursive actions should call all callbacks with earlier priority' );
     336        $this->assertSame( 2, $b->get_call_count(), 'recursive actions should call callbacks with later priority' );
    337337    }
    338338
     
    365365        do_action( $tag, $tag, array( $a, $b, $c, $d, $e ) );
    366366
    367         $this->assertEquals( 2, $a->get_call_count(), 'callbacks should run unless otherwise instructed' );
    368         $this->assertEquals( 1, $b->get_call_count(), 'callback removed by same priority callback should still get called' );
    369         $this->assertEquals( 1, $c->get_call_count(), 'callback added by same priority callback should not get called' );
    370         $this->assertEquals( 2, $d->get_call_count(), 'callback added by earlier priority callback should get called' );
    371         $this->assertEquals( 1, $e->get_call_count(), 'callback added by later priority callback should not get called' );
     367        $this->assertSame( 2, $a->get_call_count(), 'callbacks should run unless otherwise instructed' );
     368        $this->assertSame( 1, $b->get_call_count(), 'callback removed by same priority callback should still get called' );
     369        $this->assertSame( 1, $c->get_call_count(), 'callback added by same priority callback should not get called' );
     370        $this->assertSame( 2, $d->get_call_count(), 'callback added by earlier priority callback should get called' );
     371        $this->assertSame( 1, $e->get_call_count(), 'callback added by later priority callback should not get called' );
    372372    }
    373373
     
    436436            ),
    437437        );
    438         $this->assertEquals( 11, has_action( $tag, '__return_null' ) );
     438        $this->assertSame( 11, has_action( $tag, '__return_null' ) );
    439439    }
    440440
     
    449449        $wp_current_filter[] = 'second'; // Let's say a second action was invoked.
    450450
    451         $this->assertEquals( 'second', current_action() );
     451        $this->assertSame( 'second', current_action() );
    452452    }
    453453
     
    499499        add_filter( 'testing', array( $this, 'apply_testing_filter' ) );
    500500        $this->assertTrue( has_action( 'testing' ) );
    501         $this->assertEquals( 10, has_action( 'testing', array( $this, 'apply_testing_filter' ) ) );
     501        $this->assertSame( 10, has_action( 'testing', array( $this, 'apply_testing_filter' ) ) );
    502502
    503503        apply_filters( 'testing', '' );
     
    520520        add_filter( 'testing_nested', array( $this, 'apply_testing_nested_filter' ) );
    521521        $this->assertTrue( has_action( 'testing_nested' ) );
    522         $this->assertEquals( 10, has_action( 'testing_nested', array( $this, 'apply_testing_nested_filter' ) ) );
     522        $this->assertSame( 10, has_action( 'testing_nested', array( $this, 'apply_testing_nested_filter' ) ) );
    523523
    524524        apply_filters( 'testing_nested', '' );
Note: See TracChangeset for help on using the changeset viewer.