bf54ad6054
Add unit test for magic methods. See #27881, #22234. git-svn-id: https://develop.svn.wordpress.org/trunk@28523 602fd350-edb4-49c9-b593-d223f7449a82
73 lines
1.6 KiB
PHP
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 {} |