heavyai-charting/test/setup-unit-tests.js
Chris Viau 52e6224658
Chrisv/formatting merge (#181)
* fix pie chart label truncation

* added date formatting for line chart

* build

* fixed unit tests that were broken by upgrading jsdom

* trying to kill node_modules

* Revert "trying to kill node_modules"

This reverts commit 954d0668ea97291b8bbdb62d1631360f4fe9544d.

* another attempt at fixing travis

* upgrade travis node version to 9

* travis node 8

* delete package-lock.json
2018-04-13 13:19:37 -04:00

47 lines
1.3 KiB
JavaScript

const jsdom = require("jsdom")
const { JSDOM } = jsdom
var atob = require("atob")
var url = require("url")
var fs = require("fs")
var exposedProperties = ['window', 'navigator', 'document'];
global.window = new JSDOM(
`<!doctype html><html><body></body></html>`,
{
resources: "usable",
runScripts: "dangerously",
url: "http://localhost"
}
).window
global.document = global.window.document
global.window.atob = atob
global.window.URL = url
global.window.TCopyParams = () => {}
global.window.TDatumType = {"SMALLINT":0,"INT":1,"BIGINT":2,"FLOAT":3,"DECIMAL":4,"DOUBLE":5,"STR":6,"TIME":7,"TIMESTAMP":8,"DATE":9,"BOOL":10,"INTERVAL_DAY_TIME":11,"INTERVAL_YEAR_MONTH":12}
global.window.TEncodingType = {"NONE":0,"FIXED":1,"RL":2,"DIFF":3,"DICT":4,"SPARSE":5}
Object.keys(document.defaultView).forEach((property) => {
if (typeof global[property] === 'undefined') {
exposedProperties.push(property);
global[property] = document.defaultView[property];
}
});
global.navigator = {
userAgent: 'node.js'
};
console.warn = (a) => {}
console.error = (a) => {}
propagateToGlobal(global.window)
function propagateToGlobal (window) {
for (let key in window) {
if (!window.hasOwnProperty(key)) continue
if (key in global) continue
global[key] = window[key]
}
}