viewerManager.ts 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. import { Helper } from "../../../commons/helper";
  2. import { assert, expect, should } from "../viewerReference";
  3. import { DefaultViewer, AbstractViewer, Version, viewerManager } from "../../../../src";
  4. export let name = "viewer manager tests";
  5. describe('Viewer Manager', function() {
  6. it("should be defined when the library is loaded", (done) => {
  7. assert.isDefined(viewerManager, "viewerManager is not defined");
  8. done();
  9. });
  10. it("should add and remove a viewer when viewer constructed and disposed", (done) => {
  11. let element = document.createElement("div");
  12. let randomString = "" + Math.random();
  13. element.id = randomString;
  14. assert.isUndefined(viewerManager.getViewerByHTMLElement(element));
  15. assert.isUndefined(viewerManager.getViewerById(randomString));
  16. let viewer = Helper.getNewViewerInstance(element);
  17. assert.isDefined(viewerManager.getViewerByHTMLElement(element));
  18. assert.isDefined(viewerManager.getViewerById(randomString));
  19. viewer.dispose();
  20. assert.isUndefined(viewerManager.getViewerByHTMLElement(element));
  21. assert.isUndefined(viewerManager.getViewerById(randomString));
  22. done();
  23. });
  24. it("should trigger the promsie when viewer was added", (done) => {
  25. let element = document.createElement("div");
  26. let randomString = "" + Math.random();
  27. element.id = randomString;
  28. let viewer = Helper.getNewViewerInstance(element);
  29. viewerManager.getViewerPromiseById(randomString).then(() => {
  30. viewer.dispose();
  31. done();
  32. }, (error) => {
  33. assert.fail();
  34. });
  35. });
  36. it("should trigger observers when viewer constructed and disposed", (done) => {
  37. let element = document.createElement("div");
  38. let randomString = "" + Math.random();
  39. element.id = randomString;
  40. let addedFlag = false;
  41. viewerManager.onViewerAddedObservable.add((addedViewer) => {
  42. assert.equal(addedViewer.baseId, randomString);
  43. addedFlag = true;
  44. });
  45. viewerManager.onViewerRemovedObservable.add((viewerId) => {
  46. assert.equal(randomString, viewerId);
  47. if (addedFlag) {
  48. viewerManager.dispose();
  49. done();
  50. } else {
  51. assert.fail();
  52. }
  53. });
  54. let viewer = Helper.getNewViewerInstance(element);
  55. viewer.dispose();
  56. });
  57. it("should dispose viewer(s) when disposed", (done) => {
  58. let element = document.createElement("div");
  59. let randomString = "" + Math.random();
  60. element.id = randomString;
  61. let viewer = Helper.getNewViewerInstance(element);
  62. let dispose = viewer.dispose;
  63. viewer.dispose = () => {
  64. dispose.call(viewer);
  65. done();
  66. };
  67. viewerManager.dispose();
  68. });
  69. });