Вход Регистрация
Файл: framework/thirdparty/jasmine/spec/suites/MultiReporterSpec.js
Строк: 49
<?php
describe
("jasmine.MultiReporter", function() {
  var 
multiReporterfakeReporter1fakeReporter2;

  
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');
  });
});
?>
Онлайн: 1
Реклама