Skip to content
This repository has been archived by the owner on Jan 31, 2020. It is now read-only.

Commit

Permalink
Merge branch 'feature/4969' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
weierophinney committed Aug 19, 2013
152 parents 28be59d + 76c4d1c + c60cca9 + b621b46 + 5739737 + 755065d + 1b9fd60 + 8a8b989 + 10da323 + e6aba5a + b71d0a2 + 2aa926c + 8405746 + bf1a8de + f16339d + ed1dbc8 + dbf56da + bdb277e + 364ced3 + 9fccdf3 + 40f5963 + 9d7ddea + e1e4aa8 + 870703b + 958decf + e49a08e + a051e7e + b9f6e35 + 2bbef72 + aea30ce + faec0a2 + 098e166 + 51d6372 + 8757ace + 42477b6 + 32cf329 + 0ebadc5 + 188fa4d + a41bbf0 + a29bbbc + 941280d + d691226 + e547023 + d91c234 + 006ef75 + 69d1518 + 7dc0d1a + a995715 + e780008 + e810876 + 9e4090a + 269bf01 + 3a1f2fd + 0cab32d + 704cc7f + e20c9e6 + a0dfc1a + 76b3e1c + fd429e8 + 187ea79 + 2b43ea6 + e3b1be1 + 19f0ef6 + 33bf9c0 + 3729984 + a5ce396 + 698dbe0 + 0efca0b + 08b2a78 + ddaa846 + 7fe4493 + 0da7331 + 7226b1d + 851904c + a2eb795 + f658a03 + de83270 + 806df8a + 4e7ff23 + 409b768 + 1b97191 + d2649e3 + f0162d1 + 6f01416 + a2b3753 + 1786961 + d157fcb + 4444c37 + 192d20c + 811122b + 3a2cf9b + eb2029b + 7a6edab + 8d8a05d + c1ddf21 + 0090b4d + ef80e35 + 59b30de + 4656098 + 377b920 + ccba82c + 5d2770e + 41714a1 + 8adef43 + a78628f + b35fa7a + 3953c79 + aa28e42 + 38f9a49 + 47ed633 + 0a6bf6e + b61d89d + a1fbb6f + 238512b + f40a328 + 62dc143 + 328df3b + e12fe2d + e34a942 + 04e956d + a19a8c2 + ac4b6c0 + d28282e + bd5af3d + b976cb5 + 4feb67b + 7164be7 + 40174df + e4918ae + 1d9f9a2 + c77ae57 + 223b881 + c2f4e25 + e08b166 + e58e548 + 85e6bbd + 0ac2052 + c7ba6af + f443c57 + 1380626 + 5316b6e + a6136d4 + d233be3 + c100a2a + c6a0e2c + e7eef3c + 812f35d + 604cdcd + 5472285 + 6e2f420 + 83cbc8a + 5f5bcc5 commit f2a1815
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/Helper/PartialLoop.php
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public function __invoke($name = null, $values = null)

if (!is_array($values)) {
if ($values instanceof Traversable) {
$values = ArrayUtils::iteratorToArray($values);
$values = ArrayUtils::iteratorToArray($values, false);
} elseif (is_object($values) && method_exists($values, 'toArray')) {
$values = $values->toArray();
} else {
Expand Down
24 changes: 24 additions & 0 deletions test/Helper/PartialLoopTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,30 @@ public function testPartialLoopPartialCounterResets()
$this->helper->__invoke('partialLoopCouter.phtml', $data);
$this->assertEquals(4, $this->helper->getPartialCounter());
}

public function testShouldNotConvertToArrayRecursivelyIfModelIsTraversable()
{
$rIterator = new RecursiveIteratorTest();
for ($i = 0; $i < 5; ++$i) {
$data = array(
'message' => 'foo' . $i,
);
$rIterator->addItem(new IteratorTest($data));
}

$view = new View();
$view->resolver()->addPath($this->basePath . '/application/views/scripts');
$this->helper->setView($view);
$this->helper->setObjectKey('obj');

$result = $this->helper->__invoke('partialLoopShouldNotConvertToArrayRecursively.phtml', $rIterator);

foreach ($rIterator as $item) {
foreach ($item as $key => $value) {
$this->assertContains('This is an iteration: ' . $value, $result, var_export($value, 1));
}
}
}
}

class IteratorTest implements Iterator
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?php if (!isset($this->obj)): ?>
No object model passed
<?php else:
echo 'This is an iteration: ' . $this->obj->current() . "\n";
endif;

0 comments on commit f2a1815

Please sign in to comment.