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(); }
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; }
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; } }
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 }
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); }