mirror of
https://github.com/elder-plinius/P4RS3LT0NGV3.git
synced 2026-07-23 12:30:49 +02:00
45 lines
1.7 KiB
JavaScript
45 lines
1.7 KiB
JavaScript
#!/usr/bin/env node
|
|
|
|
const assert = require('assert');
|
|
const path = require('path');
|
|
|
|
const Ean13Utils = require(path.join(__dirname, '..', 'js', 'utils', 'ean13.js'));
|
|
|
|
assert.strictEqual(Ean13Utils.checksum('590123412345'), '7');
|
|
assert.strictEqual(Ean13Utils.checksum('400638133393'), '1');
|
|
|
|
const from12 = Ean13Utils.normalize('590123412345');
|
|
assert.strictEqual(from12.ok, true);
|
|
assert.strictEqual(from12.value, '5901234123457');
|
|
|
|
const from13 = Ean13Utils.normalize('5901234123457');
|
|
assert.strictEqual(from13.ok, true);
|
|
assert.strictEqual(from13.value, '5901234123457');
|
|
|
|
const wrongCheck = Ean13Utils.normalize('5901234123450');
|
|
assert.strictEqual(wrongCheck.ok, true);
|
|
assert.strictEqual(wrongCheck.value, '5901234123457');
|
|
|
|
const withSeparators = Ean13Utils.normalize('590-1234-12345');
|
|
assert.strictEqual(withSeparators.ok, true);
|
|
assert.strictEqual(withSeparators.value, '5901234123457');
|
|
|
|
const upcA = Ean13Utils.normalize('036000291452');
|
|
assert.strictEqual(upcA.ok, true);
|
|
assert.strictEqual(upcA.value, '0036000291452');
|
|
|
|
const tooShort = Ean13Utils.normalize('12345');
|
|
assert.strictEqual(tooShort.ok, false);
|
|
|
|
const tooLong = Ean13Utils.normalize('12345678901234');
|
|
assert.strictEqual(tooLong.ok, false);
|
|
|
|
const EAN13 = require(path.join(__dirname, '..', 'node_modules', 'jsbarcode', 'bin', 'barcodes', 'EAN_UPC', 'EAN13.js')).default;
|
|
const defaults = require(path.join(__dirname, '..', 'node_modules', 'jsbarcode', 'bin', 'options', 'defaults.js')).default;
|
|
|
|
const normalizedWrong = Ean13Utils.normalize('5901234123450');
|
|
const encoder = new EAN13(normalizedWrong.value, Object.assign({}, defaults, { displayValue: true }));
|
|
assert.strictEqual(encoder.valid(), true, 'Normalized value should pass JsBarcode validation');
|
|
|
|
console.log('EAN-13 codes tests passed');
|