diff --git a/src/sys/miniMVC.php b/src/sys/miniMVC.php index 6dd971f..ca2fdcc 100644 --- a/src/sys/miniMVC.php +++ b/src/sys/miniMVC.php @@ -77,8 +77,7 @@ class JSObject extends Object{ $method = ( ! empty($args)) ? $args[0] : "print_r"; $data = (isset($args[1])) ? $args[1] : array(); - // 32762 == (E_ALL|E_NOTICE|E_STRICT) & ~(E_ERROR | E_PARSE) - if(ini_get('error_reporting') == 32762 && empty($data)) + if(empty($data)) { $data =& $this; } diff --git a/tests/miniMVCTest.php b/tests/miniMVCTest.php index ac323b5..19fc69c 100644 --- a/tests/miniMVCTest.php +++ b/tests/miniMVCTest.php @@ -1,9 +1,96 @@ 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 JSObjectTest extends PHPUnit_Framework_TestCase { +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).'
'); + } } \ No newline at end of file