wordpress-develop/tests/phpunit/tests/hooks/preinit_hooks.php
John Blackbourn c91be6f1fe Build/Test Tools: Begin eliminating unnecessary randomness in tests.
Although unlikely, clashes in randomly generated strings could cause unexpected failures. In addition, most randomness is entirely unnecessary, is bad practice, and increases test time (however small it may be).

See #37371


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

40 lines
900 B
PHP
Executable File

<?php
/**
* Test the IteratorAggregate implementation of WP_Hook
*
* @group hooks
*/
class Tests_WP_Hook_Preinit_Hooks extends WP_UnitTestCase {
public function test_array_to_hooks() {
$tag1 = __FUNCTION__ . '_1';
$priority1 = rand( 1, 100 );
$tag2 = __FUNCTION__ . '_2';
$priority2 = rand( 1, 100 );
$filters = array(
$tag1 => array(
$priority1 => array(
'test1' => array(
'function' => '__return_false',
'accepted_args' => 2,
),
),
),
$tag2 => array(
$priority2 => array(
'test1' => array(
'function' => '__return_null',
'accepted_args' => 1,
),
),
),
);
$hooks = WP_Hook::build_preinitialized_hooks( $filters );
$this->assertEquals( $priority1, $hooks[ $tag1 ]->has_filter( $tag1, '__return_false' ) );
$this->assertEquals( $priority2, $hooks[ $tag2 ]->has_filter( $tag2, '__return_null' ) );
}
}