Sha256: 1ec30b6215d6b13b85a062489a3aec8aa828994ef0d98e3730b62841bb5e0433

Contents?: true

Size: 1.89 KB

Versions: 19

Compression:

Stored size: 1.89 KB

Contents

describe("jasmine.MultiReporter", function() {
  var multiReporter, fakeReporter1, fakeReporter2;

  beforeEach(function() {
    multiReporter = new jasmine.MultiReporter();
    fakeReporter1 = jasmine.createSpyObj("fakeReporter1", ["reportSpecResults"]);
    fakeReporter2 = jasmine.createSpyObj("fakeReporter2", ["reportSpecResults", "reportRunnerStarting"]);
    multiReporter.addReporter(fakeReporter1);
    multiReporter.addReporter(fakeReporter2);
  });

  it("should support all the method calls that jasmine.Reporter supports", function() {
    var delegate = {};
    multiReporter.addReporter(delegate);

    this.addMatchers({
      toDelegateMethod: function(methodName) {
        delegate[methodName] = jasmine.createSpy(methodName);
        this.actual[methodName]("whatever argument");

        return delegate[methodName].wasCalled
            && delegate[methodName].mostRecentCall.args.length == 1
            && delegate[methodName].mostRecentCall.args[0] == "whatever argument";
      }
    });

    expect(multiReporter).toDelegateMethod('reportRunnerStarting');
    expect(multiReporter).toDelegateMethod('reportRunnerResults');
    expect(multiReporter).toDelegateMethod('reportSuiteResults');
    expect(multiReporter).toDelegateMethod('reportSpecStarting');
    expect(multiReporter).toDelegateMethod('reportSpecResults');
    expect(multiReporter).toDelegateMethod('log');
  });

  it("should delegate to any and all subreporters", function() {
    multiReporter.reportSpecResults('blah', 'foo');
    expect(fakeReporter1.reportSpecResults).toHaveBeenCalledWith('blah', 'foo');
    expect(fakeReporter2.reportSpecResults).toHaveBeenCalledWith('blah', 'foo');
  });

  it("should quietly skip delegating to any subreporters which lack the given method", function() {
    multiReporter.reportRunnerStarting('blah', 'foo');
    expect(fakeReporter2.reportRunnerStarting).toHaveBeenCalledWith('blah', 'foo');
  });
});

Version data entries

19 entries across 19 versions & 6 rubygems

Version Path
evergreen-1.0.0.rc lib/jasmine/spec/suites/MultiReporterSpec.js
rails31-evergreen-0.4.1 lib/jasmine/spec/suites/MultiReporterSpec.js
evergreen-0.4.1 lib/jasmine/spec/suites/MultiReporterSpec.js
js-test-driver-rails-0.3.0 vendor/jasmine/spec/suites/MultiReporterSpec.js
jasmine-1.0.2.0 jasmine/spec/suites/MultiReporterSpec.js
danieldkim-evergreen-0.4.0.6 lib/jasmine/spec/suites/MultiReporterSpec.js
gjastrab-evergreen-0.4.0.3 lib/jasmine/spec/suites/MultiReporterSpec.js
js-test-driver-rails-0.2.9 vendor/jasmine/spec/suites/MultiReporterSpec.js
js-test-driver-rails-0.2.8 vendor/jasmine/spec/suites/MultiReporterSpec.js
js-test-driver-rails-0.2.7 vendor/jasmine/spec/suites/MultiReporterSpec.js
evergreen-0.4.0 lib/jasmine/spec/suites/MultiReporterSpec.js
js-test-driver-rails-0.2.6 vendor/jasmine/spec/suites/MultiReporterSpec.js
js-test-driver-rails-0.2.5 vendor/jasmine/spec/suites/MultiReporterSpec.js
js-test-driver-rails-0.2.1 vendor/jasmine/spec/suites/MultiReporterSpec.js
js-test-driver-rails-0.2.0 vendor/jasmine/spec/suites/MultiReporterSpec.js
evergreen-0.3.0 lib/jasmine/spec/suites/MultiReporterSpec.js
evergreen-0.2.2 lib/jasmine/spec/suites/MultiReporterSpec.js
evergreen-0.2.1 lib/jasmine/spec/suites/MultiReporterSpec.js
evergreen-0.2.0 lib/jasmine/spec/suites/MultiReporterSpec.js