diff options
author | Anthony Van de Gejuchte <anthonyvdgent@gmail.com> | 2015-12-27 22:28:03 +0100 |
---|---|---|
committer | Anthony Van de Gejuchte <anthonyvdgent@gmail.com> | 2015-12-27 22:38:20 +0100 |
commit | 8c6af09ae014eb2370349fb7b419ee912abac64f (patch) | |
tree | ca716f8b5942af27a1487406dc1c5cbb872927b5 /test | |
parent | 6f3e35bb3f04303e6b7cc74cfc25bfee3c792a98 (diff) | |
download | tracifyjs-8c6af09ae014eb2370349fb7b419ee912abac64f.tar.gz tracifyjs-8c6af09ae014eb2370349fb7b419ee912abac64f.zip |
Add mocha tests
Diffstat (limited to 'test')
-rw-r--r-- | test/mocha.js | 29 | ||||
-rw-r--r-- | test/mocha/string-literal.js | 29 | ||||
-rwxr-xr-x | test/run-tests.js | 3 |
3 files changed, 61 insertions, 0 deletions
diff --git a/test/mocha.js b/test/mocha.js new file mode 100644 index 00000000..411f52c5 --- /dev/null +++ b/test/mocha.js @@ -0,0 +1,29 @@ +var Mocha = require('mocha'), + fs = require('fs'), + path = require('path'); + +// Instantiate a Mocha instance. +var mocha = new Mocha({}); + +var testDir = __dirname + '/mocha/'; + +// Add each .js file to the mocha instance +fs.readdirSync(testDir).filter(function(file){ + // Only keep the .js files + return file.substr(-3) === '.js'; + +}).forEach(function(file){ + mocha.addFile( + path.join(testDir, file) + ); +}); + +module.exports = function() { + mocha.run(function(failures) { + if (failures !== 0) { + process.on('exit', function () { + process.exit(failures); + }); + } + }); +};
\ No newline at end of file diff --git a/test/mocha/string-literal.js b/test/mocha/string-literal.js new file mode 100644 index 00000000..64933632 --- /dev/null +++ b/test/mocha/string-literal.js @@ -0,0 +1,29 @@ +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); + } + }; + + var error = function(e) { + return e instanceof UglifyJS.JS_Parse_Error && + e.message === "Unterminated string constant" + }; + + for (var input in inputs) { + assert.throws(test(inputs[input]), error); + } + }); +});
\ No newline at end of file diff --git a/test/run-tests.js b/test/run-tests.js index 3ec04fda..b9a0f825 100755 --- a/test/run-tests.js +++ b/test/run-tests.js @@ -16,6 +16,9 @@ if (failures) { process.exit(1); } +var mocha_tests = require("./mocha.js"); +mocha_tests(); + var run_sourcemaps_tests = require('./sourcemaps'); run_sourcemaps_tests(); |