mirror of https://github.com/emn178/js-md5.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
193 lines
3.8 KiB
JavaScript
193 lines
3.8 KiB
JavaScript
expect = require('expect.js');
|
|
Worker = require("tiny-worker");
|
|
|
|
function unset() {
|
|
delete require.cache[require.resolve('../src/md5.js')];
|
|
delete require.cache[require.resolve('./test.js')];
|
|
delete require.cache[require.resolve('./hmac-test.js')];
|
|
md5 = null;
|
|
BUFFER = undefined;
|
|
JS_MD5_NO_NODE_JS = undefined;
|
|
JS_MD5_NO_COMMON_JS = undefined;
|
|
JS_MD5_NO_ARRAY_BUFFER = undefined;
|
|
JS_MD5_NO_ARRAY_BUFFER_IS_VIEW = undefined;
|
|
JS_MD5_NO_LEGACY = undefined;
|
|
JS_MD5_NO_HMAC = undefined;
|
|
window = undefined;
|
|
}
|
|
|
|
function runCommonJsTest() {
|
|
md5 = require('../src/md5.js');
|
|
require('./test.js');
|
|
require('./hmac-test.js');
|
|
unset();
|
|
}
|
|
|
|
function runWindowTest() {
|
|
window = global;
|
|
require('../src/md5.js');
|
|
require('./test.js');
|
|
require('./hmac-test.js');
|
|
unset();
|
|
}
|
|
|
|
function runCommonJsTestLite() {
|
|
JS_MD5_NO_LEGACY = true;
|
|
JS_MD5_NO_HMAC = true;
|
|
md5 = require('../src/md5.js');
|
|
require('./test.js');
|
|
// require('./hmac-test.js');
|
|
unset();
|
|
}
|
|
|
|
function runWindowTestLite() {
|
|
window = global;
|
|
JS_MD5_NO_LEGACY = true;
|
|
JS_MD5_NO_HMAC = true;
|
|
// window.JS_MD5_NO_LEGACY = global.JS_MD5_NO_LEGACY = true;
|
|
// window.JS_MD5_NO_HMAC = global.JS_MD5_NO_HMAC = true;
|
|
require('../src/md5.js');
|
|
require('./test.js');
|
|
// require('./hmac-test.js');
|
|
unset();
|
|
}
|
|
|
|
const ArrayBuffer_ = ArrayBuffer;
|
|
for (var i = 0; i < 2; i++) {
|
|
|
|
const runCommonJsTest_ = i ? runCommonJsTestLite : runCommonJsTest;
|
|
const runWindowTest_ = i ? runWindowTestLite : runWindowTest;
|
|
|
|
// Node.js env
|
|
BUFFER = true;
|
|
runCommonJsTest_();
|
|
|
|
// Node.js env, no Buffer.from
|
|
JS_MD5_NO_BUFFER_FROM = true
|
|
runCommonJsTest_();
|
|
|
|
// Webpack browser env
|
|
JS_MD5_NO_NODE_JS = true;
|
|
runCommonJsTest_();
|
|
|
|
|
|
// browser env
|
|
JS_MD5_NO_NODE_JS = true;
|
|
JS_MD5_NO_COMMON_JS = true;
|
|
runWindowTest_();
|
|
|
|
// browser env and no array buffer
|
|
JS_MD5_NO_NODE_JS = true;
|
|
JS_MD5_NO_COMMON_JS = true;
|
|
JS_MD5_NO_ARRAY_BUFFER = true;
|
|
runWindowTest_();
|
|
|
|
// browser env and no isView
|
|
JS_MD5_NO_NODE_JS = true;
|
|
JS_MD5_NO_COMMON_JS = true;
|
|
JS_MD5_NO_ARRAY_BUFFER_IS_VIEW = true;
|
|
runWindowTest_();
|
|
|
|
}
|
|
|
|
|
|
|
|
// browser AMD
|
|
JS_MD5_NO_NODE_JS = true;
|
|
JS_MD5_NO_COMMON_JS = true;
|
|
window = global;
|
|
define = function (func) {
|
|
md5 = func();
|
|
require('./test.js');
|
|
require('./hmac-test.js');
|
|
};
|
|
define.amd = true;
|
|
|
|
require('../src/md5.js');
|
|
unset();
|
|
|
|
|
|
|
|
|
|
// browser AMD (lite)
|
|
JS_MD5_NO_NODE_JS = true;
|
|
JS_MD5_NO_COMMON_JS = true;
|
|
JS_MD5_NO_LEGACY = true;
|
|
JS_MD5_NO_HMAC = true;
|
|
window = global;
|
|
define = function (func) {
|
|
md5 = func();
|
|
require('./test.js');
|
|
};
|
|
define.amd = true;
|
|
|
|
require('../src/md5.js');
|
|
unset();
|
|
|
|
|
|
|
|
// webworker
|
|
WORKER = 'tests/worker.js';
|
|
SOURCE = 'src/md5.js';
|
|
|
|
require('./worker-test.js');
|
|
|
|
delete require.cache[require.resolve('./worker-test.js')];
|
|
|
|
// cover webworker
|
|
JS_MD5_NO_NODE_JS = true;
|
|
WORKER = './worker.js';
|
|
SOURCE = '../src/md5.js';
|
|
window = global;
|
|
self = global;
|
|
|
|
WorkerGlobalScope = function () { } // for Testing
|
|
|
|
Worker = function (file) {
|
|
require(file);
|
|
currentWorker = this;
|
|
|
|
this.postMessage = function (data) {
|
|
onmessage({data: data});
|
|
};
|
|
}
|
|
|
|
postMessage = function (data) {
|
|
currentWorker.onmessage({data: data});
|
|
}
|
|
|
|
importScripts = function () {};
|
|
|
|
md5 = require('../src/md5.js');
|
|
require('./worker-test.js');
|
|
|
|
|
|
// cover webworker (lite)
|
|
JS_MD5_NO_NODE_JS = true;
|
|
JS_MD5_NO_HMAC = true;
|
|
JS_MD5_NO_LEGACY = true;
|
|
WORKER = './worker.js';
|
|
SOURCE = '../src/md5.js';
|
|
window = global;
|
|
self = global;
|
|
|
|
WorkerGlobalScope = function () { } // for Testing
|
|
|
|
Worker = function (file) {
|
|
require(file);
|
|
currentWorker = this;
|
|
|
|
this.postMessage = function (data) {
|
|
onmessage({data: data});
|
|
};
|
|
}
|
|
|
|
postMessage = function (data) {
|
|
currentWorker.onmessage({data: data});
|
|
}
|
|
|
|
importScripts = function () {};
|
|
|
|
md5 = require('../src/md5.js');
|
|
require('./worker-test.js');
|