From 705f22c29fcc18ab032f7e08eeb29e41405dd1f6 Mon Sep 17 00:00:00 2001 From: Patrick Steele-Idem Date: Mon, 28 Dec 2015 14:41:36 -0700 Subject: [PATCH] Clone the array before searching for siblings --- compiler/ast/ArrayContainer.js | 2 +- .../render/autotest/for-iterator-as-target/expected.html | 1 + .../render/autotest/for-iterator-as-target/template.marko | 3 +++ .../render/autotest/for-iterator-as-target/test.js | 7 +++++++ 4 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 test/fixtures/render/autotest/for-iterator-as-target/expected.html create mode 100644 test/fixtures/render/autotest/for-iterator-as-target/template.marko create mode 100644 test/fixtures/render/autotest/for-iterator-as-target/test.js diff --git a/compiler/ast/ArrayContainer.js b/compiler/ast/ArrayContainer.js index 26f9d2134..ab20b8781 100644 --- a/compiler/ast/ArrayContainer.js +++ b/compiler/ast/ArrayContainer.js @@ -75,7 +75,7 @@ class ArrayContainer extends Container { if (node.container !== this) { throw new Error('Node does not belong to container: ' + node); } - var array = this.array; + var array = this.array.concat([]); var found = false; for (var i=0; i + ${item} + \ No newline at end of file diff --git a/test/fixtures/render/autotest/for-iterator-as-target/test.js b/test/fixtures/render/autotest/for-iterator-as-target/test.js new file mode 100644 index 000000000..4794c94f7 --- /dev/null +++ b/test/fixtures/render/autotest/for-iterator-as-target/test.js @@ -0,0 +1,7 @@ +exports.templateData = { + myIterator: function(callback) { + for (var i=5; i>=0; i--) { + callback(i); + } + } +};