ITF-14.test.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. var assert = require('assert');
  2. var JsBarcode = require('../../bin/JsBarcode.js');
  3. var Canvas = require("canvas");
  4. describe('ITF-14', function() {
  5. it('should be able to include the encoder(s)', function () {
  6. ITF14 = JsBarcode.getModule("ITF14");
  7. });
  8. it('should be able to encode normal text', function () {
  9. var enc = new ITF14("98765432109213", {});
  10. assert.equal("101010001110101110001010100010001110111011101011100010100011101110001010100011101010001000111010111000101110100011100010001010111011101"
  11. , enc.encode().data);
  12. });
  13. it('should be able to add checksum if needed', function () {
  14. var enc = new ITF14("9876543210921", {});
  15. assert.equal("101010001110101110001010100010001110111011101011100010100011101110001010100011101010001000111010111000101110100011100010001010111011101"
  16. , enc.encode().data);
  17. });
  18. it('should return text correct', function () {
  19. var enc = new ITF14("9876543210921", {});
  20. assert.equal("98765432109213", enc.encode().text);
  21. var enc = new ITF14("98765432109213", {});
  22. assert.equal("98765432109213", enc.encode().text);
  23. });
  24. it('should warn with invalid text and not when valid', function () {
  25. var enc = new ITF14("987654321092", {});
  26. assert.equal(false, enc.valid());
  27. var enc = new ITF14("98765432109212", {});
  28. assert.equal(false, enc.valid());
  29. var enc = new ITF14("98765432109213", {});
  30. assert.equal(true, enc.valid());
  31. var enc = new ITF14("9876543210921", {});
  32. assert.equal(true, enc.valid());
  33. // Edge cases for check digit of zero
  34. var enc = new ITF14("00847280031740", {});
  35. assert.equal(true, enc.valid());
  36. var enc = new ITF14("00847280031900", {});
  37. assert.equal(true, enc.valid());
  38. var enc = new ITF14("00847280032020", {});
  39. assert.equal(true, enc.valid());
  40. var enc = new ITF14("00847280031870", {});
  41. assert.equal(true, enc.valid());
  42. var enc = new ITF14("00847280031450", {});
  43. assert.equal(true, enc.valid());
  44. var enc = new ITF14("00847280031320", {});
  45. assert.equal(true, enc.valid());
  46. });
  47. it('should work with text option', function () {
  48. var enc = new ITF14("00847280031450", {text: "THISISTEXT"});
  49. assert.equal("THISISTEXT", enc.encode().text);
  50. });
  51. });