Initial commit

This commit is contained in:
abrendan
2023-11-30 14:15:19 +00:00
commit e4599df811
5457 changed files with 500139 additions and 0 deletions

30
node_modules/tsscmp/test/benchmark/index.js generated vendored Normal file
View File

@@ -0,0 +1,30 @@
'use strict';
var timeSafeCompare = require('../../lib/index');
function random(length) {
length = length || 32;
var result = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-+/*[]{}-=\|;\':\"<>?,./";
for( var i=0; i < length; i++ ){
result += possible.charAt(Math.floor(Math.random() * possible.length));
}
return result;
}
function run(count) {
count = count || 100*1000;
console.log('benchmark count: ' + count/1000 + 'k');
console.time('benchmark');
while(count--){
timeSafeCompare(random(), random());
}
console.timeEnd('benchmark');
}
run(100000);
module.exports = run;

69
node_modules/tsscmp/test/unit/index.js generated vendored Normal file
View File

@@ -0,0 +1,69 @@
'use strict';
var assert = require('assert');
var timeSafeCompare = require('../../lib/index');
process.on('error', function (e) {
console.log('caught: ' + e);
});
function testEqual(a, b) {
assert(timeSafeCompare(a, b));
// lets also do a parity check with the strict equal to operator
assert(a === b);
}
function testNotEqual(a, b) {
assert(!timeSafeCompare(a, b));
// lets also do a parity check with the strict not equal to operator
assert(a !== b);
}
// note: lets also make sure tsscmp can be inline replaced for any types -
// just incase if anyone is interested
// positive tests
testEqual('127e6fbfe24a750e72930c220a8e138275656b8e5d8f48a98c3c92df2caba935',
'127e6fbfe24a750e72930c220a8e138275656b8e5d8f48a98c3c92df2caba935',
'test ');
testEqual('a', 'a');
testEqual('', '');
testEqual(undefined, undefined);
testEqual(true, true);
testEqual(false, false);
(function () {
var a = { a: 1 };
testEqual(a, a);
})();
(function () {
function f1() { return 1; };
testEqual(f1, f1);
})();
// negative tests
testNotEqual('');
testNotEqual('a', 'b');
testNotEqual('a', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
testNotEqual('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', 'a');
testNotEqual('alpha', 'beta');
testNotEqual(false, true);
testNotEqual(false, undefined);
testNotEqual(function () { }, function () { });
testNotEqual({}, {});
testNotEqual({ a: 1 }, { a: 1 });
testNotEqual({ a: 1 }, { a: 2 });
testNotEqual([1, 2], [1, 2]);
testNotEqual([1, 2], [1, 2, 3]);
(function () {
var a = { p: 1 };
var b = { p: 1 };
testNotEqual(a, b);
})();
(function () {
function f1() { return 1; };
function f2() { return 1; };
testNotEqual(f1, f2);
})();
console.log('Success: all tests complete.');