import webglSupport from './mockWebGL';
import { Helper, useNullEngine } from "./helper";
import { viewerGlobals } from "../../src";
export class Boot {
public static AppendResult = false;
public static main() {
//let babylonSource = Boot.loadSync('base/js/babylon.viewer.max.js');
//let spectreSource = Boot.loadSync('base/js/spectreonly.js');
document.body.innerHTML = `
`;
//register actions to occur before each test
beforeEach(function (done) {
// tslint:disable-next-line:no-console
//console.debug('> Executing "' + details.name + '"');
//clear DOM and create canvas and container
document.getElementById('working-div')!.innerHTML = `WORKING CANVASES.
`;
if (Boot.AppendResult) {
var newResult = document.createElement('div');
document.getElementById('result-div')!.appendChild(newResult);
newResult.innerHTML = ``;
/*if (!(window).BABYLON) {
eval.call(null, babylonSource);
eval.call(null, spectreSource);
}*/
}
else {
//reset global state before executing test
//delete (window).BABYLON;
//delete (window).BabylonViewer;
//delete (window).SPECTRE;
/*eval.call(null, babylonSource);
eval.call(null, spectreSource);*/
}
viewerGlobals.disableInit = true;
var DOMContentLoaded_event = document.createEvent("Event")
DOMContentLoaded_event.initEvent("DOMContentLoaded", true, true)
window.document.dispatchEvent(DOMContentLoaded_event);
// Disable Webgl2 support in test mode for Phantom/IE compatibility.
viewerGlobals.disableWebGL2Support = true;
done();
});
afterEach(function (done) {
Helper.disposeViewer();
//(window).BabylonViewer.disposeAll();
done();
});
}
}
if (!useNullEngine) {
console.log("mocking webgl");
webglSupport();
}
export var main = Boot.main;