UNPKG

charlike

Version:

Small, fast, simple and streaming project scaffolder for myself, but not only. Supports hundreds of template engines through the @JSTransformers API or if you want custom `render` function passed through options

35 lines (32 loc) 1.53 kB
var tap = require("tap") var normalize = require("../lib/normalize") var path = require("path") var fs = require("fs") tap.test("basic test", function (t) { var p = path.resolve(__dirname, "./fixtures/read-package-json.json") fs.readFile (p, function (err, contents) { if (err) throw err; var originalData = JSON.parse(contents.toString()) var data = JSON.parse(contents.toString()) normalize(data) t.ok(data) verifyFields(t, data, originalData) t.end() }) }) function verifyFields (t, normalized, original) { t.equal(normalized.version, original.version, "Version field stays same") t.equal(normalized._id, normalized.name + "@" + normalized.version, "It gets good id.") t.equal(normalized.name, original.name, "Name stays the same.") t.type(normalized.author, "object", "author field becomes object") t.deepEqual(normalized.scripts, original.scripts, "scripts field (object) stays same") t.equal(normalized.main, original.main) // optional deps are folded in. t.deepEqual(normalized.optionalDependencies, original.optionalDependencies) t.has(normalized.dependencies, original.optionalDependencies, "opt depedencies are copied into dependencies") t.has(normalized.dependencies, original.dependencies, "regular depedencies stay in place") t.deepEqual(normalized.devDependencies, original.devDependencies) t.type(normalized.bugs, "object", "bugs should become object") t.equal(normalized.bugs.url, "https://github.com/isaacs/read-package-json/issues") }