/**
* Generate test files unless exist.
* @function task.worker.generateTestFiles
* @param {object} config - Task configuration.
* @param {string} config.srcDir - Source files directory.
* @param {string} config.destDir - Destination test directory.
* @param {function} callback - Callback when done.
* @author Taka Okunishi
*
*/
var path = require('path'),
lib = require('../../lib'),
object = lib.object,
fallbackCopy = object.fallbackCopy,
generateTestFiles = require('./generate_test_files');
exports = module.exports = function (config, callback) {
var destDir = path.resolve(config.destDir);
fallbackCopy({
pattern: '*.js',
ignore: '**/+(index|_prototype).js',
data: {
testResourcePath: path.relative(destDir, path.resolve('test/test_resource')),
mockInjectorPath: path.relative(destDir, path.resolve('test/mock_injector'))
},
tmpl: exports._unitTestTmplPath
}, config);
generateTestFiles(config, callback);
};
exports._unitTestTmplPath = path.resolve(__dirname, '../../tmpl/js/unit_test.js.hbs');