function cleanAttributeValue(tag, attrName, attrValue) {
if (isEventAttribute(attrName)) {
- return trimWhitespace(attrValue).replace(/^javascript:\s*/i, '');
+ return trimWhitespace(attrValue).replace(/^javascript:\s*/i, '').replace(/\s*;$/, '');
}
else if (attrName === 'class') {
return collapseWhitespace(trimWhitespace(attrValue));
});
test('cleaning other attributes', function() {
- input = '<a href="#" onclick=" window.prompt(\'boo\'); " onmouseover=" \n\n alert(123); \t \n\t ">blah</a>';
- output = '<a href="#" onclick="window.prompt(\'boo\');" onmouseover="alert(123);">blah</a>';
+ input = '<a href="#" onclick=" window.prompt(\'boo\'); " onmouseover=" \n\n alert(123) \t \n\t ">blah</a>';
+ output = '<a href="#" onclick="window.prompt(\'boo\')" onmouseover="alert(123)">blah</a>';
equals(minify(input, { cleanAttributes: true }), output);
- input = '<body onload=" foo(); bar() "><p>x</body>';
+ input = '<body onload=" foo(); bar() ; "><p>x</body>';
output = '<body onload="foo(); bar()"><p>x</p></body>';
equals(minify(input, { cleanAttributes: true }), output);
});