1 | describe('MultiReporter', function() {
|
2 | var grunt = require('grunt');
|
3 | var MultiReporter = require('../tasks/reporters/multi')(grunt);
|
4 | var expect = require('chai').expect;
|
5 |
|
6 | it ('should create object and pass filenames and options', function() {
|
7 | var actual = {};
|
8 | var expected = {
|
9 | filenames: "Abc",
|
10 | options: "xyz"
|
11 | };
|
12 |
|
13 | var Reporter = function(filenames, options) {
|
14 | actual.filenames = filenames;
|
15 | actual.options = options;
|
16 | };
|
17 |
|
18 | var reporter = new MultiReporter(expected.filenames, expected.options);
|
19 | reporter.addReporter(Reporter);
|
20 | expect(actual).to.deep.equal(expected);
|
21 | });
|
22 |
|
23 | it ('should call given method on all reporters', function() {
|
24 | var i = 0;
|
25 | var methodCalled = [false, false];
|
26 | var Reporter = function() {
|
27 | this.someMethod = function() {
|
28 | methodCalled[this] = true;
|
29 | }.bind(i);
|
30 |
|
31 | i += 1;
|
32 | };
|
33 |
|
34 | var reporter = new MultiReporter();
|
35 |
|
36 | reporter.addReporter(Reporter);
|
37 | reporter.addReporter(Reporter);
|
38 |
|
39 | reporter.invoke('someMethod');
|
40 |
|
41 | expect(methodCalled[0]).to.equal(true);
|
42 | expect(methodCalled[1]).to.equal(true);
|
43 | });
|
44 |
|
45 | });
|