var fs = require('fs') var path = require('path') var tap = require('tap') var readJson = require('../') var readme = fs.readFileSync(path.resolve(__dirname, '../README.md'), 'utf8') var pkg = require('../package.json') var isGit try { fs.readFileSync(path.resolve(__dirname, '../.git/HEAD')) isGit = true } catch (e) { isGit = false } tap.test('basic test', function (t) { var p = path.resolve(__dirname, '../package.json') readJson(p, function (er, data) { if (er) throw er basic_(t, data) }) }) function basic_ (t, data) { t.ok(data) t.equal(data.version, pkg.version) t.equal(data._id, data.name + '@' + data.version) t.equal(data.name, pkg.name) t.type(data.author, 'object') t.equal(data.readme, readme) t.deepEqual(data.scripts, pkg.scripts) t.equal(data.main, pkg.main) t.equal(data.readmeFilename, 'README.md') if (isGit) t.similar(data.gitHead, /^[a-f0-9]{40}$/) // optional deps are folded in. t.deepEqual(data.optionalDependencies, pkg.optionalDependencies) t.has(data.dependencies, pkg.optionalDependencies) t.has(data.dependencies, pkg.dependencies) t.deepEqual(data.devDependencies, pkg.devDependencies) t.end() }