empty = array(); $this->object = new JSObject(); $this->array_like = new JSObject(array('foo' => 'bar')); } function tearDown() { } function testCreation() { // Empty is not array like $this->assertFalse(is_like_array($this->empty)); // Empty object is array like - because objects are truthy $this->assertTrue(is_like_array($this->object)); } } class miniMVCTest extends UnitTestCase { function __construct() { parent::__construct('miniMVC Class Tests'); } function setUp() { $this->mm = new miniMVC(); } function tearDown() { unset($this->mm); } function testCreation() { // miniMVC::get_instance returns reference to latest miniMVC object $this->assertReference($this->mm, miniMVC::get_instance()); // Expect an error trying to clone the miniMVC object $this->expectError("Clone is not allowed."); $mm2 = clone $this->mm; // miniMVC extends JSObject, right? $this->assertIsA($this->mm, 'JSObject'); } } class JSObjectTest extends UnitTestCase { function __construct() { parent::__construct('JSObject Class Tests'); } function setUp() { $this->JSO = new JSObject(array( 'foo' => 54, 'bar' => 'baz', )); } function tearDown() { unset($this->JSO); } function testCreation() { // __toString produces same output as print_r by default $this->assertIdentical($this->JSO->__toString(), '
'.print_r($this->JSO, TRUE).''); } }