69 lines
2.2 KiB
JavaScript
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);
|
|
});
|
|
});
|