71 lines
2.4 KiB
TypeScript
71 lines
2.4 KiB
TypeScript
import Quagga from '../../../src/quagga';
|
|
import { expect } from 'chai';
|
|
import { it } from '../helpers';
|
|
|
|
describe('EAN Supplement Format Tests', () => {
|
|
// Test that verifies the supplement format is correctly returned as 'ean_2' or 'ean_5'
|
|
// rather than inheriting the parent 'ean_13' format
|
|
|
|
const isBrowser = typeof window !== 'undefined';
|
|
const fixturePrefix = isBrowser ? '/' : '';
|
|
|
|
const baseConfig = {
|
|
inputStream: {
|
|
size: 800,
|
|
singleChannel: false,
|
|
},
|
|
locator: {
|
|
patchSize: 'medium' as const,
|
|
halfSample: false,
|
|
},
|
|
numOfWorkers: 0,
|
|
decoder: {
|
|
readers: [{
|
|
format: 'ean_reader',
|
|
config: {
|
|
supplements: [
|
|
'ean_5_reader',
|
|
'ean_2_reader',
|
|
],
|
|
},
|
|
}],
|
|
},
|
|
};
|
|
|
|
it('should return ean_2 format for 2-digit supplement', async function() {
|
|
this.timeout(30000);
|
|
|
|
const config = {
|
|
...baseConfig,
|
|
src: `${fixturePrefix}test/fixtures/ean_extended/image-002.jpg`, // EAN-13 with 2-digit supplement
|
|
};
|
|
|
|
const result = await Quagga.decodeSingle(config);
|
|
|
|
expect(result).to.be.an('Object');
|
|
expect(result.codeResult).to.be.an('Object');
|
|
expect(result.codeResult.format).to.equal('ean_13');
|
|
expect(result.codeResult.supplement).to.be.an('Object');
|
|
expect(result.codeResult.supplement.format).to.equal('ean_2');
|
|
expect(result.codeResult.supplement.code).to.equal('01');
|
|
});
|
|
|
|
it('should return ean_5 format for 5-digit supplement', async function() {
|
|
this.timeout(30000);
|
|
|
|
const config = {
|
|
...baseConfig,
|
|
src: `${fixturePrefix}test/fixtures/ean_extended/image-004.jpg`, // EAN-13 with 5-digit supplement
|
|
};
|
|
|
|
const result = await Quagga.decodeSingle(config);
|
|
|
|
expect(result).to.be.an('Object');
|
|
expect(result.codeResult).to.be.an('Object');
|
|
expect(result.codeResult.format).to.equal('ean_13');
|
|
expect(result.codeResult.supplement).to.be.an('Object');
|
|
expect(result.codeResult.supplement.format).to.equal('ean_5');
|
|
expect(result.codeResult.supplement.code).to.equal('52495');
|
|
});
|
|
});
|