Merge branch 'rebase' into feature/test-coverage
This commit is contained in:
+1
-1
@@ -597,7 +597,7 @@ class Mustache {
|
||||
* @return bool
|
||||
*/
|
||||
protected function _varIsIterable($var) {
|
||||
return is_object($var) || (is_array($var) && !array_diff_key($var, array_keys(array_keys($var))));
|
||||
return $var instanceof Traversable || (is_array($var) && !array_diff_key($var, array_keys(array_keys($var))));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
class Sections_Iterable_Object extends Mustache {
|
||||
public $start = "It worked the first time.";
|
||||
|
||||
public function middle() {
|
||||
return new Iterable_Object;
|
||||
}
|
||||
|
||||
public $final = "Then, surprisingly, it worked the final time.";
|
||||
}
|
||||
|
||||
class Iterable_Object
|
||||
{
|
||||
public $foo = 'And it worked the second time.';
|
||||
public $bar = 'As well as the third.';
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
* {{ start }}
|
||||
{{# middle }}
|
||||
* {{ foo }}
|
||||
* {{ bar }}
|
||||
{{/ middle }}
|
||||
* {{ final }}
|
||||
@@ -0,0 +1,4 @@
|
||||
* It worked the first time.
|
||||
* And it worked the second time.
|
||||
* As well as the third.
|
||||
* Then, surprisingly, it worked the final time.
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
class Sections_Iterator_Object extends Mustache {
|
||||
public $start = "It worked the first time.";
|
||||
|
||||
public function middle() {
|
||||
return new Iterator_Object;
|
||||
}
|
||||
|
||||
public $final = "Then, surprisingly, it worked the final time.";
|
||||
}
|
||||
|
||||
class Iterator_Object implements Iterator
|
||||
{
|
||||
protected $_position = 0;
|
||||
|
||||
protected $_data = array(
|
||||
array('item' => 'And it worked the second time.'),
|
||||
array('item' => 'As well as the third.'),
|
||||
);
|
||||
|
||||
public function rewind() {
|
||||
$this->_position = 0;
|
||||
}
|
||||
|
||||
public function current() {
|
||||
return $this->_data[$this->_position];
|
||||
}
|
||||
|
||||
public function key() {
|
||||
return $this->_position;
|
||||
}
|
||||
|
||||
public function next() {
|
||||
++$this->_position;
|
||||
}
|
||||
|
||||
public function valid() {
|
||||
return isset($this->_data[$this->_position]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
* {{ start }}
|
||||
{{# middle }}
|
||||
* {{ item }}
|
||||
{{/ middle }}
|
||||
* {{ final }}
|
||||
@@ -0,0 +1,4 @@
|
||||
* It worked the first time.
|
||||
* And it worked the second time.
|
||||
* As well as the third.
|
||||
* Then, surprisingly, it worked the final time.
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
class Sections_NonIterable_Object extends Mustache {
|
||||
public $start = "It worked the first time.";
|
||||
|
||||
public function middle() {
|
||||
return new Non_Iterable_Object;
|
||||
}
|
||||
|
||||
public $final = "Then, surprisingly, it worked the final time.";
|
||||
}
|
||||
|
||||
class Non_Iterable_Object
|
||||
{
|
||||
protected $_data = array(
|
||||
'foo' => 'And it worked the second time.',
|
||||
'bar' => 'As well as the third.'
|
||||
);
|
||||
|
||||
public function __get($key)
|
||||
{
|
||||
return isset($this->_data[$key]) ? $this->_data[$key] : NULL;
|
||||
}
|
||||
|
||||
public function __isset($key)
|
||||
{
|
||||
return isset($this->_data[$key]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
* {{ start }}
|
||||
{{# middle }}
|
||||
* {{ foo }}
|
||||
* {{ bar }}
|
||||
{{/ middle }}
|
||||
* {{ final }}
|
||||
@@ -0,0 +1,4 @@
|
||||
* It worked the first time.
|
||||
* And it worked the second time.
|
||||
* As well as the third.
|
||||
* Then, surprisingly, it worked the final time.
|
||||
Reference in New Issue
Block a user