/**
  * Test for proper handling of the length property
  **/
 public function testArrayLengthEmulation()
 {
     $data = array("numbers" => array(1, 2, 3, 4), "object" => (object) array("prop1" => "val1", "prop2" => "val2"), "object_with_length_property" => (object) array("length" => "15cm"));
     $context = new \Handlebars\Context($data);
     // make sure we are getting the array length when given an array
     $this->assertEquals($context->get("numbers.length"), 4);
     // make sure we are not getting a length when given an object
     $this->assertEmpty($context->get("object.length"));
     // make sure we can still get the length property when given an object
     $this->assertEquals($context->get("object_with_length_property.length"), "15cm");
 }
 /**
  * @expectedException \InvalidArgumentException
  * @dataProvider getInvalidData
  */
 public function testInvalidAccessContext($invalid)
 {
     $context = new \Handlebars\Context(array());
     $this->assertEmpty($context->get($invalid));
     $context->get($invalid, true);
 }