зеркало из https://github.com/mozilla/gecko-dev.git
69 строки
2.1 KiB
JavaScript
69 строки
2.1 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
/* globals run_next_test, add_test, ok, Components, SEUtils */
|
|
/* exported run_test */
|
|
|
|
Components.utils.import("resource://gre/modules/SEUtils.jsm");
|
|
|
|
const VALID_HEX_STR = "0123456789ABCDEF";
|
|
const VALID_BYTE_ARR = [0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF];
|
|
|
|
function run_test() {
|
|
ok(!!SEUtils, "SEUtils should be available");
|
|
run_next_test();
|
|
}
|
|
|
|
add_test(function test_byteArrayToHexString() {
|
|
let hexStr = SEUtils.byteArrayToHexString(VALID_BYTE_ARR);
|
|
ok(hexStr === VALID_HEX_STR,
|
|
"should convert byte Array to uppercased hex string");
|
|
|
|
[[], null, undefined].forEach((input) => {
|
|
hexStr = SEUtils.byteArrayToHexString(input);
|
|
ok(hexStr === "", "invalid arg:" + input + " should return empty string");
|
|
});
|
|
|
|
run_next_test();
|
|
});
|
|
|
|
add_test(function test_hexStringToByteArray() {
|
|
let byteArr = SEUtils.hexStringToByteArray(VALID_HEX_STR);
|
|
ok(SEUtils.arraysEqual(byteArr, VALID_BYTE_ARR),
|
|
"should convert uppercased string to byte Array");
|
|
|
|
byteArr = SEUtils.hexStringToByteArray(VALID_HEX_STR.toLowerCase());
|
|
ok(SEUtils.arraysEqual(byteArr, VALID_BYTE_ARR),
|
|
"should convert lowercased string to byte Array");
|
|
|
|
["", null, undefined, "123"].forEach((input) => {
|
|
byteArr = SEUtils.hexStringToByteArray(input);
|
|
ok(Array.isArray(byteArr) && byteArr.length === 0,
|
|
"invalid arg: " + input + " should be empty Array");
|
|
});
|
|
|
|
run_next_test();
|
|
});
|
|
|
|
add_test(function test_arraysEqual() {
|
|
ok(SEUtils.arraysEqual([1, 2, 3], [1, 2, 3]),
|
|
"should return true on equal Arrays");
|
|
|
|
[[1], [1, 2, 4], [3, 2, 1]].forEach((input) => {
|
|
ok(!SEUtils.arraysEqual([1, 2, 3], input),
|
|
"should return false when Arrays not equal");
|
|
});
|
|
|
|
[null, undefined].forEach((input) => {
|
|
ok(!SEUtils.arraysEqual([1, 2, 3], input),
|
|
"should return false when comparing Array with invalid argument");
|
|
|
|
ok(!SEUtils.arraysEqual(input, input),
|
|
"should return false when both args are invalid");
|
|
});
|
|
|
|
run_next_test();
|
|
});
|