Files
wordpress-develop/tests/phpunit/tests/actions/closures.php
John Blackbourn b4f01bb97f Build/Test Tools: Continue eliminating randomness in tests.
See [38762]
See #37371


git-svn-id: https://develop.svn.wordpress.org/trunk@38763 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-09 01:29:04 +00:00

39 lines
855 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 );
}
}