it('should make the directory', function (done) { var dir = path.join(TEST_DIR, 'tmp-' + Date.now() + Math.random()) assert(!fs.existsSync(dir)) fse.mkdirs(dir, function (err) { assert.ifError(err) assert(fs.existsSync(dir)) done() }) })
it('should make the entire directory path', function (done) { var dir = path.join(TEST_DIR, 'tmp-' + Date.now() + Math.random()) var newDir = path.join(TEST_DIR, 'dfdf', 'ffff', 'aaa') assert(!fs.existsSync(dir)) fse.mkdirs(newDir, function (err) { assert.ifError(err) assert(fs.existsSync(newDir)) done() }) })
function packageJsonTests(t) { var dirs = [ 'hasFile', 'hasJs', 'hasJsNpmStyle', 'hasJsNoComment', 'hasJsonFile', 'tooManyJs' ], result; file.rm(outputDir); file.mkdirs(outputDir); //Copy the support directories into output, to allow //modification of the files. dirs.forEach(function (dir) { file.copyDir(path.join(supportDir, dir), path.join(outputDir, dir)); }); process.chdir(dir); //Test favoring a single js file package.json comment //over a package.json file. result = packageJson(path.join(outputDir, 'hasFile')); t.is('empty', result.data.name); t.is('1.0', result.data.version); //Add a volo dep to the package.son, save, confirm the save. result.addVoloDep('dojo', 'dojo/dojo/1.7.2'); result.save(); result.refresh(); t.is('dojo/dojo/1.7.2', result.data.volo.dependencies.dojo); t.is(file.readFile(path.join(expectedDir, 'hasFile', 'empty.js')), file.readFile(path.join(outputDir, 'hasFile', 'empty.js'))); result = packageJson(path.join(outputDir, 'hasJsonFile')); t.is('hasJsonFile', result.data.name); t.is('2.0', result.data.version); //Add a volo dep to the package.son, save, confirm the save. result.addVoloDep('dijit', 'dojo/dijit/1.7.2'); result.save(); result.refresh(); t.is('dojo/dijit/1.7.2', result.data.volo.dependencies.dijit); t.is(file.readFile(path.join(expectedDir, 'hasJsonFile', 'package.json')), file.readFile(path.join(outputDir, 'hasJsonFile', 'package.json'))); //Test file comment, /**package **/ npm style. result = packageJson(path.join(outputDir, 'hasJsNpmStyle')); t.is('nlib', result.data.name); t.is('1.1', result.data.version); //Test file comment result = packageJson(path.join(outputDir, 'hasJs')); t.is('lib', result.data.name); t.is('1.0', result.data.version); //Add a volo dep to the package.json, save, confirm the save. result.addVoloDep('jquery', 'jquery/jquery/1.7.1'); result.save(); result.refresh(); t.is('jquery/jquery/1.7.1', result.data.volo.dependencies.jquery); t.is(file.readFile(path.join(expectedDir, 'hasJs', 'lib.js')), file.readFile(path.join(outputDir, 'hasJs', 'lib.js'))); //Test file, but no comment or package.json result = packageJson(path.join(outputDir, 'hasJsNoComment')); t.is(null, result.data); t.is(null, result.file); //Test no package.json and too many .js files result = packageJson(path.join(outputDir, 'tooManyJs')); t.is(null, result.data); t.is(null, result.file); }