Funktion 2 liest 2D-Codes statt nur QR (Auftraggeber-Entscheidung revidiert)
Der Auftraggeber hatte Funktion 2 ausdruecklich auf QR beschraenkt, obwohl die 2D-Codes auf seinen RAM-Etiketten DataMatrix sind. Am Geraet zeigte sich, dass die Funktion auf seiner Ware nichts fand - er hat die Entscheidung revidiert. Funktion 2 liest jetzt zusaetzlich zu QRCode/MicroQRCode/RMQRCode auch DataMatrix, Aztec und PDF417 und heisst in der Oberflaeche "2D-Code" statt "QR-Code". Die Kennung bleibt aus historischen Gruenden `qrcode`. Veralteten Kommentar in scan-modes.js berichtigt, Test auf die neue Codeliste/Beschriftung umgestellt (statt geloescht) und einen Test ergaenzt, der paarweise verschiedene Kennungen/Beschriftungen der drei Funktionen erzwingt. README-Funktionstabelle und Geraete-Checkliste entsprechend angepasst. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+13
-4
@@ -17,15 +17,24 @@ test('Funktion 1 (Strichcode): eindimensionale Codearten, laufende Suche, keine
|
||||
assert.equal(mode.useOcr, false);
|
||||
});
|
||||
|
||||
test('Funktion 2 (QR-Code): ausschliesslich QR-Varianten, kein DataMatrix', () => {
|
||||
test('Funktion 2 (2D-Code): QR-Varianten und DataMatrix, Aztec, PDF417', () => {
|
||||
const mode = getScanMode('qrcode');
|
||||
assert.equal(mode.label, 'QR-Code');
|
||||
assert.deepEqual(mode.barcodeFormats, ['QRCode', 'MicroQRCode', 'RMQRCode']);
|
||||
assert.ok(!mode.barcodeFormats.includes('DataMatrix'), 'Funktion 2 darf kein DataMatrix lesen');
|
||||
assert.equal(mode.label, '2D-Code');
|
||||
assert.deepEqual(mode.barcodeFormats, [
|
||||
'QRCode', 'MicroQRCode', 'RMQRCode', 'DataMatrix', 'Aztec', 'PDF417',
|
||||
]);
|
||||
assert.ok(mode.barcodeFormats.includes('DataMatrix'), 'Funktion 2 muss DataMatrix lesen (Etiketten der Ware tragen DataMatrix)');
|
||||
assert.equal(mode.continuousSearch, true);
|
||||
assert.equal(mode.useOcr, false);
|
||||
});
|
||||
|
||||
test('die drei Funktionen haben paarweise verschiedene Kennungen und Beschriftungen', () => {
|
||||
const ids = SCAN_MODES.map((mode) => mode.id);
|
||||
const labels = SCAN_MODES.map((mode) => mode.label);
|
||||
assert.equal(new Set(ids).size, ids.length, 'Kennungen muessen paarweise verschieden sein');
|
||||
assert.equal(new Set(labels).size, labels.length, 'Beschriftungen muessen paarweise verschieden sein');
|
||||
});
|
||||
|
||||
test('Funktion 3 (Text erkennen): keine Codearten, keine laufende Suche, Texterkennung', () => {
|
||||
const mode = getScanMode('ocr');
|
||||
assert.equal(mode.label, 'Text erkennen');
|
||||
|
||||
@@ -64,7 +64,7 @@ test('decodeBarcodes bekommt die Codearten der jeweiligen Funktion uebergeben',
|
||||
runOcr: async () => '',
|
||||
});
|
||||
await adapters.decodeBarcodes({});
|
||||
assert.deepEqual(receivedFormats, ['QRCode', 'MicroQRCode', 'RMQRCode']);
|
||||
assert.deepEqual(receivedFormats, ['QRCode', 'MicroQRCode', 'RMQRCode', 'DataMatrix', 'Aztec', 'PDF417']);
|
||||
});
|
||||
|
||||
test('Funktion 3 uebergibt keine Codearten, weil decodeBarcodes gar nicht aufgerufen wird', async () => {
|
||||
|
||||
Reference in New Issue
Block a user