anchor.diff:            isNavigationTreeNode
                 .named('a.dart')
                 .havingPath(convertPath('lib/a.dart'))
  -              .havingHref('/project/lib/a.dart'),
  +              .havingHref('/project/lib/a.dart', pathMapper),
             isNavigationTreeNode
                 .named('b.dart')
                 .havingPath(convertPath('lib/b.dart'))
  -              .havingHref('/project/lib/b.dart')
  +              .havingHref('/project/lib/b.dart', pathMapper)
           ]));
     }
   
  
positive.code: // for details. All rights reserved. Use of this source code is governed by a
  // BSD-style license that can be found in the LICENSE file.
  
  import 'package:nnbd_migration/src/front_end/migration_info.dart';
  import 'package:nnbd_migration/src/front_end/navigation_tree_renderer.dart';
  import 'package:nnbd_migration/src/front_end/path_mapper.dart';
  import 'package:nnbd_migration/src/front_end/web/navigation_tree.dart';
  import 'package:test/test.dart';
  import 'package:test_reflective_loader/test_reflective_loader.dart';
  
  import 'nnbd_migration_test_base.dart';
  
  
negative.code:   TypeMatcher<NavigationTreeNode> named(dynamic matcher) =>
        having((node) => node.name, 'name', matcher);
  
    TypeMatcher<NavigationTreeNode> havingHref(
            String path, PathMapper pathMapper) =>
        having((node) => node.href, 'href', pathMapper.map(path));
  
    TypeMatcher<NavigationTreeNode> havingPath(dynamic matcher) =>
        having((node) => node.path, 'path', matcher);
  