public void SetUp() { tempData = new TempDataDictionary(); viewContext = new ViewContext(); viewContext.TempData = tempData; viewDataContainer = new Mock<IViewDataContainer>(); htmlHelper = new HtmlHelper(viewContext, viewDataContainer.Object); flashStorage = new FlashStorage(tempData); }
public static IHtmlString Flash <TModel>(this ZephyrHtmlHelper <TModel> zephyrHelper, string tagName = "div", bool htmlEncoded = true) where TModel : class { //Func<string, XNode> content = message => encoded ? new XText(message) : XElement.Parse(message) as XNode; Func <string, XNode> content = message => new XText(message); var messages = new FlashStorage(zephyrHelper.HtmlHelper.ViewContext.TempData).Messages.ToList(); var elements = messages.Select(pair => new XElement(tagName ?? "div", new XAttribute("class", "alert" + " " + pair.Key), new XElement("button", new XAttribute("class", "close"), new XAttribute("data-dismiss", "alert"), "×"), content(pair.Value) )); var html = string.Join(Environment.NewLine, elements.Select(e => e.ToString())); return(zephyrHelper.HtmlHelper.Raw(htmlEncoded ? html : HttpUtility.HtmlDecode(html))); }