15832144755
2022-01-06 7b4c8991dca9cf2a809a95e239d144697d3afb56
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import { Ellipsoid } from "../../../Source/Cesium.js";
import { Globe } from "../../../Source/Cesium.js";
import createScene from "../../createScene.js";
import { HomeButtonViewModel } from "../../../Source/Cesium.js";
 
describe(
  "Widgets/HomeButton/HomeButtonViewModel",
  function () {
    var scene;
    var ellipsoid = Ellipsoid.WGS84;
    var globe = new Globe(ellipsoid);
    beforeAll(function () {
      scene = createScene();
      scene.globe = globe;
    });
 
    afterAll(function () {
      scene.destroyForSpecs();
    });
 
    it("constructor sets default values", function () {
      var viewModel = new HomeButtonViewModel(scene);
      expect(viewModel.scene).toBe(scene);
    });
 
    it("throws if scene is undefined", function () {
      expect(function () {
        return new HomeButtonViewModel(undefined);
      }).toThrowDeveloperError();
    });
 
    //These remaining tests are sanity checks to make sure the code executes
    //The actual position of the camera at the end of the command is
    //tied to the implementation of various camera features.
    it("works in 3D", function () {
      scene.render();
      var viewModel = new HomeButtonViewModel(scene);
      viewModel.command();
    });
 
    it("works in 2D", function () {
      scene.render();
      var viewModel = new HomeButtonViewModel(scene);
      scene.morphTo2D();
      viewModel.command();
    });
 
    it("works in Columbus View", function () {
      scene.render();
      var viewModel = new HomeButtonViewModel(scene);
      scene.morphToColumbusView();
      viewModel.command();
    });
 
    it("works while morphing", function () {
      scene.render();
      var viewModel = new HomeButtonViewModel(scene);
      scene.morphToColumbusView(2000);
      viewModel.command();
    });
  },
  "WebGL"
);