Merge branch 'rebase' into feature/test-coverage
This commit is contained in:
+1
-1
@@ -597,7 +597,7 @@ class Mustache {
|
|||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
protected function _varIsIterable($var) {
|
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