use exact string matches to test output

This commit is contained in:
pengzhenqing 2016-10-11 13:59:16 +08:00
parent c7271e4157
commit 13990aed90
2 changed files with 9 additions and 21 deletions

View File

@ -55,22 +55,18 @@ describe("bin/uglifyjs", function () {
exec(command, function (err, stdout) {
if (err) throw err;
assert.doesNotThrow(function (){
var validate_source_map = /\/\/# sourceMappingURL=data:.*base64,(.*)\s*$/;
var base64 = stdout.match(validate_source_map)[1];
var buf = new Buffer(base64, 'base64');
var map = JSON.parse(buf.toString());
done();
});
assert.strictEqual(stdout, "var bar=function(){function foo(bar){return bar}return foo}();\n" +
"//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QvaW5wdXQvaXNzdWUtMTMyMy9zYW1wbGUuanMiXSwibmFtZXMiOlsiYmFyIiwiZm9vIl0sIm1hcHBpbmdzIjoiQUFBQSxHQUFJQSxLQUFNLFdBQ04sUUFBU0MsS0FBS0QsS0FDVixNQUFPQSxLQUdYLE1BQU9DIn0=\n");
done();
});
});
it("should not append source map to output when not using --source-map-inline", function (done) {
var command = uglifyjscmd + ' test/input/issue-1323/sample.js';
exec(command, function (err, stdout) {
var validate_source_map = /\/\/# sourceMappingURL=data:.*base64,(.*)\s*$/;
assert.strictEqual(false, validate_source_map.test(stdout));
if (err) throw err;
assert.strictEqual(stdout, "var bar=function(){function foo(bar){return bar}return foo}();\n");
done();
});
});

View File

@ -83,23 +83,15 @@ describe("minify", function() {
sourceMapInline: true
});
var code = result.code;
assert.doesNotThrow(function() {
var validate_source_map = /\/\/# sourceMappingURL=data:.*base64,(.*)\s*$/;
var base64 = code.match(validate_source_map)[1];
var buf = new Buffer(base64, 'base64');
var map = JSON.parse(buf.toString());
})
assert.strictEqual(code, "var a=function(n){return n};\n" +
"//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIj8iXSwibmFtZXMiOlsiYSIsImZvbyJdLCJtYXBwaW5ncyI6IkFBQUEsR0FBSUEsR0FBSSxTQUFTQyxHQUFPLE1BQU9BIn0=");
});
it("should not append source map to output js when sourceMapInline is not enabled", function() {
var result = Uglify.minify('var a = function(foo) { return foo; };', {
fromString: true
});
var code = result.code;
var validate_source_map = /\/\/# sourceMappingURL=data:.*base64,(.*)\s*$/;
assert.strictEqual(false, validate_source_map.test(code));
assert.strictEqual(code, "var a=function(n){return n};");
});
});
});