|
@@ -0,0 +1,88 @@
|
|
|
|
+import { Helper } from "../../../commons/helper";
|
|
|
|
+import { assert, expect, should } from "../viewerReference";
|
|
|
|
+import { DefaultViewer, AbstractViewer, Version, viewerManager } from "../../../../src";
|
|
|
|
+
|
|
|
|
+export let name = "viewer manager tests";
|
|
|
|
+
|
|
|
|
+describe('Viewer Manager', function () {
|
|
|
|
+ it("should be defined when the library is loaded", (done) => {
|
|
|
|
+ assert.isDefined(viewerManager, "viewerManager is not defined");
|
|
|
|
+ done();
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ it("should add and remove a viewer when viewer constructed and disposed", (done) => {
|
|
|
|
+ let element = document.createElement("div");
|
|
|
|
+ let randomString = "" + Math.random();
|
|
|
|
+ element.id = randomString;
|
|
|
|
+
|
|
|
|
+ /*let addedFlag = false;
|
|
|
|
+
|
|
|
|
+ viewerManager.onViewerAddedObservable.add((addedViewer) => {
|
|
|
|
+ assert.equal(addedViewer.baseId, randomString);
|
|
|
|
+ addedFlag = true;
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ viewerManager.onViewerRemovedObservable.add((viewerId) => {
|
|
|
|
+ assert.equal(randomString, viewerId);
|
|
|
|
+ if (addedFlag) {
|
|
|
|
+ done();
|
|
|
|
+ } else {
|
|
|
|
+ assert.fail();
|
|
|
|
+ }
|
|
|
|
+ });*/
|
|
|
|
+
|
|
|
|
+ assert.isUndefined(viewerManager.getViewerByHTMLElement(element));
|
|
|
|
+ assert.isUndefined(viewerManager.getViewerById(randomString));
|
|
|
|
+ let viewer = Helper.getNewViewerInstance(element);
|
|
|
|
+ assert.isDefined(viewerManager.getViewerByHTMLElement(element));
|
|
|
|
+ assert.isDefined(viewerManager.getViewerById(randomString));
|
|
|
|
+ viewer.dispose();
|
|
|
|
+ assert.isUndefined(viewerManager.getViewerByHTMLElement(element));
|
|
|
|
+ assert.isUndefined(viewerManager.getViewerById(randomString));
|
|
|
|
+ done();
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ it("should trigger observers when viewer constructed and disposed", (done) => {
|
|
|
|
+ let element = document.createElement("div");
|
|
|
|
+ let randomString = "" + Math.random();
|
|
|
|
+ element.id = randomString;
|
|
|
|
+
|
|
|
|
+ let addedFlag = false;
|
|
|
|
+
|
|
|
|
+ viewerManager.onViewerAddedObservable.add((addedViewer) => {
|
|
|
|
+ assert.equal(addedViewer.baseId, randomString);
|
|
|
|
+ addedFlag = true;
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ viewerManager.onViewerRemovedObservable.add((viewerId) => {
|
|
|
|
+ assert.equal(randomString, viewerId);
|
|
|
|
+ if (addedFlag) {
|
|
|
|
+ viewerManager.dispose();
|
|
|
|
+ done();
|
|
|
|
+ } else {
|
|
|
|
+ assert.fail();
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ let viewer = Helper.getNewViewerInstance(element);
|
|
|
|
+ viewer.dispose();
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ it("should dispose viewer(s) when disposed", (done) => {
|
|
|
|
+ let element = document.createElement("div");
|
|
|
|
+ let randomString = "" + Math.random();
|
|
|
|
+ element.id = randomString;
|
|
|
|
+
|
|
|
|
+ let viewer = Helper.getNewViewerInstance(element);
|
|
|
|
+
|
|
|
|
+ let dispose = viewer.dispose;
|
|
|
|
+
|
|
|
|
+ viewer.dispose = () => {
|
|
|
|
+ dispose.call(viewer);
|
|
|
|
+ done();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ viewerManager.dispose();
|
|
|
|
+
|
|
|
|
+ });
|
|
|
|
+});
|