mirror of
https://github.com/abrendan/MicDropMessages.git
synced 2025-08-25 14:02:03 +02:00
Initial commit
This commit is contained in:
30
node_modules/tsscmp/test/benchmark/index.js
generated
vendored
Normal file
30
node_modules/tsscmp/test/benchmark/index.js
generated
vendored
Normal 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
69
node_modules/tsscmp/test/unit/index.js
generated
vendored
Normal 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.');
|
Reference in New Issue
Block a user