rendered paste body<?php
function print_assert_callback($x) {
if (is_string($x)) {
echo " Function \"$x\" ";
} else if (is_array($x)) {
if (is_string($x[0])) {
echo "Class \"$x[0]\"";
} else {
echo "Instance of class \"" . get_class($x[0]). "\"";
}
echo " Method \"$x[1]\"";
} else {
echo "Unexpected type";
}
}
function aaaa()
{
echo "aaaa called\n";
}
function bbbb()
{
echo "bbbb called\n";
}
class foo
{
function cccc()
{
echo "method cccc of class foo called\n";
}
}
$test = 0;
$o = assert_options(ASSERT_CALLBACK, "aaaa");
$n = assert_options(ASSERT_CALLBACK);
echo "old setting is ";
print_assert_callback($o);
echo " new setting is ";
print_assert_callback($n);
echo "\n";
assert($test == 1);
$o = assert_options(ASSERT_CALLBACK, "bbbb");
$n = assert_options(ASSERT_CALLBACK);
echo "old setting is ";
print_assert_callback($o);
echo " new setting is ";
print_assert_callback($n);
echo "\n";
assert($test == 2) ;
$newcb = array("foo","cccc");
$o = assert_options(ASSERT_CALLBACK,$newcb);
$n = assert_options(ASSERT_CALLBACK);
echo "old setting is ";
print_assert_callback($o);
echo " new setting is ";
print_assert_callback($n);
echo "\n";
assert($test == 3);
$obj = new foo();
$o = assert_options(ASSERT_CALLBACK,array(&$obj,"cccc"));
$n = assert_options(ASSERT_CALLBACK);
echo "old setting is ";
print_assert_callback($o);
echo " new setting is ";
print_assert_callback($n);
echo "\n";
assert($test == 4);
?>