Skip to content

Commit 788dd5f

Browse files
committed
Fix unclosed process and refactoring stringify function
1 parent 570da89 commit 788dd5f

File tree

2 files changed

+14
-9
lines changed

2 files changed

+14
-9
lines changed

lib/stringify.js

+10-9
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,38 @@
11
function stringifyNode(node) {
22
var type = node.type;
33
var value = node.value;
4+
var buf;
45

56
if (type === 'word' || type === 'space') {
67
return value;
78
} else if (type === 'string') {
8-
return (node.quote || '') + value + (node.quote || '');
9+
buf = node.quote || '';
10+
return buf + value + (node.unclosed ? '' : buf);
911
} else if (type === 'comment') {
1012
return '/*' + value + (node.unclosed ? '' : '*/');
1113
} else if (type === 'div') {
1214
return (node.before || '') + value + (node.after || '');
1315
} else if (Array.isArray(node.nodes)) {
14-
if (type === 'function') {
15-
return value + '(' + (node.before || '') + stringify(node.nodes) + (node.after || '') + (node.unclosed ? '' : ')');
16-
} else {
17-
return stringify(node.nodes);
16+
buf = stringify(node.nodes);
17+
if (type !== 'function') {
18+
return buf;
1819
}
19-
} else {
20-
return value;
20+
return value + '(' + (node.before || '') + buf + (node.after || '') + (node.unclosed ? '' : ')');
2121
}
22+
return value;
2223
}
2324

2425
function stringify(nodes) {
2526
var result, i;
27+
2628
if (Array.isArray(nodes)) {
2729
result = '';
2830
for (var i = nodes.length - 1; ~i; i -= 1) {
2931
result = stringifyNode(nodes[i]) + result;
3032
}
3133
return result;
32-
} else {
33-
return stringifyNode(nodes);
3434
}
35+
return stringifyNode(nodes);
3536
};
3637

3738
module.exports = stringify;

test/stringify.js

+4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ var tests = [
77
message: 'Should correctly add quotes',
88
fixture: 'bold italic 12px/3 \'Open Sans\', Arial, "Helvetica Neue", sans-serif'
99
},
10+
{
11+
message: 'Should not close unclosed strings',
12+
fixture: '" 12, 54, 65 '
13+
},
1014
{
1115
message: 'Should correctly add brackets',
1216
fixture: ' rgba( 12, 54, 65) '

0 commit comments

Comments
 (0)