test_crypto-base-buffer.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. /**
  2. * Created by bmf on 11/2/13.
  3. */
  4. var assert = require('assert');
  5. var CryptoBaseBuffer = require('../lib/crypto-base-buffer');
  6. if (process.env.COVERAGE) {
  7. CryptoBaseBuffer = require('../lib-cov/crypto-base-buffer');
  8. }
  9. describe("CryptoBaseBuffer", function () {
  10. it('generate should throw', function(done) {
  11. var cb = new CryptoBaseBuffer();
  12. assert.throws(function() {
  13. cb.generate();
  14. });
  15. done();
  16. });
  17. it('toString should throw', function(done) {
  18. var cb = new CryptoBaseBuffer();
  19. assert.throws(function() {
  20. cb.toString();
  21. });
  22. done();
  23. });
  24. it('isValid should throw', function(done) {
  25. var cb = new CryptoBaseBuffer();
  26. assert.throws(function() {
  27. cb.isValid();
  28. });
  29. done();
  30. });
  31. });
  32. describe("cb.toBuffer", function () {
  33. var cb = new CryptoBaseBuffer();
  34. it("should throw on utf8", function (done) {
  35. var str = "to buffer is cool";
  36. assert.throws(function() {
  37. cb.toBuffer(str, 'utf8').toString().should.eql("to buffer is cool");
  38. });
  39. done();
  40. });
  41. it("should retun on empty encoding list", function (done) {
  42. cb.setValidEncodings();
  43. done();
  44. });
  45. it("should return de default encoding", function (done) {
  46. cb.setEncoding('hex');
  47. var e = cb.getEncoding();
  48. assert.equal(e, 'hex');
  49. done();
  50. });
  51. it("should throw on utf8 encoding", function (done) {
  52. assert.throws(function() {
  53. cb.setValidEncodings(['hex', 'utf8']);
  54. });
  55. done();
  56. });
  57. it("should generate a buffer from string with encoding", function (done) {
  58. var str = "8b166e947343b514c621ac7cfd53b11a9d5c374f507bf102a71b415a5d9e399853d1dc82362d48f47eb1c63889c5ef695ae55793064da563b4d3b26aec64d3e3";
  59. assert.equal(cb.toBuffer(str, 'hex').toString('hex'), str);
  60. done();
  61. });
  62. it("should return undefined on bad param 1", function (done) {
  63. assert.throws(function() {
  64. var b = cb.toBuffer(123, 'utf8');
  65. });
  66. done();
  67. });
  68. it("should throw on bad encoding", function (done) {
  69. var str = "to buffer is cool";
  70. assert.throws(function() {
  71. cb.toBuffer(str, 'txf');
  72. });
  73. done();
  74. });
  75. it("should generate a buffer from array", function (done) {
  76. var a = [1, 2, 3, 4, 5];
  77. var b = cb.toBuffer(a);
  78. for( var i = 0 ; i < b.length; i++ ) {
  79. assert.equal(b[i], a[i]);
  80. }
  81. done();
  82. });
  83. it("Generate a buffer from buffer!", function (done) {
  84. var a = Buffer.alloc(5, 5);
  85. var b = cb.toBuffer(a);
  86. for( var i = 0 ; i < b.length; i++ ) {
  87. assert.equal(b[i], a[i]);
  88. }
  89. done();
  90. });
  91. });