From fd87eb0ca5e14f213d8b31280d444dbc29c20c50 Mon Sep 17 00:00:00 2001 From: Joao Sa Date: Fri, 28 Jun 2013 00:53:17 -0300 Subject: fix(jqLite): prepend array in correct order Match jQuery behavior when prepending array into empty element --- src/jqLite.js | 7 +------ test/jqLiteSpec.js | 12 ++++++++++++ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/jqLite.js b/src/jqLite.js index b169d1b5..e1231b61 100644 --- a/src/jqLite.js +++ b/src/jqLite.js @@ -715,12 +715,7 @@ forEach({ if (element.nodeType === 1) { var index = element.firstChild; forEach(new JQLite(node), function(child){ - if (index) { - element.insertBefore(child, index); - } else { - element.appendChild(child); - index = child; - } + element.insertBefore(child, index); }); } }, diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js index f6630536..92ccc2a8 100644 --- a/test/jqLiteSpec.js +++ b/test/jqLiteSpec.js @@ -1075,6 +1075,18 @@ describe('jqLite', function() { expect(root.prepend('abc')).toEqual(root); expect(root.html().toLowerCase()).toEqual('abctext'); }); + it('should prepend array to empty in the right order', function() { + var root = jqLite('
'); + expect(root.prepend([a, b, c])).toBe(root); + expect(sortedHtml(root)). + toBe('
A
B
C
'); + }); + it('should prepend array to content in the right order', function() { + var root = jqLite('
text
'); + expect(root.prepend([a, b, c])).toBe(root); + expect(sortedHtml(root)). + toBe('
A
B
C
text
'); + }); }); -- cgit v1.2.3