public override void SetUp()
        {
            base.SetUp();

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

            _webTabStrip = MockRepository.GenerateStub <IWebTabStrip>();
            _webTabStrip.Stub(stub => stub.ClientID).Return("WebTabStrip");
            _webTabStrip.Stub(stub => stub.ResolveClientUrl(null)).IgnoreArguments().Do((Func <string, string>)(url => url.TrimStart('~')));

            _pageStub = MockRepository.GenerateStub <IPage>();
            var clientScriptStub = MockRepository.GenerateStub <IClientScriptManager>();

            clientScriptStub.Stub(stub => stub.GetPostBackClientHyperlink(_webTabStrip, null)).IgnoreArguments().Return("PostBackHyperlink");
            _pageStub.Stub(stub => stub.ClientScript).Return(clientScriptStub);

            _webTabStrip.Stub(stub => stub.Page).Return(_pageStub);
            _webTabStrip.Stub(stub => stub.Tabs).Return(new WebTabCollection(_webTabStrip));
            _webTabStrip.Stub(stub => stub.GetVisibleTabs()).Return(new List <IWebTab>());

            StateBag stateBag = new StateBag();

            _webTabStrip.Stub(stub => stub.Attributes).Return(new AttributeCollection(stateBag));
            _webTabStrip.Stub(stub => stub.SelectedTabStyle).Return(new WebTabStyle());
            _webTabStrip.Stub(stub => stub.TabStyle).Return(new WebTabStyle());
            _webTabStrip.Stub(stub => stub.ControlStyle).Return(new Style(stateBag));

            _style = new WebTabStyle();
        }
Exemplo n.º 2
0
        public WebTabRendererAdapter(IWebTabRenderer webTabRenderer, IWebTab webTab, bool isLast, bool isEnabled, WebTabStyle webTabStyle)
        {
            ArgumentUtility.CheckNotNull("webTabRenderer", webTabRenderer);
            ArgumentUtility.CheckNotNull("webTab", webTab);

            _webTabRenderer = webTabRenderer;
            _webTab         = webTab;
            _isLast         = isLast;
            _isEnabled      = isEnabled;
            _webTabStyle    = webTabStyle;
        }
Exemplo n.º 3
0
        public void Render()
        {
            var webTabRendererMock = MockRepository.GenerateStrictMock <IWebTabRenderer>();
            var webTabStub         = MockRepository.GenerateStub <IWebTab>();
            var renderingContext   = new WebTabStripRenderingContext(
                _httpContextStub, _htmlTextWriterStub, new WebTabStripMock(), new WebTabRendererAdapter[0]);
            var webTabStyle = new WebTabStyle();

            webTabRendererMock.Expect(mock => mock.Render(renderingContext, webTabStub, true, true, webTabStyle));
            webTabRendererMock.Replay();

            var rendererAdapter = new WebTabRendererAdapter(webTabRendererMock, webTabStub, true, true, webTabStyle);

            rendererAdapter.Render(renderingContext);

            webTabRendererMock.VerifyAllExpectations();
        }
        protected override Command RenderBeginTagForCommand(WebTabStripRenderingContext renderingContext, IWebTab tab, bool isEnabled, WebTabStyle style)
        {
            ArgumentUtility.CheckNotNull("style", style);

            var menuTab = ((IMenuTab)tab).GetActiveTab();
            var command = GetRenderingCommand(isEnabled, menuTab);

            var additionalUrlParameters = menuTab.GetUrlParameters();
            var backupID        = command.ItemID;
            var backupAccessKey = command.AccessKey;

            try
            {
                if (string.IsNullOrEmpty(command.ItemID) && !string.IsNullOrEmpty(tab.ItemID))
                {
                    command.ItemID = tab.ItemID + "_Command";
                }

                if (string.IsNullOrEmpty(command.AccessKey))
                {
                    var textWithHotkey = HotkeyParser.Parse(tab.Text);
                    if (textWithHotkey.Hotkey.HasValue)
                    {
                        command.AccessKey = HotkeyFormatter.FormatHotkey(textWithHotkey);
                    }
                }

                command.RenderBegin(
                    renderingContext.Writer,
                    RenderingFeatures,
                    tab.GetPostBackClientEvent(),
                    new string[0],
                    string.Empty,
                    null,
                    additionalUrlParameters,
                    false,
                    style);

                return(command);
            }
            finally
            {
                command.ItemID    = backupID;
                command.AccessKey = backupAccessKey;
            }
        }
Exemplo n.º 5
0
        public void Render(WebTabStripRenderingContext renderingContext, IWebTab tab, bool isEnabled, bool isLast, WebTabStyle style)
        {
            ArgumentUtility.CheckNotNull("renderingContext", renderingContext);
            ArgumentUtility.CheckNotNull("style", style);

            ScriptUtility.Instance.RegisterElementForBorderSpans(renderingContext.Control, "#" + GetTabClientID(renderingContext, tab) + " > *:first");

            RenderTabBegin(renderingContext);
            RenderSeperator(renderingContext);
            RenderWrapperBegin(renderingContext, tab);

            var command = RenderBeginTagForCommand(renderingContext, tab, isEnabled, style);

            RenderContents(renderingContext, tab);
            RenderEndTagForCommand(renderingContext, command);

            renderingContext.Writer.RenderEndTag(); // End tab span
            renderingContext.Writer.RenderEndTag(); // End tab wrapper span

            if (isLast)
            {
                renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Class, CssClassTabLast);
                renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Span);
                renderingContext.Writer.RenderEndTag();
            }

            renderingContext.Writer.RenderEndTag(); // End list item
        }
Exemplo n.º 6
0
        protected virtual Command RenderBeginTagForCommand(WebTabStripRenderingContext renderingContext, IWebTab tab, bool isEnabled, WebTabStyle style)
        {
            ArgumentUtility.CheckNotNull("renderingContext", renderingContext);
            ArgumentUtility.CheckNotNull("style", style);

            var command = new Command();

            command.OwnerControl = renderingContext.Control;
            command.ItemID       = tab.ItemID + "_Command";
            if (isEnabled && tab.EvaluateEnabled())
            {
                command.Type = CommandType.Event;

                var textWithHotkey = HotkeyParser.Parse(tab.Text);
                if (textWithHotkey.Hotkey.HasValue)
                {
                    command.AccessKey = _hotkeyFormatter.FormatHotkey(textWithHotkey);
                }
            }
            else
            {
                command.Type = CommandType.None;
            }

            command.RenderBegin(
                renderingContext.Writer,
                RenderingFeatures,
                tab.GetPostBackClientEvent(),
                new string[0],
                string.Empty,
                null,
                new NameValueCollection(),
                false,
                style);

            return(command);
        }