From d2a7589f7cdda36c4461d909e9f0210e7a02d27d Mon Sep 17 00:00:00 2001 From: John-David Dalton Date: Sun, 3 Feb 2013 01:23:40 -0800 Subject: [PATCH] Fix failing build test and add another build test. Former-commit-id: dccae3f43f55dda764750880e37c5e0682f32095 --- build.js | 15 +++++++++++---- test/test-build.js | 5 +++-- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/build.js b/build.js index f6d101c59..27781ec70 100755 --- a/build.js +++ b/build.js @@ -2364,7 +2364,10 @@ /*------------------------------------------------------------------------*/ - // used to specify creating a custom build + // flag used to track if `outputPath` has been used by `callback` + var outputUsed = false; + + // flag used to specify creating a custom build var isCustom = isLegacy || isMapped || isMobile || isModern || isStrict || isUnderscore || /(?:category|exclude|exports|iife|include|minus|plus)=/.test(options) || !_.isEqual(exportsOptions, exportsAll); @@ -2384,8 +2387,12 @@ } if (isDebug && isStdOut) { stdout.write(debugSource); - callback(debugSource); - } else if (!isStdOut) { + callback({ + 'source': debugSource + }); + } + else if (!isStdOut) { + outputUsed = true; callback({ 'source': debugSource, 'outputPath': outputPath || path.join(cwd, basename + '.js') @@ -2394,7 +2401,7 @@ } // begin the minification process if (!isDebug) { - if (outputPath && !isMinify) { + if (outputPath && outputUsed) { outputPath = path.join(path.dirname(outputPath), path.basename(outputPath, '.js') + '.min.js'); } else if (!outputPath) { outputPath = path.join(cwd, basename + '.min.js'); diff --git a/test/test-build.js b/test/test-build.js index e18887d26..60143b362 100644 --- a/test/test-build.js +++ b/test/test-build.js @@ -1030,7 +1030,8 @@ (function() { var commands = [ '-c', - '--stdout' + '-c -d', + '--stdout', ]; commands.forEach(function(command, index) { @@ -1043,7 +1044,7 @@ written = string; }; - build([command, 'exports=', 'include='], function(data) { + build(['exports=', 'include='].concat(command.split(' ')), function(data) { process.stdout.write = write; equal(written, data.source); equal(arguments.length, 1);