public void NavigationBuilderDoesNotReturnNullWithNoContextItem()
        {
            var context = new TestRenderingContext();
            var builder = new NavigationBuilder(context);

            Assert.NotNull(builder.Build());
        }
 private IEnumerable <IEnumerable <MenuItem> > GetSources(string menuName)
 {
     foreach (var provider in _navigationProviders)
     {
         if (provider.MenuName == menuName)
         {
             var builder = new NavigationBuilder();
             IEnumerable <MenuItem> items = null;
             try {
                 provider.GetNavigation(builder);
                 items = builder.Build();
             }
             catch (Exception ex) {
                 if (ex.IsFatal())
                 {
                     throw;
                 }
                 Logger.Error(ex, "Unexpected error while querying a navigation provider. It was ignored. The menu provided by the provider may not be complete.");
             }
             if (items != null)
             {
                 yield return(items);
             }
         }
     }
 }
 private IEnumerable <IEnumerable <MenuItem> > GetSources(string menuName)
 {
     foreach (var provider in _navigationProviders)
     {
         if (provider.MenuName != menuName)
         {
             continue;
         }
         var builder = new NavigationBuilder();
         IEnumerable <MenuItem> items = null;
         try
         {
             provider.GetNavigation(builder);
             items = builder.Build();
         }
         catch (Exception ex)
         {
             Logger.Error(ex, "在查询导航提供程序时发生了意外的错误。它被忽略,因为导航提供程序提供的菜单可能不完整。");
         }
         if (items != null)
         {
             yield return(items);
         }
     }
 }
        internal void NavigationBuilderDoesNotReturnNullWithNoDatasourceItem()
        {
            var context = new TestRenderingContext()
            {
                DatasourceOrContextItem = null
            };
            var builder = new NavigationBuilder(context);

            Assert.NotNull(builder.Build());
        }
예제 #5
0
        public void FindParentLocalTaskScenario2()
        {
            NavigationBuilder      navigationBuilder = BuildMenuScenario2();
            IEnumerable <MenuItem> menuItems         = navigationBuilder.Build();

            MenuItem         fourthLevel3          = FindMenuItem(menuItems, "G");
            RouteData        fourthLevel3RouteData = GetRouteData(fourthLevel3);
            Stack <MenuItem> selectedPath          = MenuFilterAccessor.FindSelectedPathAccessor(menuItems, fourthLevel3RouteData);

            MenuItem parentNode = MenuFilterAccessor.FindParentLocalTaskAccessor(selectedPath);

            Assert.That(parentNode, Is.EqualTo(FindMenuItem(menuItems, "B")));
        }
예제 #6
0
        public void FindSelectedPathScenario2()
        {
            NavigationBuilder      navigationBuilder = BuildMenuScenario2();
            IEnumerable <MenuItem> menuItems         = navigationBuilder.Build();

            MenuItem  firstLevel1           = FindMenuItem(menuItems, "X");
            MenuItem  secondLevel2          = FindMenuItem(menuItems, "B");
            MenuItem  thirdLevel2           = FindMenuItem(menuItems, "D");
            MenuItem  fourthLevel3          = FindMenuItem(menuItems, "G");
            RouteData fourthLevel3RouteData = GetRouteData(fourthLevel3);

            Stack <MenuItem> selectionStack = MenuFilterAccessor.FindSelectedPathAccessor(menuItems, fourthLevel3RouteData);

            Assert.That(selectionStack.Pop(), Is.EqualTo(firstLevel1));
            Assert.That(selectionStack.Pop(), Is.EqualTo(secondLevel2));
            Assert.That(selectionStack.Pop(), Is.EqualTo(thirdLevel2));
            Assert.That(selectionStack.Pop(), Is.EqualTo(fourthLevel3));
            Assert.That(selectionStack.Count, Is.EqualTo(0));
        }
예제 #7
0
 private IEnumerable <IEnumerable <MenuItem> > GetSources(IContent menu)
 {
     foreach (var provider in _menuProviders)
     {
         var builder = new NavigationBuilder();
         IEnumerable <MenuItem> items = null;
         try {
             provider.GetMenu(menu, builder);
             items = builder.Build();
         }
         catch (Exception ex) {
             Logger.Error(ex, "Unexpected error while querying a menu provider. It was ignored. The menu provided by the provider may not be complete.");
         }
         if (items != null)
         {
             yield return(items);
         }
     }
 }
 public ActionResult Index()
 {
     return(View(_builder.Build()));
 }
 // GET: Breadcrumb
 public ActionResult Index()
 {
     return(View("~/Views/Events/Navigation/Index.cshtml", _builder.Build()));
 }