mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2025-10-16 12:05:38 +00:00
WordPress' code just... wasn't. This is now dealt with. Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS. Fixes #41057. git-svn-id: https://develop.svn.wordpress.org/trunk@42343 602fd350-edb4-49c9-b593-d223f7449a82
43 lines
897 B
PHP
43 lines
897 B
PHP
<?php
|
|
|
|
/**
|
|
* Test do_action() and related functions
|
|
*
|
|
* @group hooks
|
|
*/
|
|
class Tests_Actions_Closures extends WP_UnitTestCase {
|
|
|
|
/**
|
|
* @ticket 10493
|
|
*/
|
|
function test_action_closure() {
|
|
$tag = 'test_action_closure';
|
|
$closure = function( $a, $b ) {
|
|
$GLOBALS[ $a ] = $b;
|
|
};
|
|
add_action( $tag, $closure, 10, 2 );
|
|
|
|
$this->assertSame( 10, has_action( $tag, $closure ) );
|
|
|
|
$context = array( 'val1', 'val2' );
|
|
do_action( $tag, $context[0], $context[1] );
|
|
|
|
$this->assertSame( $GLOBALS[ $context[0] ], $context[1] );
|
|
|
|
$tag2 = 'test_action_closure_2';
|
|
$closure2 = function() {
|
|
$GLOBALS['closure_no_args'] = true;
|
|
};
|
|
add_action( $tag2, $closure2 );
|
|
|
|
$this->assertSame( 10, has_action( $tag2, $closure2 ) );
|
|
|
|
do_action( $tag2 );
|
|
|
|
$this->assertTrue( $GLOBALS['closure_no_args'] );
|
|
|
|
remove_action( $tag, $closure );
|
|
remove_action( $tag2, $closure2 );
|
|
}
|
|
}
|