1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
Description: use already packaged modules
... instead of adding new ones that do the same thing
Forwarded: not-needed, would probably get upstream angry
Author: Jérémy Lal <kapouer@melix.org>
Last-Update: 2014-10-20
--- a/lib/tap-assert.js
+++ b/lib/tap-assert.js
@@ -1,9 +1,27 @@
// an assert module that returns tappable data for each assertion.
-var difflet = require('difflet')
- , deepEqual = require('deep-equal')
- , bufferEqual = require('buffer-equal')
+var createPatch = require('diff').createPatch
+ , assertDeepEqual = require('assert').deepEqual
, Buffer = require('buffer').Buffer
+function deepEqual(a, b) {
+ try {
+ assertDeepEqual(a, b);
+ } catch(e) {
+ return false;
+ }
+ return true;
+}
+
+function bufferEqual(a, b) {
+ if (!Buffer.isBuffer(a)) return false;
+ if (!Buffer.isBuffer(b)) return false;
+ if (a.length != b.length) return false;
+ for (var i=0, len=a.length; i < len; i++) {
+ if (a[i] != b[i]) return false;
+ }
+ return true;
+}
+
module.exports = assert
var syns = {}
@@ -384,6 +402,8 @@
}})())
}
+
+
function diffString (f, w) {
if (w === f) return null
var p = 0
@@ -395,7 +415,7 @@
}
function diffObject (f, w) {
- return difflet({ indent : 2, comment : true }).compare(w, f)
+ return createPatch('', JSON.stringify(w, null, 2), JSON.stringify(f, null, 2));
}
function diff (f, w, p) {
|