Files
label_printing/node_modules/jsbarcode/test/node/ITF-14.test.js
2022-02-21 15:01:43 +01:00

69 lines
2.2 KiB
JavaScript

var assert = require('assert');
var JsBarcode = require('../../bin/JsBarcode.js');
var Canvas = require("canvas");
describe('ITF-14', function() {
it('should be able to include the encoder(s)', function () {
ITF14 = JsBarcode.getModule("ITF14");
});
it('should be able to encode normal text', function () {
var enc = new ITF14("98765432109213", {});
assert.equal("101010001110101110001010100010001110111011101011100010100011101110001010100011101010001000111010111000101110100011100010001010111011101"
, enc.encode().data);
});
it('should be able to add checksum if needed', function () {
var enc = new ITF14("9876543210921", {});
assert.equal("101010001110101110001010100010001110111011101011100010100011101110001010100011101010001000111010111000101110100011100010001010111011101"
, enc.encode().data);
});
it('should return text correct', function () {
var enc = new ITF14("9876543210921", {});
assert.equal("98765432109213", enc.encode().text);
var enc = new ITF14("98765432109213", {});
assert.equal("98765432109213", enc.encode().text);
});
it('should warn with invalid text and not when valid', function () {
var enc = new ITF14("987654321092", {});
assert.equal(false, enc.valid());
var enc = new ITF14("98765432109212", {});
assert.equal(false, enc.valid());
var enc = new ITF14("98765432109213", {});
assert.equal(true, enc.valid());
var enc = new ITF14("9876543210921", {});
assert.equal(true, enc.valid());
// Edge cases for check digit of zero
var enc = new ITF14("00847280031740", {});
assert.equal(true, enc.valid());
var enc = new ITF14("00847280031900", {});
assert.equal(true, enc.valid());
var enc = new ITF14("00847280032020", {});
assert.equal(true, enc.valid());
var enc = new ITF14("00847280031870", {});
assert.equal(true, enc.valid());
var enc = new ITF14("00847280031450", {});
assert.equal(true, enc.valid());
var enc = new ITF14("00847280031320", {});
assert.equal(true, enc.valid());
});
it('should work with text option', function () {
var enc = new ITF14("00847280031450", {text: "THISISTEXT"});
assert.equal("THISISTEXT", enc.encode().text);
});
});