Skip to content

Commit 485e7fe

Browse files
committed
fix immutable tree obj
1 parent 2a81c32 commit 485e7fe

File tree

3 files changed

+21
-2
lines changed

3 files changed

+21
-2
lines changed

lib/posthtml-render.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ function postHTMLRender(tree, options) {
101101
function traverse(tree, cb) {
102102
if (Array.isArray(tree)) {
103103
for (var i = 0, len = tree.length; i < len; i++) {
104-
tree[i] = traverse(cb(tree[i]), cb);
104+
traverse(cb(tree[i]), cb);
105105
}
106106
} else if (typeof tree === 'object' && tree.hasOwnProperty('content')) traverse(tree.content, cb);
107107
return tree;

posthtml-render.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/test.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,25 @@ describe('PostHTML-Render test', function() {
6868
.to.eql('<div><div><div>Test<div></div></div></div></div>');
6969
});
7070

71+
it('tree immutable', function() {
72+
var t = [{
73+
tag: 'div',
74+
content: [
75+
{
76+
tag: false,
77+
content: [
78+
{ tag: 'div' },
79+
{ tag: 'span', content: ['Text'] }
80+
]
81+
}
82+
]
83+
}];
84+
var t1 = JSON.stringify(t);
85+
render(t);
86+
var t2 = JSON.stringify(t);
87+
expect(t1).to.eql(t2);
88+
});
89+
7190
describe('attrs', function() {
7291
it('key', function() {
7392
expect(render({ attrs: { id: 'header' } }))

0 commit comments

Comments
 (0)