fix(test): testing web worker version of forceAtlas2 layout

This commit is contained in:
wensen.lws 2018-08-06 17:13:07 +08:00
parent 62890e452a
commit c9e2b107fd
4 changed files with 50 additions and 45 deletions

View File

@ -2,14 +2,17 @@
"plugins": [
"transform-object-rest-spread",
"transform-remove-strict-mode",
],
"presets": [
[
"env",
"module-resolver",
{
"loose": true,
"modules": false
"alias": {
"@antv/g6": "./src/index"
}
}
]
]
],
"presets": [
"env"
],
"sourceMaps": "inline"
}

View File

@ -118,4 +118,4 @@
"engines": {
"node": ">=8.9.0"
}
}
}

View File

@ -4,14 +4,14 @@
* License: MIT/X11
*/
self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || function (view) {
"use strict";
var
get_class = function (object) {
self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || function(view) {
let
get_class = function(object) {
return Object.prototype.toString.call(object).match(/^\[object\s(.*)\]$/)[1];
},
FakeBlobBuilder = view.BlobBuilder = function () {},
FakeBlob = view.Blob = function (data, type) {
FakeBlobBuilder = view.BlobBuilder = function() {},
FakeBlob = view.Blob = function(data, type) {
this.data = data;
this.size = data.length;
this.type = type;
@ -19,19 +19,21 @@ self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || function (v
FBB_proto = FakeBlobBuilder.prototype = [],
FB_proto = FakeBlob.prototype,
FileReaderSync = view.FileReaderSync,
FileException = function (type) {
FileException = function(type) {
this.code = this[this.name = type];
},
file_ex_codes = (
"NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR " +
"NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR"
).split(" "),
'NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR ' +
'NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR'
).split(' '),
file_ex_code = file_ex_codes.length,
URL = view.URL = view.URL || view.webkitURL || view,
real_create_object_url, real_revoke_object_url, btoa = view.btoa,
real_create_object_url,
real_revoke_object_url,
btoa = view.btoa,
ArrayBuffer = view.ArrayBuffer,
can_apply_typed_arrays = false,
can_apply_typed_arrays_test = function (pass) {
can_apply_typed_arrays_test = function(pass) {
can_apply_typed_arrays = !pass;
};
while (file_ex_code--) {
@ -47,35 +49,35 @@ self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || function (v
}
real_create_object_url = URL.createObjectURL;
real_revoke_object_url = URL.revokeObjectURL;
URL.createObjectURL = function (blob) {
var type = blob.type;
URL.createObjectURL = function(blob) {
let type = blob.type;
if (type === null) {
type = "application/octet-stream";
type = 'application/octet-stream';
}
if (blob instanceof FakeBlob) {
if (btoa) {
return "data:" + type + ";base64," + btoa(blob.data);
} else {
return "data:" + type + "," + encodeURIComponent(blob.data);
return 'data:' + type + ';base64,' + btoa(blob.data);
}
return 'data:' + type + ',' + encodeURIComponent(blob.data);
} else if (real_create_object_url) {
return real_create_object_url.call(URL, blob);
}
};
URL.revokeObjectURL = function (object_url) {
if (object_url.substring(0, 5) !== "data:" && real_revoke_object_url) {
URL.revokeObjectURL = function(object_url) {
if (object_url.substring(0, 5) !== 'data:' && real_revoke_object_url) {
real_revoke_object_url.call(URL, object_url);
}
};
FBB_proto.append = function (data /*, endings*/ ) {
var bb = this;
FBB_proto.append = function(data /* , endings*/) {
const bb = this;
// decode data to a binary string
if (ArrayBuffer && data instanceof ArrayBuffer) {
if (can_apply_typed_arrays) {
bb.push(String.fromCharCode.apply(String, new Uint8Array(data)));
} else {
var
str = "",
let
str = '',
buf = new Uint8Array(data),
i = 0,
buf_len = buf.length;
@ -83,35 +85,35 @@ self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || function (v
str += String.fromCharCode(buf[i]);
}
}
} else if (get_class(data) === "Blob" || get_class(data) === "File") {
} else if (get_class(data) === 'Blob' || get_class(data) === 'File') {
if (FileReaderSync) {
var fr = new FileReaderSync;
const fr = new FileReaderSync();
bb.push(fr.readAsBinaryString(data));
} else {
// async FileReader won't work as BlobBuilder is sync
throw new FileException("NOT_READABLE_ERR");
throw new FileException('NOT_READABLE_ERR');
}
} else if (data instanceof FakeBlob) {
bb.push(data.data);
} else {
if (typeof data !== "string") {
data += ""; // convert unsupported types to strings
if (typeof data !== 'string') {
data += ''; // convert unsupported types to strings
}
// decode UTF-16 to binary string
bb.push(unescape(encodeURIComponent(data)));
}
};
FBB_proto.getBlob = function (type) {
FBB_proto.getBlob = function(type) {
if (!arguments.length) {
type = null;
}
return new FakeBlob(this.join(""), type);
return new FakeBlob(this.join(''), type);
};
FBB_proto.toString = function () {
return "[object BlobBuilder]";
FBB_proto.toString = function() {
return '[object BlobBuilder]';
};
FB_proto.slice = function (start, end, type) {
var args = arguments.length;
FB_proto.slice = function(start, end, type) {
const args = arguments.length;
if (args < 3) {
type = null;
}
@ -119,8 +121,8 @@ self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || function (v
this.data.slice(start, args > 1 ? end : this.data.length), type
);
};
FB_proto.toString = function () {
return "[object Blob]";
FB_proto.toString = function() {
return '[object Blob]';
};
return FakeBlobBuilder;
}(self);

View File

@ -1,5 +1,5 @@
const G6 = require('../../../src/index');
const Layout = require('../../../plugins/layout.forceAtlas2/');
const Layout = require('../../../build/plugin.layout.forceAtlas2');
const expect = require('chai').expect;
const Util = G6.Util;