mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
58b70d2360
Register a fake AppInfo with correct OS if it doesn't exist yet. Just use Svc.Crypto instead of trying to dynamically pick the contract id. Name the head files so they load in appinfo -> helper -> http order. --HG-- rename : services/sync/tests/unit/bookmark_setup.js => services/sync/tests/unit/head_appinfo.js rename : services/sync/tests/unit/head_first.js => services/sync/tests/unit/head_helpers.js
67 lines
2.1 KiB
JavaScript
67 lines
2.1 KiB
JavaScript
Cu.import("resource://services-sync/util.js");
|
|
|
|
function run_test() {
|
|
let cryptoSvc = Svc.Crypto;
|
|
|
|
// Test salt generation.
|
|
var salt;
|
|
|
|
salt = cryptoSvc.generateRandomBytes(0);
|
|
do_check_eq(salt.length, 0);
|
|
salt = cryptoSvc.generateRandomBytes(1);
|
|
do_check_eq(salt.length, 4);
|
|
salt = cryptoSvc.generateRandomBytes(2);
|
|
do_check_eq(salt.length, 4);
|
|
salt = cryptoSvc.generateRandomBytes(3);
|
|
do_check_eq(salt.length, 4);
|
|
salt = cryptoSvc.generateRandomBytes(4);
|
|
do_check_eq(salt.length, 8);
|
|
salt = cryptoSvc.generateRandomBytes(8);
|
|
do_check_eq(salt.length, 12);
|
|
|
|
// sanity check to make sure salts seem random
|
|
var salt2 = cryptoSvc.generateRandomBytes(8);
|
|
do_check_eq(salt2.length, 12);
|
|
do_check_neq(salt, salt2);
|
|
|
|
salt = cryptoSvc.generateRandomBytes(16);
|
|
do_check_eq(salt.length, 24);
|
|
salt = cryptoSvc.generateRandomBytes(1024);
|
|
do_check_eq(salt.length, 1368);
|
|
|
|
|
|
// Test random key generation
|
|
var keydata, keydata2, iv;
|
|
|
|
keydata = cryptoSvc.generateRandomKey();
|
|
do_check_eq(keydata.length, 44);
|
|
keydata2 = cryptoSvc.generateRandomKey();
|
|
do_check_neq(keydata, keydata2); // sanity check for randomness
|
|
iv = cryptoSvc.generateRandomIV();
|
|
do_check_eq(iv.length, 24);
|
|
|
|
cryptoSvc.algorithm = Ci.IWeaveCrypto.AES_256_CBC;
|
|
keydata = cryptoSvc.generateRandomKey();
|
|
do_check_eq(keydata.length, 44);
|
|
keydata2 = cryptoSvc.generateRandomKey();
|
|
do_check_neq(keydata, keydata2); // sanity check for randomness
|
|
iv = cryptoSvc.generateRandomIV();
|
|
do_check_eq(iv.length, 24);
|
|
|
|
cryptoSvc.algorithm = Ci.IWeaveCrypto.AES_192_CBC;
|
|
keydata = cryptoSvc.generateRandomKey();
|
|
do_check_eq(keydata.length, 32);
|
|
keydata2 = cryptoSvc.generateRandomKey();
|
|
do_check_neq(keydata, keydata2); // sanity check for randomness
|
|
iv = cryptoSvc.generateRandomIV();
|
|
do_check_eq(iv.length, 24);
|
|
|
|
cryptoSvc.algorithm = Ci.IWeaveCrypto.AES_128_CBC;
|
|
keydata = cryptoSvc.generateRandomKey();
|
|
do_check_eq(keydata.length, 24);
|
|
keydata2 = cryptoSvc.generateRandomKey();
|
|
do_check_neq(keydata, keydata2); // sanity check for randomness
|
|
iv = cryptoSvc.generateRandomIV();
|
|
do_check_eq(iv.length, 24);
|
|
}
|