trimTrailingWhitespace(buffer.length - 1, nextTag);
}
}
- else if (uidPattern) {
- text = text.replace(uidPattern, function(match, prefix, index) {
- return ignoredCustomMarkupChunks[+index][0];
- });
- }
if (!stackNoCollapseWhitespace.length && nextTag !== 'html' && !(prevTag && nextTag)) {
text = collapseWhitespace(text, options, false, false, true);
}
// https://mathiasbynens.be/notes/ambiguous-ampersands
text = text.replace(/&(#?[0-9a-zA-Z]+;)/g, '&$1').replace(/</g, '<');
}
+ if (uidPattern && options.collapseWhitespace && stackNoTrimWhitespace.length) {
+ text = text.replace(uidPattern, function(match, prefix, index) {
+ return ignoredCustomMarkupChunks[+index][0];
+ });
+ }
currentChars += text;
if (text) {
hasChars = true;
assert.equal(minify(input, { decodeEntities: false }), input);
output = '<a href="/?foo=1&bar=<2>">baz<moo>\u00a9</a>';
assert.equal(minify(input, { decodeEntities: true }), output);
+
+ input = '<? & ?>&<pre><? & ?>&</pre>';
+ assert.equal(minify(input), input);
+ assert.equal(minify(input, { collapseWhitespace: false, decodeEntities: false }), input);
+ assert.equal(minify(input, { collapseWhitespace: true, decodeEntities: false }), input);
+ output = '<? & ?>&<pre><? & ?>&</pre>';
+ assert.equal(minify(input, { collapseWhitespace: false, decodeEntities: true }), output);
+ assert.equal(minify(input, { collapseWhitespace: true, decodeEntities: true }), output);
});
QUnit.test('tests from PHPTAL', function(assert) {