| 123456789101112131415161718192021222324252627282930313233343536 |
- describe = (function(original){
- var each = 'before each',
- all = 'before all',
- after = 'after all';
- return function(name, object){
- if (object instanceof Function){
- original(name, object);
- return;
- }
- original(name, function(){
- var beforeAll = object[all],
- bfEach = object[each],
- aAll = object[after];
- beforeEach(function(){
- if (beforeAll){
- beforeAll();
- beforeAll = null;
- }
- if (bfEach) bfEach();
- });
- delete object[all];
- delete object[each];
- delete object[after];
- for (var key in object)
- it(key, object[key]);
- if (aAll) it('cleans up', aAll);
- });
- };
- })(describe);
|