anchor.diff:          'bEnter': 0
         });
   
  -      router.route('').then((_) {
  +      return router.route('').then((_) {
           expect(counters, {
             'aEnter': 1,
             'bEnter': 1
           });
   
           var routeA = router.root.findRoute('a');
  -        router.go('b', {'bar': 'bbb'}, startingFrom: routeA).then((_) {
  +        return router.go('b', {'bar': 'bbb'}, startingFrom: routeA).then((_) {
             var mockHistory = mockWindow.history;
   
             mockHistory.getLogs(callsTo('pushState', anything))
                .verify(happenedExactly(1));
             expect(mockHistory.getLogs(callsTo('pushState', anything)).last.args,
  -              [null, '', '/null/bbb']);
  +              [null, null, '/null/bbb']);
           });
         });
       });
  
positive.code:         mockWindow.location.when(callsTo('get host')).alwaysReturn(window.location.host);
  
          var router = new Router(useFragment: true, windowImpl: mockWindow);
          router.listen(appRoot: document.documentElement);
  
          router.onRouteStart.listen(expectAsync((RouteStartEvent e) {
            expect(e.uri, 'test2');
          }));
  
          anchorChild.click();
        });
  
negative.code:       test('it should be called if event triggered on anchor element', () {
          AnchorElement anchor = new AnchorElement();
          anchor.href = '#test1';
          document.body.append(toRemove = anchor);
  
          var mockWindow = new MockWindow();
          var mockHashChangeController = new StreamController<Event>(sync: true);
  