Added integration-tests for all decoders; Split up integration and unit tests
parent
d4ba4ccaae
commit
e2f3d693dd
File diff suppressed because one or more lines are too long
@ -0,0 +1,32 @@
|
|||||||
|
module.exports = function(config) {
|
||||||
|
config.set({
|
||||||
|
basePath: '',
|
||||||
|
frameworks: ['mocha', 'requirejs', 'chai', 'sinon', 'sinon-chai'],
|
||||||
|
files: [
|
||||||
|
'test-main.js',
|
||||||
|
'src/vendor/glMatrix.js',
|
||||||
|
'src/typedefs.js',
|
||||||
|
{pattern: 'node_modules/async/lib/async.js', included: false},
|
||||||
|
{pattern: 'src/*.js', included: false},
|
||||||
|
{pattern: 'spec/**/*integration.spec.js', included: false},
|
||||||
|
{pattern: 'test/**/*.*', included: false}
|
||||||
|
],
|
||||||
|
exclude: [
|
||||||
|
],
|
||||||
|
plugins: [
|
||||||
|
'karma-chrome-launcher',
|
||||||
|
'karma-mocha',
|
||||||
|
'karma-requirejs',
|
||||||
|
'karma-chai',
|
||||||
|
'karma-sinon',
|
||||||
|
'karma-sinon-chai'
|
||||||
|
],
|
||||||
|
reporters: ['progress'],
|
||||||
|
port: 9876,
|
||||||
|
colors: true,
|
||||||
|
logLevel: config.LOG_INFO,
|
||||||
|
autoWatch: true,
|
||||||
|
browsers: ['Chrome'],
|
||||||
|
singleRun: false
|
||||||
|
});
|
||||||
|
};
|
@ -1,82 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
define(['quagga', 'async'], function(Quagga, async) {
|
|
||||||
describe('decodeSingle', function () {
|
|
||||||
var config;
|
|
||||||
|
|
||||||
this.timeout(10000);
|
|
||||||
|
|
||||||
beforeEach(function () {
|
|
||||||
config = {
|
|
||||||
inputStream: {
|
|
||||||
size: 640
|
|
||||||
},
|
|
||||||
locator: {
|
|
||||||
patchSize: "medium",
|
|
||||||
halfSample: true
|
|
||||||
},
|
|
||||||
numOfWorkers: 0,
|
|
||||||
decoder: {
|
|
||||||
readers: ["ean_reader"]
|
|
||||||
},
|
|
||||||
locate: true,
|
|
||||||
src: null
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
var folder = "base/test/fixtures/ean/",
|
|
||||||
testSet = [{
|
|
||||||
"name": "image-001.jpg",
|
|
||||||
"result": "3574660239843"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "image-002.jpg",
|
|
||||||
"result": "8032754490297"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "image-003.jpg",
|
|
||||||
"result": "4006209700068"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "image-004.jpg",
|
|
||||||
"result": "9002233139084"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "image-005.jpg",
|
|
||||||
"result": "8004030044005"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "image-006.jpg",
|
|
||||||
"result": "4003626011159"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "image-007.jpg",
|
|
||||||
"result": "2111220009686"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "image-008.jpg",
|
|
||||||
"result": "9000275609022"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "image-009.jpg",
|
|
||||||
"result": "9004593978587"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "image-010.jpg",
|
|
||||||
"result": "9002244845578"
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
async.each(testSet, function (sample, callback) {
|
|
||||||
it('should decode ' + sample.name + " correctly", function(done) {
|
|
||||||
config.src = folder + sample.name;
|
|
||||||
Quagga.decodeSingle(config, function (result) {});
|
|
||||||
Quagga.onProcessed(function(result) {
|
|
||||||
expect(result.codeResult.code).to.equal(sample.result);
|
|
||||||
done();
|
|
||||||
callback();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}, function() {});
|
|
||||||
});
|
|
||||||
});
|
|
@ -0,0 +1,179 @@
|
|||||||
|
|
||||||
|
|
||||||
|
define(['quagga', 'async'], function(Quagga, async) {
|
||||||
|
describe('decodeSingle', function () {
|
||||||
|
var baseFolder = "base/test/fixtures/";
|
||||||
|
|
||||||
|
function generateConfig() {
|
||||||
|
return {
|
||||||
|
inputStream: {
|
||||||
|
size: 640
|
||||||
|
},
|
||||||
|
locator: {
|
||||||
|
patchSize: "medium",
|
||||||
|
halfSample: true
|
||||||
|
},
|
||||||
|
numOfWorkers: 0,
|
||||||
|
decoder: {
|
||||||
|
readers: ["ean_reader"]
|
||||||
|
},
|
||||||
|
locate: true,
|
||||||
|
src: null
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
this.timeout(10000);
|
||||||
|
|
||||||
|
function _runTestSet(testSet, config) {
|
||||||
|
var readers = config.decoder.readers.slice(),
|
||||||
|
folder = baseFolder + readers[0].split('_').slice(0, -1).join('_') + "/";
|
||||||
|
|
||||||
|
it('should decode ' + folder + " correctly", function(done) {
|
||||||
|
async.eachSeries(testSet, function (sample, callback) {
|
||||||
|
config.src = folder + sample.name;
|
||||||
|
config.readers = readers;
|
||||||
|
Quagga.decodeSingle(config, function(result) {
|
||||||
|
console.log(sample.name);
|
||||||
|
expect(result.codeResult.code).to.equal(sample.result);
|
||||||
|
callback();
|
||||||
|
});
|
||||||
|
}, function() {
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
describe("EAN", function() {
|
||||||
|
var config = generateConfig(),
|
||||||
|
testSet = [
|
||||||
|
{"name": "image-001.jpg", "result": "3574660239843"},
|
||||||
|
{"name": "image-002.jpg", "result": "8032754490297"},
|
||||||
|
{"name": "image-003.jpg", "result": "4006209700068"},
|
||||||
|
{"name": "image-004.jpg", "result": "9002233139084"},
|
||||||
|
{"name": "image-005.jpg", "result": "8004030044005"},
|
||||||
|
{"name": "image-006.jpg", "result": "4003626011159"},
|
||||||
|
{"name": "image-007.jpg", "result": "2111220009686"},
|
||||||
|
{"name": "image-008.jpg", "result": "9000275609022"},
|
||||||
|
{"name": "image-009.jpg", "result": "9004593978587"},
|
||||||
|
{"name": "image-010.jpg", "result": "9002244845578"}
|
||||||
|
];
|
||||||
|
|
||||||
|
config.decoder.readers = ['ean_reader'];
|
||||||
|
_runTestSet(testSet, config);
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("Code128", function() {
|
||||||
|
var config = generateConfig(),
|
||||||
|
testSet = [
|
||||||
|
{"name": "image-001.jpg", "result": "0001285112001000040801"},
|
||||||
|
{"name": "image-002.jpg", "result": "FANAVF1461710"},
|
||||||
|
{"name": "image-003.jpg", "result": "673023"},
|
||||||
|
// {"name": "image-004.jpg", "result": "010210150301625334"},
|
||||||
|
{"name": "image-005.jpg", "result": "419055603900009001012999"},
|
||||||
|
{"name": "image-006.jpg", "result": "419055603900009001012999"},
|
||||||
|
{"name": "image-007.jpg", "result": "T 000003552345"},
|
||||||
|
{"name": "image-008.jpg", "result": "FANAVF1461710"},
|
||||||
|
{"name": "image-009.jpg", "result": "0001285112001000040801"},
|
||||||
|
{"name": "image-010.jpg", "result": "673023"}
|
||||||
|
];
|
||||||
|
|
||||||
|
config.decoder.readers = ['code_128_reader'];
|
||||||
|
_runTestSet(testSet, config);
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("Code39", function() {
|
||||||
|
var config = generateConfig(),
|
||||||
|
testSet = [
|
||||||
|
{"name": "image-001.jpg", "result": "B3% $DAD$"},
|
||||||
|
{"name": "image-002.jpg", "result": "QUAGGAJS"},
|
||||||
|
{"name": "image-003.jpg", "result": "CODE39"},
|
||||||
|
{"name": "image-004.jpg", "result": "QUAGGAJS"},
|
||||||
|
{"name": "image-005.jpg", "result": "CODE39"},
|
||||||
|
{"name": "image-006.jpg", "result": "2/4-8/16-32"},
|
||||||
|
{"name": "image-007.jpg", "result": "2/4-8/16-32"},
|
||||||
|
{"name": "image-008.jpg", "result": "CODE39"},
|
||||||
|
{"name": "image-009.jpg", "result": "2/4-8/16-32"},
|
||||||
|
{"name": "image-010.jpg", "result": "CODE39"}
|
||||||
|
];
|
||||||
|
|
||||||
|
config.decoder.readers = ['code_39_reader'];
|
||||||
|
_runTestSet(testSet, config);
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("EAN-8", function() {
|
||||||
|
var config = generateConfig(),
|
||||||
|
testSet = [
|
||||||
|
{"name": "image-001.jpg", "result": "42191605"},
|
||||||
|
{"name": "image-002.jpg", "result": "42191605"},
|
||||||
|
{"name": "image-003.jpg", "result": "90311208"},
|
||||||
|
{"name": "image-004.jpg", "result": "24057257"},
|
||||||
|
{"name": "image-005.jpg", "result": "90162602"},
|
||||||
|
{"name": "image-006.jpg", "result": "24036153"},
|
||||||
|
{"name": "image-007.jpg", "result": "42176817"},
|
||||||
|
/*{"name": "image-008.jpg", "result": "42191605"},*/
|
||||||
|
{"name": "image-009.jpg", "result": "42242215"},
|
||||||
|
{"name": "image-010.jpg", "result": "42184799"}
|
||||||
|
];
|
||||||
|
|
||||||
|
config.decoder.readers = ['ean_8_reader'];
|
||||||
|
_runTestSet(testSet, config);
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("UPC", function() {
|
||||||
|
var config = generateConfig(),
|
||||||
|
testSet = [
|
||||||
|
{"name": "image-001.jpg", "result": "882428015268"},
|
||||||
|
{"name": "image-002.jpg", "result": "882428015268"},
|
||||||
|
{"name": "image-003.jpg", "result": "882428015084"},
|
||||||
|
{"name": "image-004.jpg", "result": "882428015343"},
|
||||||
|
{"name": "image-005.jpg", "result": "882428015343"},
|
||||||
|
{"name": "image-006.jpg", "result": "882428015046"},
|
||||||
|
{"name": "image-007.jpg", "result": "882428015084"},
|
||||||
|
{"name": "image-008.jpg", "result": "882428015046"},
|
||||||
|
{"name": "image-009.jpg", "result": "039047013551"},
|
||||||
|
{"name": "image-010.jpg", "result": "039047013551"}
|
||||||
|
];
|
||||||
|
|
||||||
|
config.decoder.readers = ['upc_reader'];
|
||||||
|
_runTestSet(testSet, config);
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("UPC-E", function() {
|
||||||
|
var config = generateConfig(),
|
||||||
|
testSet = [
|
||||||
|
{"name": "image-001.jpg", "result": "04965802"},
|
||||||
|
{"name": "image-002.jpg", "result": "04965802"},
|
||||||
|
{"name": "image-003.jpg", "result": "03897425"},
|
||||||
|
{"name": "image-004.jpg", "result": "05096893"},
|
||||||
|
{"name": "image-005.jpg", "result": "05096893"},
|
||||||
|
{"name": "image-006.jpg", "result": "05096893"},
|
||||||
|
{"name": "image-007.jpg", "result": "03897425"},
|
||||||
|
/* {"name": "image-008.jpg", "result": "01264904"}, */
|
||||||
|
{"name": "image-009.jpg", "result": "01264904"},
|
||||||
|
{"name": "image-010.jpg", "result": "01264904"}
|
||||||
|
];
|
||||||
|
|
||||||
|
config.decoder.readers = ['upc_e_reader'];
|
||||||
|
_runTestSet(testSet, config);
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("Codabar", function() {
|
||||||
|
var config = generateConfig(),
|
||||||
|
testSet = [
|
||||||
|
{"name": "image-001.jpg", "result": "A10/53+17-70D"},
|
||||||
|
{"name": "image-002.jpg", "result": "B546745735B"},
|
||||||
|
{"name": "image-003.jpg", "result": "C$399.95A"},
|
||||||
|
{"name": "image-004.jpg", "result": "B546745735B"},
|
||||||
|
{"name": "image-005.jpg", "result": "C$399.95A"},
|
||||||
|
{"name": "image-006.jpg", "result": "B546745735B"},
|
||||||
|
{"name": "image-007.jpg", "result": "C$399.95A"},
|
||||||
|
/* {"name": "image-008.jpg", "result": "01264904"}, */
|
||||||
|
{"name": "image-009.jpg", "result": "C$399.95A"},
|
||||||
|
{"name": "image-010.jpg", "result": "C$399.95A"}
|
||||||
|
];
|
||||||
|
|
||||||
|
config.decoder.readers = ['codabar_reader'];
|
||||||
|
_runTestSet(testSet, config);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
Loading…
Reference in New Issue