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()
      })
    })
Exemple #3
0
            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);
            }