| var tap = require("tap") |
| var normalize = require("../lib/normalize") |
| var path = require("path") |
| var fs = require("fs") |
| var _ = require("underscore") |
| var async = require("async") |
| |
| var data, clonedData |
| var warn |
| |
| tap.test("consistent normalization", function(t) { |
| path.resolve(__dirname, "./fixtures/read-package-json.json") |
| fs.readdir (__dirname + "/fixtures", function (err, entries) { |
| // entries = ['coffee-script.json'] // uncomment to limit to a specific file |
| verifyConsistency = function(entryName, next) { |
| warn = function(msg) { |
| // t.equal("",msg) // uncomment to have some kind of logging of warnings |
| } |
| filename = __dirname + "/fixtures/" + entryName |
| fs.readFile(filename, function(err, contents) { |
| if (err) return next(err) |
| data = JSON.parse(contents.toString()) |
| normalize(data, warn) |
| clonedData = _.clone(data) |
| normalize(data, warn) |
| t.deepEqual(clonedData, data, |
| "Normalization of " + entryName + " is consistent.") |
| next(null) |
| }) // fs.readFile |
| } // verifyConsistency |
| async.forEach(entries, verifyConsistency, function(err) { |
| if (err) throw err |
| t.end() |
| }) |
| }) // fs.readdir |
| }) // tap.test |