]> zoso.dev Git - buffer.git/commitdiff
add failing Buffer.compare, #compare, #equals tests
authorFeross Aboukhadijeh <feross@feross.org>
Wed, 7 May 2014 22:20:03 +0000 (15:20 -0700)
committerFeross Aboukhadijeh <feross@feross.org>
Wed, 7 May 2014 22:20:03 +0000 (15:20 -0700)
test/compare.js [new file with mode: 0644]

diff --git a/test/compare.js b/test/compare.js
new file mode 100644 (file)
index 0000000..75ba3b9
--- /dev/null
@@ -0,0 +1,67 @@
+var B = require('../').Buffer
+var test = require('tape')
+
+test('compare', function (t) {
+  var b = new B(1).fill('a')
+  var c = new B(1).fill('c')
+  var d = new B(2).fill('aa')
+
+  t.equal(b.compare(c), -1)
+  t.equal(c.compare(d), 1)
+  t.equal(d.compare(b), 1)
+  t.equal(b.compare(d), -1)
+
+  // static method
+  t.equal(B.compare(b, c), -1)
+  t.equal(B.compare(c, d), 1)
+  t.equal(B.compare(d, b), 1)
+  t.equal(B.compare(b, d), -1)
+  t.end()
+})
+
+test('compare argument validation', function (t) {
+  var b = new B(1).fill('a')
+  var c = new B(1).fill('c')
+  var d = new B(2).fill('aa')
+
+  t.throws(function () {
+    var b = new B(1)
+    B.compare(b, 'abc')
+  })
+
+  t.throws(function () {
+    var b = new B(1)
+    B.compare('abc', b)
+  })
+
+  t.throws(function () {
+    var b = new B(1)
+    b.compare('abc')
+  })
+  t.end()
+})
+
+test('equals', function (t) {
+  var b = new B(5).fill('abcdf')
+  var c = new B(5).fill('abcdf')
+  var d = new B(5).fill('abcde')
+  var e = new B(6).fill('abcdef')
+
+  t.ok(b.equals(c))
+  t.ok(!c.equals(d))
+  t.ok(!d.equals(e))
+  t.end()
+})
+
+test('equals argument validation', function (t) {
+  var b = new B(5).fill('abcdf')
+  var c = new B(5).fill('abcdf')
+  var d = new B(5).fill('abcde')
+  var e = new B(6).fill('abcdef')
+
+  t.throws(function () {
+    var b = new B(1)
+    b.equals('abc')
+  })
+  t.end()
+})