Make WordPress Core


Ignore:
Timestamp:
07/31/2022 03:03:46 PM (2 years ago)
Author:
SergeyBiryukov
Message:

Tests: Update the terminology used for action or filter names in hook tests.

This replaces the $tag variables with $hook_name, to match the core function signatures.

Follow-up to [24/tests], [62/tests], [866/tests], [1294/tests], [38571], [50807].

See #55652.

File:
1 edited

Legend:

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

    r52389 r53804  
    1212     */
    1313    public function test_simple_action() {
    14         $a   = new MockAction();
    15         $tag = __FUNCTION__;
    16 
    17         add_action( $tag, array( &$a, 'action' ) );
    18         do_action( $tag );
     14        $a         = new MockAction();
     15        $hook_name = __FUNCTION__;
     16
     17        add_action( $hook_name, array( &$a, 'action' ) );
     18        do_action( $hook_name );
    1919
    2020        // Only one event occurred for the hook, with empty args.
    2121        $this->assertSame( 1, $a->get_call_count() );
    2222        // Only our hook was called.
    23         $this->assertSame( array( $tag ), $a->get_tags() );
     23        $this->assertSame( array( $hook_name ), $a->get_tags() );
    2424
    2525        $argsvar = $a->get_args();
     
    3232     */
    3333    public function test_remove_action() {
    34         $a   = new MockAction();
    35         $tag = __FUNCTION__;
    36 
    37         add_action( $tag, array( &$a, 'action' ) );
    38         do_action( $tag );
     34        $a         = new MockAction();
     35        $hook_name = __FUNCTION__;
     36
     37        add_action( $hook_name, array( &$a, 'action' ) );
     38        do_action( $hook_name );
    3939
    4040        // Make sure our hook was called correctly.
    4141        $this->assertSame( 1, $a->get_call_count() );
    42         $this->assertSame( array( $tag ), $a->get_tags() );
     42        $this->assertSame( array( $hook_name ), $a->get_tags() );
    4343
    4444        // Now remove the action, do it again, and make sure it's not called this time.
    45         remove_action( $tag, array( &$a, 'action' ) );
    46         do_action( $tag );
     45        remove_action( $hook_name, array( &$a, 'action' ) );
     46        do_action( $hook_name );
    4747        $this->assertSame( 1, $a->get_call_count() );
    48         $this->assertSame( array( $tag ), $a->get_tags() );
     48        $this->assertSame( array( $hook_name ), $a->get_tags() );
    4949
    5050    }
     
    5454     */
    5555    public function test_has_action() {
    56         $tag  = __FUNCTION__;
    57         $func = __FUNCTION__ . '_func';
    58 
    59         $this->assertFalse( has_action( $tag, $func ) );
    60         $this->assertFalse( has_action( $tag ) );
    61         add_action( $tag, $func );
    62         $this->assertSame( 10, has_action( $tag, $func ) );
    63         $this->assertTrue( has_action( $tag ) );
    64         remove_action( $tag, $func );
    65         $this->assertFalse( has_action( $tag, $func ) );
    66         $this->assertFalse( has_action( $tag ) );
     56        $hook_name = __FUNCTION__;
     57        $callback  = __FUNCTION__ . '_func';
     58
     59        $this->assertFalse( has_action( $hook_name, $callback ) );
     60        $this->assertFalse( has_action( $hook_name ) );
     61
     62        add_action( $hook_name, $callback );
     63        $this->assertSame( 10, has_action( $hook_name, $callback ) );
     64        $this->assertTrue( has_action( $hook_name ) );
     65
     66        remove_action( $hook_name, $callback );
     67        $this->assertFalse( has_action( $hook_name, $callback ) );
     68        $this->assertFalse( has_action( $hook_name ) );
    6769    }
    6870
     
    7375     */
    7476    public function test_multiple_actions() {
    75         $a1  = new MockAction();
    76         $a2  = new MockAction();
    77         $tag = __FUNCTION__;
     77        $a1        = new MockAction();
     78        $a2        = new MockAction();
     79        $hook_name = __FUNCTION__;
    7880
    7981        // Add both actions to the hook.
    80         add_action( $tag, array( &$a1, 'action' ) );
    81         add_action( $tag, array( &$a2, 'action' ) );
    82 
    83         do_action( $tag );
     82        add_action( $hook_name, array( &$a1, 'action' ) );
     83        add_action( $hook_name, array( &$a2, 'action' ) );
     84
     85        do_action( $hook_name );
    8486
    8587        // Both actions called once each.
     
    9496     */
    9597    public function test_action_args_1() {
    96         $a   = new MockAction();
    97         $tag = __FUNCTION__;
    98         $val = __FUNCTION__ . '_val';
    99 
    100         add_action( $tag, array( &$a, 'action' ) );
     98        $a         = new MockAction();
     99        $hook_name = __FUNCTION__;
     100        $val       = __FUNCTION__ . '_val';
     101
     102        add_action( $hook_name, array( &$a, 'action' ) );
    101103        // Call the action with a single argument.
    102         do_action( $tag, $val );
     104        do_action( $hook_name, $val );
    103105
    104106        $call_count = $a->get_call_count();
     
    114116     */
    115117    public function test_action_args_2() {
    116         $a1   = new MockAction();
    117         $a2   = new MockAction();
    118         $tag = __FUNCTION__;
    119         $val1 = __FUNCTION__ . '_val1';
    120         $val2 = __FUNCTION__ . '_val2';
     118        $a1        = new MockAction();
     119        $a2        = new MockAction();
     120        $hook_name = __FUNCTION__;
     121        $val1      = __FUNCTION__ . '_val1';
     122        $val2      = __FUNCTION__ . '_val2';
    121123
    122124        // $a1 accepts two arguments, $a2 doesn't.
    123         add_action( $tag, array( &$a1, 'action' ), 10, 2 );
    124         add_action( $tag, array( &$a2, 'action' ) );
     125        add_action( $hook_name, array( &$a1, 'action' ), 10, 2 );
     126        add_action( $hook_name, array( &$a2, 'action' ) );
    125127        // Call the action with two arguments.
    126         do_action( $tag, $val1, $val2 );
     128        do_action( $hook_name, $val1, $val2 );
    127129
    128130        $call_count = $a1->get_call_count();
     
    148150     */
    149151    public function test_action_args_3() {
    150         $a1   = new MockAction();
    151         $a2   = new MockAction();
    152         $a3   = new MockAction();
    153         $tag = __FUNCTION__;
    154         $val1 = __FUNCTION__ . '_val1';
    155         $val2 = __FUNCTION__ . '_val2';
     152        $a1        = new MockAction();
     153        $a2        = new MockAction();
     154        $a3        = new MockAction();
     155        $hook_name = __FUNCTION__;
     156        $val1      = __FUNCTION__ . '_val1';
     157        $val2      = __FUNCTION__ . '_val2';
    156158
    157159        // $a1 accepts two arguments, $a2 doesn't, $a3 accepts two arguments.
    158         add_action( $tag, array( &$a1, 'action' ), 10, 2 );
    159         add_action( $tag, array( &$a2, 'action' ) );
    160         add_action( $tag, array( &$a3, 'action' ), 10, 2 );
     160        add_action( $hook_name, array( &$a1, 'action' ), 10, 2 );
     161        add_action( $hook_name, array( &$a2, 'action' ) );
     162        add_action( $hook_name, array( &$a3, 'action' ), 10, 2 );
    161163        // Call the action with two arguments.
    162         do_action( $tag, $val1, $val2 );
     164        do_action( $hook_name, $val1, $val2 );
    163165
    164166        $call_count = $a1->get_call_count();
     
    187189     */
    188190    public function test_action_args_with_php4_syntax() {
    189         $a   = new MockAction();
    190         $tag = __FUNCTION__;
    191         $val = new stdClass();
    192 
    193         add_action( $tag, array( &$a, 'action' ) );
     191        $a         = new MockAction();
     192        $hook_name = __FUNCTION__;
     193        $val       = new stdClass();
     194
     195        add_action( $hook_name, array( &$a, 'action' ) );
    194196        // Call the action with PHP 4 notation for passing object by reference.
    195         do_action( $tag, array( &$val ) );
     197        do_action( $hook_name, array( &$val ) );
    196198
    197199        $call_count = $a->get_call_count();
     
    201203
    202204    public function test_action_priority() {
    203         $a   = new MockAction();
    204         $tag = __FUNCTION__;
    205 
    206         add_action( $tag, array( &$a, 'action' ), 10 );
    207         add_action( $tag, array( &$a, 'action2' ), 9 );
    208         do_action( $tag );
     205        $a         = new MockAction();
     206        $hook_name = __FUNCTION__;
     207
     208        add_action( $hook_name, array( &$a, 'action' ), 10 );
     209        add_action( $hook_name, array( &$a, 'action2' ), 9 );
     210        do_action( $hook_name );
    209211
    210212        // Two events, one per action.
     
    215217            array(
    216218                'action' => 'action2',
    217                 'tag'    => $tag,
     219                'tag'    => $hook_name,
    218220                'args'   => array( '' ),
    219221            ),
     
    221223            array(
    222224                'action' => 'action',
    223                 'tag'    => $tag,
     225                'tag'    => $hook_name,
    224226                'args'   => array( '' ),
    225227            ),
     
    233235     */
    234236    public function test_did_action() {
    235         $tag1 = 'action1';
    236         $tag2 = 'action2';
    237 
    238         // Do action $tag1 but not $tag2.
    239         do_action( $tag1 );
    240         $this->assertSame( 1, did_action( $tag1 ) );
    241         $this->assertSame( 0, did_action( $tag2 ) );
    242 
    243         // Do action $tag2 10 times.
     237        $hook_name1 = 'action1';
     238        $hook_name2 = 'action2';
     239
     240        // Do action $hook_name1 but not $hook_name2.
     241        do_action( $hook_name1 );
     242        $this->assertSame( 1, did_action( $hook_name1 ) );
     243        $this->assertSame( 0, did_action( $hook_name2 ) );
     244
     245        // Do action $hook_name2 10 times.
    244246        $count = 10;
    245247        for ( $i = 0; $i < $count; $i++ ) {
    246             do_action( $tag2 );
     248            do_action( $hook_name2 );
    247249        }
    248250
    249         // $tag1's count hasn't changed, $tag2 should be correct.
    250         $this->assertSame( 1, did_action( $tag1 ) );
    251         $this->assertSame( $count, did_action( $tag2 ) );
     251        // $hook_name1's count hasn't changed, $hook_name2 should be correct.
     252        $this->assertSame( 1, did_action( $hook_name1 ) );
     253        $this->assertSame( $count, did_action( $hook_name2 ) );
    252254
    253255    }
     
    257259     */
    258260    public function test_all_action() {
    259         $a    = new MockAction();
    260         $tag1 = __FUNCTION__ . '_1';
    261         $tag2 = __FUNCTION__ . '_2';
     261        $a          = new MockAction();
     262        $hook_name1 = __FUNCTION__ . '_1';
     263        $hook_name2 = __FUNCTION__ . '_2';
    262264
    263265        // Add an 'all' action.
     
    265267        $this->assertSame( 10, has_filter( 'all', array( &$a, 'action' ) ) );
    266268        // Do some actions.
    267         do_action( $tag1 );
    268         do_action( $tag2 );
    269         do_action( $tag1 );
    270         do_action( $tag1 );
     269        do_action( $hook_name1 );
     270        do_action( $hook_name2 );
     271        do_action( $hook_name1 );
     272        do_action( $hook_name1 );
    271273
    272274        // Our action should have been called once for each tag.
    273275        $this->assertSame( 4, $a->get_call_count() );
    274276        // Only our hook was called.
    275         $this->assertSame( array( $tag1, $tag2, $tag1, $tag1 ), $a->get_tags() );
     277        $this->assertSame( array( $hook_name1, $hook_name2, $hook_name1, $hook_name1 ), $a->get_tags() );
    276278
    277279        remove_action( 'all', array( &$a, 'action' ) );
     
    284286     */
    285287    public function test_remove_all_action() {
    286         $a   = new MockAction();
    287         $tag = __FUNCTION__;
     288        $a         = new MockAction();
     289        $hook_name = __FUNCTION__;
    288290
    289291        add_action( 'all', array( &$a, 'action' ) );
    290292        $this->assertSame( 10, has_filter( 'all', array( &$a, 'action' ) ) );
    291         do_action( $tag );
     293        do_action( $hook_name );
    292294
    293295        // Make sure our hook was called correctly.
    294296        $this->assertSame( 1, $a->get_call_count() );
    295         $this->assertSame( array( $tag ), $a->get_tags() );
     297        $this->assertSame( array( $hook_name ), $a->get_tags() );
    296298
    297299        // Now remove the action, do it again, and make sure it's not called this time.
    298300        remove_action( 'all', array( &$a, 'action' ) );
    299301        $this->assertFalse( has_filter( 'all', array( &$a, 'action' ) ) );
    300         do_action( $tag );
     302        do_action( $hook_name );
    301303        $this->assertSame( 1, $a->get_call_count() );
    302         $this->assertSame( array( $tag ), $a->get_tags() );
     304        $this->assertSame( array( $hook_name ), $a->get_tags() );
    303305    }
    304306
     
    307309     */
    308310    public function test_action_ref_array() {
    309         $obj = new stdClass();
    310         $a   = new MockAction();
    311         $tag = __FUNCTION__;
    312 
    313         add_action( $tag, array( &$a, 'action' ) );
    314 
    315         do_action_ref_array( $tag, array( &$obj ) );
     311        $obj       = new stdClass();
     312        $a         = new MockAction();
     313        $hook_name = __FUNCTION__;
     314
     315        add_action( $hook_name, array( &$a, 'action' ) );
     316
     317        do_action_ref_array( $hook_name, array( &$obj ) );
    316318
    317319        $args = $a->get_args();
     
    330332        $a = new MockAction();
    331333
    332         $tag = __FUNCTION__;
    333 
    334         add_action( $tag, array( &$a, 'action' ) );
     334        $hook_name = __FUNCTION__;
     335
     336        add_action( $hook_name, array( &$a, 'action' ) );
    335337
    336338        $context = array( 'key1' => 'val1' );
    337         do_action( $tag, $context );
     339        do_action( $hook_name, $context );
    338340
    339341        $args = $a->get_args();
     
    344346            'key3' => 'val3',
    345347        );
    346         do_action( $tag, $context2 );
     348        do_action( $hook_name, $context2 );
    347349
    348350        $args = $a->get_args();
     
    370372     */
    371373    public function test_action_recursion() {
    372         $tag = __FUNCTION__;
    373         $a   = new MockAction();
    374         $b   = new MockAction();
    375 
    376         add_action( $tag, array( $a, 'action' ), 11, 1 );
    377         add_action( $tag, array( $b, 'action' ), 13, 1 );
    378         add_action( $tag, array( $this, 'action_that_causes_recursion' ), 12, 1 );
    379         do_action( $tag, $tag );
     374        $hook_name = __FUNCTION__;
     375        $a         = new MockAction();
     376        $b         = new MockAction();
     377
     378        add_action( $hook_name, array( $a, 'action' ), 11, 1 );
     379        add_action( $hook_name, array( $b, 'action' ), 13, 1 );
     380        add_action( $hook_name, array( $this, 'action_that_causes_recursion' ), 12, 1 );
     381        do_action( $hook_name, $hook_name );
    380382
    381383        $this->assertSame( 2, $a->get_call_count(), 'recursive actions should call all callbacks with earlier priority' );
     
    386388     * @covers ::do_action
    387389     */
    388     public function action_that_causes_recursion( $tag ) {
     390    public function action_that_causes_recursion( $hook_name ) {
    389391        static $recursing = false;
    390392        if ( ! $recursing ) {
    391393            $recursing = true;
    392             do_action( $tag, $tag );
     394            do_action( $hook_name, $hook_name );
    393395        }
    394396        $recursing = false;
     
    403405     */
    404406    public function test_action_callback_manipulation_while_running() {
    405         $tag = __FUNCTION__;
    406         $a   = new MockAction();
    407         $b   = new MockAction();
    408         $c   = new MockAction();
    409         $d   = new MockAction();
    410         $e   = new MockAction();
    411 
    412         add_action( $tag, array( $a, 'action' ), 11, 2 );
    413         add_action( $tag, array( $this, 'action_that_manipulates_a_running_hook' ), 12, 2 );
    414         add_action( $tag, array( $b, 'action' ), 12, 2 );
    415 
    416         do_action( $tag, $tag, array( $a, $b, $c, $d, $e ) );
    417         do_action( $tag, $tag, array( $a, $b, $c, $d, $e ) );
     407        $hook_name = __FUNCTION__;
     408        $a         = new MockAction();
     409        $b         = new MockAction();
     410        $c         = new MockAction();
     411        $d         = new MockAction();
     412        $e         = new MockAction();
     413
     414        add_action( $hook_name, array( $a, 'action' ), 11, 2 );
     415        add_action( $hook_name, array( $this, 'action_that_manipulates_a_running_hook' ), 12, 2 );
     416        add_action( $hook_name, array( $b, 'action' ), 12, 2 );
     417
     418        do_action( $hook_name, $hook_name, array( $a, $b, $c, $d, $e ) );
     419        do_action( $hook_name, $hook_name, array( $a, $b, $c, $d, $e ) );
    418420
    419421        $this->assertSame( 2, $a->get_call_count(), 'callbacks should run unless otherwise instructed' );
     
    424426    }
    425427
    426     public function action_that_manipulates_a_running_hook( $tag, $mocks ) {
    427         remove_action( $tag, array( $mocks[1], 'action' ), 12, 2 );
    428         add_action( $tag, array( $mocks[2], 'action' ), 12, 2 );
    429         add_action( $tag, array( $mocks[3], 'action' ), 13, 2 );
    430         add_action( $tag, array( $mocks[4], 'action' ), 10, 2 );
     428    public function action_that_manipulates_a_running_hook( $hook_name, $mocks ) {
     429        remove_action( $hook_name, array( $mocks[1], 'action' ), 12, 2 );
     430        add_action( $hook_name, array( $mocks[2], 'action' ), 12, 2 );
     431        add_action( $hook_name, array( $mocks[3], 'action' ), 13, 2 );
     432        add_action( $hook_name, array( $mocks[4], 'action' ), 10, 2 );
    431433    }
    432434
     
    440442     */
    441443    public function test_remove_anonymous_callback() {
    442         $tag = __FUNCTION__;
    443         $a   = new MockAction();
    444         add_action( $tag, array( $a, 'action' ), 12, 1 );
    445         $this->assertTrue( has_action( $tag ) );
    446 
    447         $hook = $GLOBALS['wp_filter'][ $tag ];
     444        $hook_name = __FUNCTION__;
     445        $a         = new MockAction();
     446        add_action( $hook_name, array( $a, 'action' ), 12, 1 );
     447        $this->assertTrue( has_action( $hook_name ) );
     448
     449        $hook = $GLOBALS['wp_filter'][ $hook_name ];
    448450
    449451        // From http://wordpress.stackexchange.com/a/57088/6445
     
    455457                ) {
    456458                    remove_filter(
    457                         $tag,
     459                        $hook_name,
    458460                        array( $function['function'][0], 'action' ),
    459461                        $priority
     
    463465        }
    464466
    465         $this->assertFalse( has_action( $tag ) );
     467        $this->assertFalse( has_action( $hook_name ) );
    466468    }
    467469
     
    478480    public function test_array_access_of_wp_filter_global() {
    479481        global $wp_filter;
    480         $tag = __FUNCTION__;
    481 
    482         add_action( $tag, '__return_null', 11, 1 );
    483 
    484         $this->assertArrayHasKey( 11, $wp_filter[ $tag ] );
    485         $this->assertArrayHasKey( '__return_null', $wp_filter[ $tag ][11] );
    486 
    487         unset( $wp_filter[ $tag ][11] );
    488         $this->assertFalse( has_action( $tag, '__return_null' ) );
    489 
    490         $wp_filter[ $tag ][11] = array(
     482
     483        $hook_name = __FUNCTION__;
     484
     485        add_action( $hook_name, '__return_null', 11, 1 );
     486
     487        $this->assertArrayHasKey( 11, $wp_filter[ $hook_name ] );
     488        $this->assertArrayHasKey( '__return_null', $wp_filter[ $hook_name ][11] );
     489
     490        unset( $wp_filter[ $hook_name ][11] );
     491        $this->assertFalse( has_action( $hook_name, '__return_null' ) );
     492
     493        $wp_filter[ $hook_name ][11] = array(
    491494            '__return_null' => array(
    492495                'function'      => '__return_null',
     
    494497            ),
    495498        );
    496         $this->assertSame( 11, has_action( $tag, '__return_null' ) );
     499        $this->assertSame( 11, has_action( $hook_name, '__return_null' ) );
    497500    }
    498501
     
    506509    public function test_current_action() {
    507510        global $wp_current_filter;
     511
    508512        $wp_current_filter[] = 'first';
    509513        $wp_current_filter[] = 'second'; // Let's say a second action was invoked.
     
    519523    public function test_doing_filter() {
    520524        global $wp_current_filter;
     525
    521526        $wp_current_filter = array(); // Set to an empty array first.
    522527
     
    540545    public function test_doing_action() {
    541546        global $wp_current_filter;
     547
    542548        $wp_current_filter = array(); // Set to an empty array first.
    543549
Note: See TracChangeset for help on using the changeset viewer.