public void SetUp()
        {
            _htmlHelper      = new HtmlHelper();
            _httpContextStub = MockRepository.GenerateStub <HttpContextBase>();

            _control = MockRepository.GenerateStub <IListMenu>();
            _control.Stub(stub => stub.UniqueID).Return("MyListMenu");
            _control.Stub(stub => stub.ClientID).Return("MyListMenu");
            _control.Stub(stub => stub.ControlType).Return("ListMenu");
            _control.Stub(stub => stub.MenuItems).Return(new WebMenuItemCollection(_control));

            _control.Stub(stub => stub.Enabled).Return(true);
            _control.Stub(stub => stub.HasClientScript).Return(true);
            _control.Stub(stub => stub.ResolveClientUrl(null)).IgnoreArguments().Do((Func <string, string>)(url => url.TrimStart('~')));
            _control.Stub(stub => stub.GetUpdateScriptReference("null")).Return("Update();");

            var pageStub = MockRepository.GenerateStub <IPage>();

            _clientScriptManagerMock = MockRepository.GenerateMock <IClientScriptManager>();
            pageStub.Stub(page => page.ClientScript).Return(_clientScriptManagerMock);

            _control.Stub(stub => stub.Page).Return(pageStub);

            PopulateMenu();

            var serviceLocator = DefaultServiceLocator.Create();

            serviceLocator.RegisterSingle <IRenderingFeatures> (() => RenderingFeatures.WithDiagnosticMetadata);
            _serviceLocatorScope = new ServiceLocatorScope(serviceLocator);
        }
        public override void SetUp()
        {
            base.SetUp();

            _htmlHelper      = new HtmlHelper();
            _httpContextStub = MockRepository.GenerateStub <HttpContextBase> ();

            _control = MockRepository.GenerateStub <IListMenu>();
            _control.Stub(stub => stub.UniqueID).Return("MyListMenu");
            _control.Stub(stub => stub.ClientID).Return("MyListMenu");
            _control.Stub(stub => stub.MenuItems).Return(new WebMenuItemCollection(_control));

            _control.Stub(stub => stub.Enabled).Return(true);
            _control.Stub(stub => stub.HasClientScript).Return(true);
            _control.Stub(stub => stub.ResolveClientUrl(null)).IgnoreArguments().Do((Func <string, string>)(url => url.TrimStart('~')));
            _control.Stub(stub => stub.GetUpdateScriptReference("null")).Return("Update();");

            var pageStub = MockRepository.GenerateStub <IPage>();

            _clientScriptManagerMock = MockRepository.GenerateMock <IClientScriptManager>();
            pageStub.Stub(page => page.ClientScript).Return(_clientScriptManagerMock);

            _control.Stub(stub => stub.Page).Return(pageStub);

            _resourceUrlFactory = new FakeResourceUrlFactory();

            PopulateMenu();
        }
        public void RenderWithLineBreaksAll()
        {
            SetUpGetPostBackLinkExpectations(true);
            _control.Stub(stub => stub.LineBreaks).Return(ListMenuLineBreaks.All);

            XmlNode table = GetAssertedTable();

            for (int itemIndex = 0; itemIndex < 5; itemIndex++)
            {
                if (itemIndex == 3)
                {
                    continue;
                }

                var tr = table.GetAssertedChildElement("tr", itemIndex < 3 ? itemIndex : itemIndex - 1);
                tr.AssertChildElementCount(1);
                var td = GetAssertedCell(tr, 0, 1);
                AssertMenuItem(td, itemIndex, 0);
            }
        }