Welcome to mirror list, hosted at ThFree Co, Russian Federation.

throw.spec.js « acceptance « test « mocha-3.1.0 « lib « tests - github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 46cfbad6ad64588d9ab6fa7e22411af7b0dfc070 (plain)
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
var Suite = require('../../lib/suite');
var Test = require('../../lib/test');
var Runner = require('../../lib/runner');

describe('a test that throws', function () {
  var suite, runner;

  beforeEach(function(){
    suite = new Suite('Suite', 'root');
    runner = new Runner(suite);
  })
  
  describe('undefined', function (){
    it('should not pass if throwing sync and test is sync', function(done) {
      var test = new Test('im sync and throw undefined sync', function(){
        throw undefined;
      });
      suite.addTest(test);
      runner = new Runner(suite);
      runner.on('end', function(){
        expect(runner.failures).to.equal(1);
        expect(test.state).to.equal('failed');
        done();
      });
      runner.run();
    })

    it('should not pass if throwing sync and test is async', function(done){
      var test = new Test('im async and throw undefined sync', function(done2){
        throw undefined;
        process.nexTick(done2);
      });
      suite.addTest(test);
      runner = new Runner(suite);
      runner.on('end', function(){
        expect(runner.failures).to.equal(1);
        expect(test.state).to.equal('failed');
        done();
      });
      runner.run();
    });

    it('should not pass if throwing async and test is async', function(done){
      var test = new Test('im async and throw undefined async', function(done2){
        process.nexTick(function(){
          throw undefined;
          done2();
        });
      });
      suite.addTest(test);
      runner = new Runner(suite);
      runner.on('end', function(){
        expect(runner.failures).to.equal(1);
        expect(test.state).to.equal('failed');
        done();
      });
      runner.run();
    })
  })

  describe('null', function (){
    it('should not pass if throwing sync and test is sync', function(done) {
      var test = new Test('im sync and throw null sync', function(){
        throw null;
      });
      suite.addTest(test);
      runner = new Runner(suite);
      runner.on('end', function(){
        expect(runner.failures).to.equal(1);
        expect(test.state).to.equal('failed');
        done();
      });
      runner.run();
    })

    it('should not pass if throwing sync and test is async', function(done){
      var test = new Test('im async and throw null sync', function(done2){
        throw null;
        process.nexTick(done2);
      });
      suite.addTest(test);
      runner = new Runner(suite);
      runner.on('end', function(){
        expect(runner.failures).to.equal(1);
        expect(test.state).to.equal('failed');
        done();
      });
      runner.run();
    });

    it('should not pass if throwing async and test is async', function(done){
      var test = new Test('im async and throw null async', function(done2){
        process.nexTick(function(){
          throw null;
          done2();
        });
      });
      suite.addTest(test);
      runner = new Runner(suite);
      runner.on('end', function(){
        expect(runner.failures).to.equal(1);
        expect(test.state).to.equal('failed');
        done();
      });
      runner.run();
    })
  })
})