yzt
2023-05-26 de4278af2fd46705a40bac58ec01122db6b7f3d7
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
import { when } from "../Source/Cesium.js";
import addDefaultMatchers from "./addDefaultMatchers.js";
import equalsMethodEqualityTester from "./equalsMethodEqualityTester.js";
 
function customizeJasmine(
  env,
  includedCategory,
  excludedCategory,
  webglValidation,
  webglStub,
  release
) {
  // set this for uniform test resolution across devices
  window.devicePixelRatio = 1;
 
  window.specsUsingRelease = release;
 
  var originalDescribe = window.describe;
 
  window.describe = function (name, suite, categories) {
    // exclude this spec if we're filtering by category and it's not the selected category
    // otherwise if we have an excluded category, exclude this test if the category of this spec matches
    if (includedCategory && categories !== includedCategory) {
      return;
    } else if (excludedCategory && categories === excludedCategory) {
      return;
    }
 
    originalDescribe(name, suite, categories);
  };
 
  // Override beforeEach(), afterEach(), beforeAll(), afterAll(), and it() to automatically
  // call done() when a returned promise resolves.
  var originalIt = window.it;
 
  window.it = function (description, f, timeout, categories) {
    originalIt(
      description,
      function (done) {
        var result = f();
        when(
          result,
          function () {
            done();
          },
          function (e) {
            done.fail("promise rejected: " + e.toString());
          }
        );
      },
      timeout,
      categories
    );
  };
 
  var originalBeforeEach = window.beforeEach;
 
  window.beforeEach = function (f) {
    originalBeforeEach(function (done) {
      var result = f();
      when(
        result,
        function () {
          done();
        },
        function (e) {
          done.fail("promise rejected: " + e.toString());
        }
      );
    });
  };
 
  var originalAfterEach = window.afterEach;
 
  window.afterEach = function (f) {
    originalAfterEach(function (done) {
      var result = f();
      when(
        result,
        function () {
          done();
        },
        function (e) {
          done.fail("promise rejected: " + e.toString());
        }
      );
    });
  };
 
  var originalBeforeAll = window.beforeAll;
 
  window.beforeAll = function (f) {
    originalBeforeAll(function (done) {
      var result = f();
      when(
        result,
        function () {
          done();
        },
        function (e) {
          done.fail("promise rejected: " + e.toString());
        }
      );
    });
  };
 
  var originalAfterAll = window.afterAll;
 
  window.afterAll = function (f) {
    originalAfterAll(function (done) {
      var result = f();
      when(
        result,
        function () {
          done();
        },
        function (e) {
          done.fail("promise rejected: " + e.toString());
        }
      );
    });
  };
 
  if (webglValidation) {
    window.webglValidation = true;
  }
 
  if (webglStub) {
    window.webglStub = true;
  }
 
  //env.catchExceptions(true);
 
  env.beforeEach(function () {
    addDefaultMatchers(!release).call(env);
    env.addCustomEqualityTester(equalsMethodEqualityTester);
  });
}
export default customizeJasmine;