diff --git a/Nette/Latte/Macros/CoreMacros.php b/Nette/Latte/Macros/CoreMacros.php
index 51ab61f9d5..90af9149d1 100644
--- a/Nette/Latte/Macros/CoreMacros.php
+++ b/Nette/Latte/Macros/CoreMacros.php
@@ -253,7 +253,7 @@ public function macroCaptureEnd(MacroNode $node, PhpWriter $writer)
public function macroEndForeach(MacroNode $node, PhpWriter $writer)
{
if ($node->modifiers !== '|noiterator' && preg_match('#\W(\$iterator|include|require|get_defined_vars)\W#', $this->getCompiler()->expandTokens($node->content))) {
- $node->openingCode = 'its[] = new Nette\Iterators\CachingIterator('
+ $node->openingCode = 'its[] = new Nette\Latte\Runtime\CachingIterator('
. preg_replace('#(.*)\s+as\s+#i', '$1) as ', $writer->formatArgs(), 1) . ') { ?>';
$node->closingCode = 'its); $iterator = end($_l->its) ?>';
} else {
diff --git a/Nette/Iterators/CachingIterator.php b/Nette/Latte/Runtime/CachingIterator.php
similarity index 99%
rename from Nette/Iterators/CachingIterator.php
rename to Nette/Latte/Runtime/CachingIterator.php
index 75e933b485..8687c3bc75 100644
--- a/Nette/Iterators/CachingIterator.php
+++ b/Nette/Latte/Runtime/CachingIterator.php
@@ -5,7 +5,7 @@
* Copyright (c) 2004 David Grudl (http://davidgrudl.com)
*/
-namespace Nette\Iterators;
+namespace Nette\Latte\Runtime;
use Nette;
diff --git a/Nette/Loaders/NetteLoader.php b/Nette/Loaders/NetteLoader.php
index 7da3ca1e94..b62152da12 100644
--- a/Nette/Loaders/NetteLoader.php
+++ b/Nette/Loaders/NetteLoader.php
@@ -33,6 +33,7 @@ class NetteLoader
'Nette\Utils\PhpGenerator\Parameter' => 'Nette\PhpGenerator\Parameter',
'Nette\Utils\PhpGenerator\PhpLiteral' => 'Nette\PhpGenerator\PhpLiteral',
'Nette\Utils\PhpGenerator\Property' => 'Nette\PhpGenerator\Property',
+ 'Nette\Iterators\CachingIterator' => 'Nette\Latte\Runtime\CachingIterator',
);
/** @var array */
diff --git a/tests/Nette/Iterators/CachingIterator.basic.phpt b/tests/Nette/Latte/CachingIterator.basic.phpt
similarity index 87%
rename from tests/Nette/Iterators/CachingIterator.basic.phpt
rename to tests/Nette/Latte/CachingIterator.basic.phpt
index 7a7e57c66f..451010e8bd 100644
--- a/tests/Nette/Iterators/CachingIterator.basic.phpt
+++ b/tests/Nette/Latte/CachingIterator.basic.phpt
@@ -1,12 +1,12 @@
Two items in array
$arr = array('Nette', 'Framework');
- $iterator = new Iterators\CachingIterator($arr);
+ $iterator = new CachingIterator($arr);
$iterator->rewind();
Assert::true( $iterator->valid() );
Assert::true( $iterator->isFirst() );
@@ -44,7 +44,7 @@ test(function() { // ==> Two items in array
test(function() {
$arr = array('Nette');
- $iterator = new Iterators\CachingIterator($arr);
+ $iterator = new CachingIterator($arr);
$iterator->rewind();
Assert::true( $iterator->valid() );
Assert::true( $iterator->isFirst() );
@@ -65,7 +65,7 @@ test(function() {
test(function() {
$arr = array();
- $iterator = new Iterators\CachingIterator($arr);
+ $iterator = new CachingIterator($arr);
$iterator->next();
$iterator->next();
Assert::false( $iterator->isFirst() );
diff --git a/tests/Nette/Iterators/CachingIterator.construct.phpt b/tests/Nette/Latte/CachingIterator.construct.phpt
similarity index 67%
rename from tests/Nette/Iterators/CachingIterator.construct.phpt
rename to tests/Nette/Latte/CachingIterator.construct.phpt
index fe767a14f0..4deda28232 100644
--- a/tests/Nette/Iterators/CachingIterator.construct.phpt
+++ b/tests/Nette/Latte/CachingIterator.construct.phpt
@@ -1,12 +1,12 @@
array
$arr = array('Nette', 'Framework');
$tmp = array();
- foreach (new Iterators\CachingIterator($arr) as $k => $v) $tmp[] = "$k => $v";
+ foreach (new CachingIterator($arr) as $k => $v) $tmp[] = "$k => $v";
Assert::same( array(
'0 => Nette',
'1 => Framework',
@@ -27,7 +27,7 @@ test(function() { // ==> array
test(function() { // ==> stdClass
$arr = (object) array('Nette', 'Framework');
$tmp = array();
- foreach (new Iterators\CachingIterator($arr) as $k => $v) $tmp[] = "$k => $v";
+ foreach (new CachingIterator($arr) as $k => $v) $tmp[] = "$k => $v";
Assert::same( array(
'0 => Nette',
'1 => Framework',
@@ -38,7 +38,7 @@ test(function() { // ==> stdClass
test(function() { // ==> IteratorAggregate
$arr = new ArrayObject(array('Nette', 'Framework'));
$tmp = array();
- foreach (new Iterators\CachingIterator($arr) as $k => $v) $tmp[] = "$k => $v";
+ foreach (new CachingIterator($arr) as $k => $v) $tmp[] = "$k => $v";
Assert::same( array(
'0 => Nette',
'1 => Framework',
@@ -49,7 +49,7 @@ test(function() { // ==> IteratorAggregate
test(function() { // ==> Iterator
$arr = new ArrayObject(array('Nette', 'Framework'));
$tmp = array();
- foreach (new Iterators\CachingIterator($arr->getIterator()) as $k => $v) $tmp[] = "$k => $v";
+ foreach (new CachingIterator($arr->getIterator()) as $k => $v) $tmp[] = "$k => $v";
Assert::same( array(
'0 => Nette',
'1 => Framework',
@@ -60,7 +60,7 @@ test(function() { // ==> Iterator
test(function() { // ==> SimpleXMLElement
$arr = new SimpleXMLElement('
tmp = array_filter(array($iterator->even ? 'even' : NULL))) echo ' class="' . htmlSpecialChars(implode(" ", array_unique($_l->tmp))) . '"' ?> >
its); $iterator = end($_l->its) ?> diff --git a/tests/Nette/Latte/expected/macros.general.xhtml.menu.phtml b/tests/Nette/Latte/expected/macros.general.xhtml.menu.phtml index c7e300d941..256817af7a 100644 --- a/tests/Nette/Latte/expected/macros.general.xhtml.menu.phtml +++ b/tests/Nette/Latte/expected/macros.general.xhtml.menu.phtml @@ -12,7 +12,7 @@ if (%A%} // ?>tmp = array_filter(array($iterator->even ? 'even' : NULL))) echo ' class="' . htmlSpecialChars(implode(" ", array_unique($_l->tmp))) . '"' ?> >
its); $iterator = end($_l->its) ?>