From f39fd3d58384d9bafbd18d3c1ec927940eeba458 Mon Sep 17 00:00:00 2001 From: kzc Date: Mon, 25 Apr 2016 00:42:18 -0400 Subject: Handle CR line endings in comments. Fixes #1050 --- test/mocha/line-endings.js | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 test/mocha/line-endings.js (limited to 'test/mocha') diff --git a/test/mocha/line-endings.js b/test/mocha/line-endings.js new file mode 100644 index 00000000..8fd56a19 --- /dev/null +++ b/test/mocha/line-endings.js @@ -0,0 +1,34 @@ +var Uglify = require('../../'); +var assert = require("assert"); + +describe("line-endings", function() { + var options = { + fromString: true, + mangle: false, + compress: false, + output: { + beautify: false, + comments: /^!/, + } + }; + var expected_code = '/*!one\n2\n3*/\nfunction f(x){if(x)return 3}'; + + it("Should parse LF line endings", function() { + var js = '/*!one\n2\n3*///comment\nfunction f(x) {\n if (x)\n//comment\n return 3;\n}\n'; + var result = Uglify.minify(js, options); + assert.strictEqual(result.code, expected_code); + }); + + it("Should parse CR/LF line endings", function() { + var js = '/*!one\r\n2\r\n3*///comment\r\nfunction f(x) {\r\n if (x)\r\n//comment\r\n return 3;\r\n}\r\n'; + var result = Uglify.minify(js, options); + assert.strictEqual(result.code, expected_code); + }); + + it("Should parse CR line endings", function() { + var js = '/*!one\r2\r3*///comment\rfunction f(x) {\r if (x)\r//comment\r return 3;\r}\r'; + var result = Uglify.minify(js, options); + assert.strictEqual(result.code, expected_code); + }); +}); + -- cgit v1.2.3