Blame view

framework/thirdparty/jasmine/spec/suites/SuiteSpec.js 3.64 KB
0084d336   Administrator   Importers CRUD
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
  describe('Suite', function() {
    var fakeTimer;
    var env;
  
    beforeEach(function() {
      env = new jasmine.Env();
      env.updateInterval = 0;
  
      fakeTimer = new jasmine.FakeTimer();
      env.setTimeout = fakeTimer.setTimeout;
      env.clearTimeout = fakeTimer.clearTimeout;
      env.setInterval = fakeTimer.setInterval;
      env.clearInterval = fakeTimer.clearInterval;
    });
  
    describe('Specs', function () {
      var suite;
  
      beforeEach(function() {
        suite = env.describe('Suite 1', function () {
          env.it('Spec 1', function() {
            this.runs(function () {
              this.expect(true).toEqual(true);
            });
          });
          env.it('Spec 2', function() {
            this.runs(function () {
              this.expect(true).toEqual(true);
            });
          });
          env.describe('Suite 2', function () {
            env.it('Spec 3', function() {
              this.runs(function () {
                this.expect(true).toEqual(true);
              });
            });
          });
          env.it('Spec 4', function() {
            this.runs(function () {
              this.expect(true).toEqual(true);
            });
          });
        });
      });
      
      it('#specs should return all immediate children that are specs.', function () {
        var suiteSpecs = suite.specs();
        expect(suiteSpecs.length).toEqual(3);
        expect(suiteSpecs[0].description).toEqual('Spec 1');
        expect(suiteSpecs[1].description).toEqual('Spec 2');
        expect(suiteSpecs[2].description).toEqual('Spec 4');
      });
  
      it("#suites should return all immediate children that are suites.", function() {
        var nestedSuites = suite.suites();
        expect(nestedSuites.length).toEqual(1);
        expect(nestedSuites[0].description).toEqual('Suite 2');
      });
  
      it("#children should return all immediate children including suites and specs.", function() {
        var children = suite.children();
        expect(children.length).toEqual(4);
        expect(children[0].description).toEqual('Spec 1');
        expect(children[1].description).toEqual('Spec 2');
        expect(children[2].description).toEqual('Suite 2');
        expect(children[3].description).toEqual('Spec 4');
      });
    });
  
    describe('SpecCount', function () {
  
      it('should keep a count of the number of specs that are run', function() {
        var suite = env.describe('one suite description', function () {
          env.it('should be a test', function() {
            this.runs(function () {
              this.expect(true).toEqual(true);
            });
          });
          env.it('should be another test', function() {
            this.runs(function () {
              this.expect(true).toEqual(true);
            });
          });
          env.it('should be a third test', function() {
            this.runs(function () {
              this.expect(true).toEqual(true);
            });
          });
        });
  
        expect(suite.specs().length).toEqual(3);
      });
  
      it('specCount should be correct even with runs/waits blocks', function() {
        var suite = env.describe('one suite description', function () {
          env.it('should be a test', function() {
            this.runs(function () {
              this.expect(true).toEqual(true);
            });
          });
          env.it('should be another test', function() {
            this.runs(function () {
              this.expect(true).toEqual(true);
            });
            this.waits(10);
            this.runs(function () {
              this.expect(true).toEqual(true);
            });
          });
          env.it('should be a third test', function() {
            this.runs(function () {
              this.expect(true).toEqual(true);
            });
          });
        });
  
        expect(suite.specs().length).toEqual(3);
      });
    });
  });