anchor.diff:  
       test('should leave starting from child to parent', () {
         var log = [];
  -      void logginLeaveHandler(RouteLeaveEvent r) {
  +      void loggingLeaveHandler(RouteLeaveEvent r) {
           log.add(r.route.name);
         };
  +
         var router = new Router();
         router.root
           ..addRoute(path: '/foo',
               name: 'foo',
  -            leave: logginLeaveHandler,
  +            leave: loggingLeaveHandler,
               mount: (Route route) => route
                 ..addRoute(path: '/bar',
                     name: 'bar',
  -                  leave: logginLeaveHandler,
  +                  leave: loggingLeaveHandler,
                     mount: (Route route) => route
                       ..addRoute(path: '/baz',
                           name: 'baz',
  -                        leave: logginLeaveHandler)));
  +                        leave: loggingLeaveHandler)));
   
   
         router.route('/foo/bar/baz').then(expectAsync((_) {
  
positive.code: 
        router.route('/foo/bar').then(expectAsync((_) {
          expect(counters, {
            'fooPreEnter': 1,
            'fooPreLeave': 0,
            'fooEnter': 1,
            'fooLeave': 0,
            'barPreEnter': 0,
            'barPreLeave': 0,
  
negative.code: 
          router.route('/foo/bar').then(expectAsync((_) {
            expect(counters, {
              'fooPreEnter': 1,
              'fooPreLeave': 0,
              'fooEnter': 1,
              'fooLeave': 0,
              'barPreEnter': 0,
              'barPreLeave': 0,
              'barEnter': 0,
              'barLeave': 0
            });
  
            router.route('/foo/baz').then(expectAsync((_) {
              expect(counters, {
                'fooPreEnter': 2, // +1
                'fooPreLeave': 1, // +1
                'fooEnter': 2,    // +1
                'fooLeave': 1,    // +1
                'barPreEnter': 0,
                'barPreLeave': 0,
                'barEnter': 0,
                'barLeave': 0
              });
  
              router.route('/bar').then(expectAsync((_) {
                expect(counters, {
                  'fooPreEnter': 2,
                  'fooPreLeave': 2, // +1
                  'fooEnter': 2,
                  'fooLeave': 2,    // +1
                  'barPreEnter': 1, // +1
                  'barPreLeave': 0,
                  'barEnter': 1,    // +1
                  'barLeave': 0
                });
              }));
            }));
  