Wordpress/tests/phpunit/includes/functions.php
2014-05-19 06:48:56 +00:00

73 lines
1.6 KiB
PHP

<?php
// For adding hooks before loading WP
function tests_add_filter($tag, $function_to_add, $priority = 10, $accepted_args = 1) {
global $wp_filter, $merged_filters;
$idx = _test_filter_build_unique_id($tag, $function_to_add, $priority);
$wp_filter[$tag][$priority][$idx] = array('function' => $function_to_add, 'accepted_args' => $accepted_args);
unset( $merged_filters[ $tag ] );
return true;
}
function _test_filter_build_unique_id($tag, $function, $priority) {
global $wp_filter;
static $filter_id_count = 0;
if ( is_string($function) )
return $function;
if ( is_object($function) ) {
// Closures are currently implemented as objects
$function = array( $function, '' );
} else {
$function = (array) $function;
}
if (is_object($function[0]) ) {
return spl_object_hash($function[0]) . $function[1];
} else if ( is_string($function[0]) ) {
// Static Calling
return $function[0].$function[1];
}
}
function _delete_all_posts() {
global $wpdb;
$all_posts = $wpdb->get_col("SELECT ID from {$wpdb->posts}");
if ($all_posts) {
foreach ($all_posts as $id)
wp_delete_post( $id, true );
}
}
class Basic_Object {
private $foo = 'bar';
public function __get( $name ) {
return $this->$name;
}
public function __set( $name, $value ) {
return $this->$name = $value;
}
public function __isset( $name ) {
return isset( $this->$name );
}
public function __unset( $name ) {
unset( $this->$name );
}
public function __call( $name, $arguments ) {
return call_user_func_array( array( $this, $name ), $arguments );
}
private function callMe() {
return 'maybe';
}
}
class Basic_Subclass extends Basic_Object {}