public void Substring_From_ThreeStrings_Mid2() { IXLWorksheet ws = new XLWorkbook().Worksheets.Add("Sheet1"); IXLRichText richString = ws.Cell(1, 1).RichText; richString.AddText("Good Morning"); richString.AddText(" my "); richString.AddText("neighbors!"); IXLFormattedText <IXLRichText> actual = richString.Substring(5, 15); Assert.AreEqual(3, actual.Count); Assert.AreEqual(5, richString.Count); // The text was split because of the substring Assert.AreEqual("Morning", actual.ElementAt(0).Text); Assert.AreEqual(" my ", actual.ElementAt(1).Text); Assert.AreEqual("neig", actual.ElementAt(2).Text); Assert.AreEqual("Good ", richString.ElementAt(0).Text); Assert.AreEqual("Morning", richString.ElementAt(1).Text); Assert.AreEqual(" my ", richString.ElementAt(2).Text); Assert.AreEqual("neig", richString.ElementAt(3).Text); Assert.AreEqual("hbors!", richString.ElementAt(4).Text); }
public void Substring_IndexOutsideRange3() { IXLWorksheet ws = new XLWorkbook().Worksheets.Add("Sheet1"); IXLRichText richString = ws.Cell(1, 1).RichText; richString.AddText("Hello"); IXLFormattedText <IXLRichText> richText = richString.Substring(1, 10); }
public XLFormattedText(IXLFormattedText <T> defaultRichText, IXLFontBase defaultFont) : this(defaultFont) { foreach (var rt in defaultRichText) { AddText(rt.Text, rt); } if (defaultRichText.HasPhonetics) { _phonetics = new XLPhonetics(defaultRichText.Phonetics, defaultFont); } }
public void Substring_From_ThreeStrings_Start2() { IXLWorksheet ws = new XLWorkbook().Worksheets.Add("Sheet1"); IXLRichText richString = ws.Cell(1, 1).RichText; richString.AddText("Good Morning"); richString.AddText(" my "); richString.AddText("neighbors!"); IXLFormattedText <IXLRichText> actual = richString.Substring(0, 15); Assert.AreEqual(2, actual.Count); Assert.AreEqual(4, richString.Count); // The text was split because of the substring Assert.AreEqual("Good Morning", actual.ElementAt(0).Text); Assert.AreEqual(" my", actual.ElementAt(1).Text); Assert.AreEqual("Good Morning", richString.ElementAt(0).Text); Assert.AreEqual(" my", richString.ElementAt(1).Text); Assert.AreEqual(" ", richString.ElementAt(2).Text); Assert.AreEqual("neighbors!", richString.ElementAt(3).Text); actual.ElementAt(1).SetBold(); Assert.AreEqual(false, ws.Cell(1, 1).RichText.ElementAt(0).Bold); Assert.AreEqual(true, ws.Cell(1, 1).RichText.ElementAt(1).Bold); Assert.AreEqual(false, ws.Cell(1, 1).RichText.ElementAt(2).Bold); Assert.AreEqual(false, ws.Cell(1, 1).RichText.ElementAt(3).Bold); richString.First().SetItalic(); Assert.AreEqual(true, ws.Cell(1, 1).RichText.ElementAt(0).Italic); Assert.AreEqual(false, ws.Cell(1, 1).RichText.ElementAt(1).Italic); Assert.AreEqual(false, ws.Cell(1, 1).RichText.ElementAt(2).Italic); Assert.AreEqual(false, ws.Cell(1, 1).RichText.ElementAt(3).Italic); Assert.AreEqual(true, actual.ElementAt(0).Italic); Assert.AreEqual(false, actual.ElementAt(1).Italic); richString.SetFontSize(20); Assert.AreEqual(20, ws.Cell(1, 1).RichText.ElementAt(0).FontSize); Assert.AreEqual(20, ws.Cell(1, 1).RichText.ElementAt(1).FontSize); Assert.AreEqual(20, ws.Cell(1, 1).RichText.ElementAt(2).FontSize); Assert.AreEqual(20, ws.Cell(1, 1).RichText.ElementAt(3).FontSize); Assert.AreEqual(20, actual.ElementAt(0).FontSize); Assert.AreEqual(20, actual.ElementAt(1).FontSize); }
public void Substring_All_From_OneString() { IXLWorksheet ws = new XLWorkbook().Worksheets.Add("Sheet1"); IXLRichText richString = ws.Cell(1, 1).RichText; richString.AddText("Hello"); IXLFormattedText <IXLRichText> actual = richString.Substring(0); Assert.AreEqual(richString.First(), actual.First()); Assert.AreEqual(1, actual.Count); actual.First().SetBold(); Assert.AreEqual(true, ws.Cell(1, 1).RichText.First().Bold); }
private static void SetCssStyle <T>(this IXLFormattedText <T> richText, XmlElement element) { var xmlStyle = element.GetAttribute("style"); if (string.IsNullOrEmpty(xmlStyle) != true) { var cssStyles = xmlStyle.Split(';').Select(str => { var pair = str.Split(':'); pair[0] = pair[0].Trim(); pair[1] = pair[1].Trim(); return(Tuple.Create(pair[0], pair[1])); }); var cssColor = cssStyles.FirstOrDefault(pair => pair.Item1 == "color"); if (cssColor != null) { richText.SetFontColor(XLColor.FromHtml(cssColor.Item2)); } } }
public bool Equals(IXLFormattedText <T> other) { Int32 count = Count; if (count != other.Count) { return(false); } for (Int32 i = 0; i < count; i++) { if (_richTexts.ElementAt(i) != other.ElementAt(i)) { return(false); } } return(_phonetics == null || Phonetics.Equals(other.Phonetics)); }
public void Substring_From_OneString_Middle() { IXLWorksheet ws = new XLWorkbook().Worksheets.Add("Sheet1"); IXLRichText richString = ws.Cell(1, 1).RichText; richString.AddText("Hello"); IXLFormattedText <IXLRichText> actual = richString.Substring(2, 2); Assert.AreEqual(1, actual.Count); // substring was in one piece Assert.AreEqual(3, richString.Count); // The text was split because of the substring Assert.AreEqual("ll", actual.First().Text); Assert.AreEqual("He", richString.First().Text); Assert.AreEqual("ll", richString.ElementAt(1).Text); Assert.AreEqual("o", richString.Last().Text); actual.First().SetBold(); Assert.AreEqual(false, ws.Cell(1, 1).RichText.First().Bold); Assert.AreEqual(true, ws.Cell(1, 1).RichText.ElementAt(1).Bold); Assert.AreEqual(false, ws.Cell(1, 1).RichText.Last().Bold); richString.Last().SetItalic(); Assert.AreEqual(false, ws.Cell(1, 1).RichText.First().Italic); Assert.AreEqual(false, ws.Cell(1, 1).RichText.ElementAt(1).Italic); Assert.AreEqual(true, ws.Cell(1, 1).RichText.Last().Italic); Assert.AreEqual(false, actual.First().Italic); richString.SetFontSize(20); Assert.AreEqual(20, ws.Cell(1, 1).RichText.First().FontSize); Assert.AreEqual(20, ws.Cell(1, 1).RichText.ElementAt(1).FontSize); Assert.AreEqual(20, ws.Cell(1, 1).RichText.Last().FontSize); Assert.AreEqual(20, actual.First().FontSize); }
public void Substring_All_From_ThreeStrings() { IXLWorksheet ws = new XLWorkbook().Worksheets.Add("Sheet1"); IXLRichText richString = ws.Cell(1, 1).RichText; richString.AddText("Good Morning"); richString.AddText(" my "); richString.AddText("neighbors!"); IXLFormattedText <IXLRichText> actual = richString.Substring(0); Assert.AreEqual(richString.ElementAt(0), actual.ElementAt(0)); Assert.AreEqual(richString.ElementAt(1), actual.ElementAt(1)); Assert.AreEqual(richString.ElementAt(2), actual.ElementAt(2)); Assert.AreEqual(3, actual.Count); Assert.AreEqual(3, richString.Count); actual.First().SetBold(); Assert.AreEqual(true, ws.Cell(1, 1).RichText.First().Bold); Assert.AreEqual(false, ws.Cell(1, 1).RichText.ElementAt(1).Bold); Assert.AreEqual(false, ws.Cell(1, 1).RichText.Last().Bold); }