All pastes #317405 Raw Copy code Copy link Edit

Untitled

public text v1 · immutable
#317405 ·published 2007-01-15 16:30 UTC
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);  
    
?>