Вход Регистрация
Файл: framework/thirdparty/jasmine/spec/suites/JsApiReporterSpec.js
Строк: 86
<?php
describe
('jasmine.jsApiReporter', function() {
  
describe('results', function () {
    var 
reporterspec1spec2spec3expectedSpec1ResultsexpectedSpec2Results;
    var 
env;
    var 
suitenestedSuitenestedSpec;

    
beforeEach(function() {
      
env = new jasmine.Env();
      
env.updateInterval 0;

      
suite env.describe("top-level suite", function() {
        
spec1 env.it("spec 1", function() {
          
this.expect(true).toEqual(true);

        });

        
spec2 env.it("spec 2", function() {
          
this.expect(true).toEqual(false);
        });

        
nestedSuite env.describe("nested suite", function() {
          
nestedSpec env.it("nested spec", function() {
            
expect(true).toEqual(true);
          })
        });

        
spec3 env.it("spec 3", function() {
          
this.log('some debug message');
        });
      });

      
reporter = new jasmine.JsApiReporter();
      
env.addReporter(reporter);

      
env.execute();

      
expectedSpec1Results = {
        
messagesspec1.results().getItems(),
        
result"passed"
      
};
      
expectedSpec2Results = {
        
messagesspec2.results().getItems(),
        
result"failed"
      
};
    });

    
it('resultForSpec() should return the result for the given spec', function () {
      
expect(reporter.resultsForSpec(spec1.id)).toEqual(expectedSpec1Results);
      
expect(reporter.resultsForSpec(spec2.id)).toEqual(expectedSpec2Results);
    });

    
it('results() should return a hash of all results, indexed by spec id', function () {
      
expect(reporter.results()[spec1.id]).toEqual(expectedSpec1Results);
      
expect(reporter.results()[spec2.id]).toEqual(expectedSpec2Results);
    });

    
it("should return nested suites as children of their parents", function() {
      
expect(reporter.suites()).toEqual([
        { 
id0name'top-level suite'type'suite',
          
children: [
            { 
id0name'spec 1'type'spec'children: [ ] },
            { 
id1name'spec 2'type'spec'children: [ ] },
            { 
id1name'nested suite'type'suite',
              
children: [
                { 
id2name'nested spec'type'spec'children: [ ] }
              ]
            },
            { 
id3name'spec 3'type'spec'children: [ ] }
          ]
        }
      ]);
    });

    
describe("#summarizeResult_", function() {
      
it("should summarize a passing result", function() {
        var 
result reporter.results()[spec1.id];
        var 
summarizedResult reporter.summarizeResult_(result);
        
expect(summarizedResult.result).toEqual('passed');
        
expect(summarizedResult.messages.length).toEqual(1);
        
expect(summarizedResult.messages[0].message).toEqual(result.messages[0].message);
        
expect(summarizedResult.messages[0].passed).toBeTruthy();
        
expect(summarizedResult.messages[0].type).toEqual('expect');
        
expect(summarizedResult.messages[0].text).toBeUndefined();
        
expect(summarizedResult.messages[0].trace.stack).toBeUndefined();
      });

      
it("should have a stack trace for failing specs", function() {
        var 
result reporter.results()[spec2.id];
        var 
summarizedResult reporter.summarizeResult_(result);
        
expect(summarizedResult.result).toEqual('failed');
        
expect(summarizedResult.messages[0].trace.stack).toEqual(result.messages[0].trace.stack);
      });

      
it("should have messages for specs with messages", function() {
        var 
result reporter.results()[spec3.id];
        var 
summarizedResult reporter.summarizeResult_(result);
        
expect(summarizedResult.result).toEqual('passed');
        
expect(summarizedResult.messages[0].type).toEqual('log');
        
expect(summarizedResult.messages[0].text).toEqual('some debug message');
      });
    });
  });
});
?>
Онлайн: 1
Реклама