UglifyJS/test/mocha/string-literal.js

34 lines
983 B
JavaScript
Raw Normal View History

2015-12-27 21:28:03 +00:00
var UglifyJS = require('../../');
var assert = require("assert");
describe("String literals", function() {
it("Should throw syntax error if a string literal contains a newline", function() {
var inputs = [
"'\n'",
"'\r'",
'"\r\n"',
"'\u2028'",
'"\u2029"'
];
var test = function(input) {
return function() {
var ast = UglifyJS.parse(input);
2016-01-12 23:30:32 +00:00
};
2015-12-27 21:28:03 +00:00
};
var error = function(e) {
return e instanceof UglifyJS.JS_Parse_Error &&
2016-01-12 23:30:32 +00:00
e.message === "Unterminated string constant";
2015-12-27 21:28:03 +00:00
};
for (var input in inputs) {
assert.throws(test(inputs[input]), error);
}
});
2016-01-12 23:30:32 +00:00
it("Should not throw syntax error if a string has a line continuation", function() {
var output = UglifyJS.parse('var a = "a\\\nb";').print_to_string();
assert.equal(output, 'var a="ab";');
});
2015-12-27 21:28:03 +00:00
});