- support for web worker. #11

Changed
- throw error if input type is incorrect.
- prevent webpack to require dependencies.
This commit is contained in:
Chen, Yi-Cyuan
2017-07-14 13:10:27 +08:00
parent 8b9a23ce32
commit c00df3af37
15 changed files with 275 additions and 82 deletions
+47 -1
View File
@@ -1,5 +1,8 @@
// Node.js env
expect = require('expect.js');
Worker = require('webworker-threads').Worker;
// Node.js env
BUFFER = true;
md5 = require('../src/md5.js');
require('./test.js');
@@ -9,6 +12,7 @@ md5 = null
// Webpack browser env
JS_MD5_NO_NODE_JS = true;
BUFFER = false;
window = global;
md5 = require('../src/md5.js');
require('./test.js');
@@ -20,6 +24,7 @@ md5 = null;
// browser env
JS_MD5_NO_NODE_JS = true;
JS_MD5_NO_COMMON_JS = true;
BUFFER = false;
window = global;
require('../src/md5.js');
require('./test.js');
@@ -32,6 +37,7 @@ md5 = null;
JS_MD5_NO_NODE_JS = true;
JS_MD5_NO_COMMON_JS = true;
JS_MD5_NO_ARRAY_BUFFER = true;
BUFFER = false;
window = global;
require('../src/md5.js');
require('./test.js');
@@ -44,6 +50,7 @@ md5 = null;
JS_MD5_NO_NODE_JS = true;
JS_MD5_NO_COMMON_JS = true;
JS_MD5_NO_ARRAY_BUFFER = false;
BUFFER = false;
window = global;
define = function (func) {
md5 = func();
@@ -52,3 +59,42 @@ define = function (func) {
define.amd = true;
require('../src/md5.js');
delete require.cache[require.resolve('../src/md5.js')];
delete require.cache[require.resolve('./test.js')];
md5 = null;
// webworker
WORKER = 'tests/worker.js';
SOURCE = 'src/md5.js';
require('./worker-test.js');
// cover webworker
JS_MD5_NO_WINDOW = true;
JS_MD5_NO_NODE_JS = true;
JS_MD5_NO_COMMON_JS = false;
JS_MD5_NO_ARRAY_BUFFER = false;
BUFFER = false;
WORKER = './worker.js';
SOURCE = '../src/md5.js';
window = global;
self = global;
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');