60 lines
1.9 KiB
JavaScript
60 lines
1.9 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
"use strict";
|
|
|
|
/**
|
|
* Test encoding a simple message.
|
|
*/
|
|
|
|
const { QR } = ChromeUtils.importESModule(
|
|
"moz-src:///toolkit/components/qrcode/encoder.mjs"
|
|
);
|
|
|
|
function run_test() {
|
|
const imgData = QR.encodeToDataURI("HELLO", "L");
|
|
Assert.equal(
|
|
imgData.src,
|
|
"data:image/gif;base64,R0lGODdhOgA6AIAAAAAAAP///ywAAAAAOgA6AAAC" +
|
|
"/4yPqcvtD6OctNqLs968+w+G4gKU5nkaKKquLuW+QVy2tAkDTj3rfQts8CRDko" +
|
|
"+HPPoYRUgy9YsyldDm44mLWhHYZM6W7WaDqyCRGkZDySxpRGw2sqvLt1q5w/fo" +
|
|
"XyE6vnUQOJUHBlinMGh046V1F5PDqNcoqcgBOWKBKbK2N+aY+Ih49VkmqMcl2l" +
|
|
"dkhZUK1umE6jZXJ2ZJaujZaRqH4bpb2uZrJxvIt4Ebe9qoYYrJOsw8apz2bCut" +
|
|
"m9kqDcw52uuImyr5Oh1KXH1jrn2anuunywtODU/o2c6teceW39ZcLFg/fNMo1b" +
|
|
"t3jVw2dwTPwJq1KYG3gAklCgu37yGxeScYKyiCc+7DR34hPVQiuQ7UhJMagyEb" +
|
|
"lymmzJk0a9q8iTOnzp0NCgAAOw=="
|
|
);
|
|
Assert.equal(imgData.width, 58);
|
|
Assert.equal(imgData.height, 58);
|
|
Assert.equal(imgData.matrix, undefined, "matrix omitted by default");
|
|
Assert.equal(imgData.dotCount, undefined, "dotCount omitted by default");
|
|
|
|
const justMatrix = QR.encodeToMatrix("HELLO", "L");
|
|
Assert.equal(
|
|
justMatrix.dotCount,
|
|
21,
|
|
"HELLO at L correction is version 1 (21 dots)"
|
|
);
|
|
Assert.equal(justMatrix.src, undefined, "matrix encoding omits image data");
|
|
Assert.equal(justMatrix.width, undefined, "matrix encoding omits width");
|
|
Assert.equal(justMatrix.height, undefined, "matrix encoding omits height");
|
|
Assert.equal(
|
|
justMatrix.matrix.length,
|
|
justMatrix.dotCount,
|
|
"matrix has correct number of rows"
|
|
);
|
|
Assert.equal(
|
|
justMatrix.matrix[0].length,
|
|
justMatrix.dotCount,
|
|
"matrix rows have correct number of columns"
|
|
);
|
|
Assert.strictEqual(
|
|
typeof justMatrix.matrix[0][0],
|
|
"boolean",
|
|
"matrix entries are booleans"
|
|
);
|
|
Assert.ok(
|
|
justMatrix.matrix[0][0],
|
|
"top-left corner of finder pattern is dark"
|
|
);
|
|
}
|