test.js
 1  /*jshint node:true */
 2  'use strict';
 3  
 4  var bufferEq = require('./index');
 5  var assert = require('assert');
 6  
 7  describe('buffer-equal-constant-time', function() {
 8    var a = new Buffer('asdfasdf123456');
 9    var b = new Buffer('asdfasdf123456');
10    var c = new Buffer('asdfasdf');
11  
12    describe('bufferEq', function() {
13      it('says a == b', function() {
14        assert.strictEqual(bufferEq(a, b), true);
15      });
16  
17      it('says a != c', function() {
18        assert.strictEqual(bufferEq(a, c), false);
19      });
20    });
21  
22    describe('install/restore', function() {
23      before(function() {
24        bufferEq.install();
25      });
26      after(function() {
27        bufferEq.restore();
28      });
29  
30      it('installed an .equal method', function() {
31        var SlowBuffer = require('buffer').SlowBuffer;
32        assert.ok(Buffer.prototype.equal);
33        assert.ok(SlowBuffer.prototype.equal);
34      });
35  
36      it('infected existing Buffers', function() {
37        assert.strictEqual(a.equal(b), true);
38        assert.strictEqual(a.equal(c), false);
39      });
40    });
41  
42  });