diff options
| author | Andres Ornelas | 2010-06-29 11:15:41 -0700 | 
|---|---|---|
| committer | Andres Ornelas | 2010-06-29 11:15:41 -0700 | 
| commit | fdc0bb232a259faf791b901f583e09bba3213ba5 (patch) | |
| tree | c7c810fc338e455a6f32b522afca3e5dde74e8e5 | |
| parent | 42257f22af643fc5e91162cc99adeef32916fd28 (diff) | |
| download | angular.js-fdc0bb232a259faf791b901f583e09bba3213ba5.tar.bz2 | |
add test for error in afterEach
| -rw-r--r-- | test/scenario/RunnerSpec.js | 37 | 
1 files changed, 33 insertions, 4 deletions
diff --git a/test/scenario/RunnerSpec.js b/test/scenario/RunnerSpec.js index 5e05cd00..884e897a 100644 --- a/test/scenario/RunnerSpec.js +++ b/test/scenario/RunnerSpec.js @@ -75,22 +75,51 @@ describe('Runner', function(){        it('should execute afterEach after every it', function() {          Describe('describe name', function(){            AfterEach(logger('after;')); -          It('should text', logger('body;')); +          It('should text1', logger('body1;'));            It('should text2', logger('body2;'));          }); -        expect(log).toEqual('body;after;body2;after;'); +        expect(log).toEqual('body1;after;body2;after;');        });        it('should always execute afterEach after every it', function() {          Describe('describe name', function(){            AfterEach(logger('after;'));            It('should text', function() { -            log = 'body;'; +            logger('body1;')();              throw "MyError";            });            It('should text2', logger('body2;'));          }); -        expect(log).toEqual('body;after;body2;after;'); +        expect(log).toEqual('body1;after;body2;after;'); +      }); + +      it('should report an error if afterEach fails', function() { +        var next; +        Describe('describe name', function(){ +          AfterEach(function() { +            $scenario.addStep('afterEachLog', logger('after;')); +            $scenario.addStep('afterEachThrow', function() { +              throw "AfterError"; +            }); +          }); +          It('should text1', function() { +            $scenario.addStep('step1', logger('step1;')); +          }); +          It('should text2', function() { +            $scenario.addStep('step2', logger('step2;')); +          }); +        }); +        $scenario.run(body); +        expect(log).toEqual('step1;after;step2;after;'); +        expect(scenario.$testrun.results).toEqual([ +          { name : 'describe name: it should text1', +            passed : false, +            error : 'AfterError', +            steps : [ 'step1', 'afterEachLog', 'afterEachThrow' ] }, +          { name : 'describe name: it should text2', +            passed : false, +            error : 'AfterError', +            steps : [ 'step2', 'afterEachLog', 'afterEachThrow' ] }]);        });      });    });  | 
