mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.2 KiB
46 lines
1.2 KiB
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()
|
|
}
|
|
|