private void PreprocessObjectElements(IEnumerable <IObjectElementDescriptor> elementDescriptors) { foreach (var descriptor in elementDescriptors) { switch (descriptor.Type) { case ElementDescriptorType.PlainText: ((TextElementValue)descriptor.Value).Raw = ElementTextHarmonizer.ProcessPlain(((TextElementValue)descriptor.Value).Raw); break; case ElementDescriptorType.FormattedText: ((TextElementValue)descriptor.Value).Raw = ElementTextHarmonizer.ProcessFormatted(((TextElementValue)descriptor.Value).Raw); break; case ElementDescriptorType.FasComment: ((FasElementValue)descriptor.Value).Text = ElementTextHarmonizer.ProcessPlain(((FasElementValue)descriptor.Value).Text); break; case ElementDescriptorType.VideoLink: case ElementDescriptorType.Link: ((TextElementValue)descriptor.Value).Raw = ElementTextHarmonizer.ProcessLink(((TextElementValue)descriptor.Value).Raw); break; case ElementDescriptorType.BitmapImage: case ElementDescriptorType.VectorImage: case ElementDescriptorType.Article: case ElementDescriptorType.Phone: case ElementDescriptorType.Color: case ElementDescriptorType.CompositeBitmapImage: case ElementDescriptorType.ScalableBitmapImage: break; default: throw new ArgumentOutOfRangeException( nameof(descriptor.Type), descriptor.Type, $"Unsupported element descriptor type for descriptor {descriptor.Id}"); } } }
public void TestOnNullString() { Assert.Null(ElementTextHarmonizer.ProcessPlain(null)); }
public void TestOnAllConditions() { Assert.Equal("\t\nСлучайный пробел", ElementTextHarmonizer.ProcessPlain("\t\r\nСлучайный" + ((char)160).ToString() + "пробел\t\n \r")); }
public void TestOnWhitespaceSymbolsInTheEnd() { Assert.Equal("\t\nСлучайный пробел", ElementTextHarmonizer.ProcessPlain("\t\nСлучайный пробел\t\n \r")); }
public void TestOnNonbreakingSpace() { Assert.Equal(" пробел", ElementTextHarmonizer.ProcessPlain(" " + ((char)160).ToString() + "пробел")); }
public void TestOnLineBreaks() { Assert.Equal("\t\nСлучайный \r\n\tтекст", ElementTextHarmonizer.ProcessPlain("\t\nСлучайный \r\r\n\tтекст")); }
public void TestOnEmptyString() { Assert.Equal(string.Empty, ElementTextHarmonizer.ProcessPlain(string.Empty)); }
public void TestOnLeadingAndTrailingWhitespaceSymbols() { Assert.Equal("Случайный \n пробел", ElementTextHarmonizer.ProcessLink(" \t \n Случайный \n пробел \t \n \r ")); }
public void TestOnEmptyListItems() { Assert.Equal("<ul></ul>", ElementTextHarmonizer.ProcessFormatted("<ul><li></li><li></li></ul>")); }
public void TestOnAllConditions() { Assert.Equal("<b> </b>" + ((char)160).ToString() + "<ul> </ul>", ElementTextHarmonizer.ProcessFormatted("<b> </b>\r\n\n" + ((char)160).ToString() + "<ul> <li>\u001d<!-- comment --></li> <li> </li> </ul>\n\r\n \t")); }
public void TestOnEmptyListItemsWithGroupSeparator() { Assert.Equal("<ul></ul>", ElementTextHarmonizer.ProcessFormatted("<ul><li>\u001d</li></ul>")); }
public void TestOnEmptyListItemsWithHtmlComment() { Assert.Equal("<ul></ul>", ElementTextHarmonizer.ProcessFormatted("<ul><li><!-- This is comment --></li><li></li></ul>")); }
public void TestOnEmptyListItemsWithNonbreakingSpace() { Assert.Equal("<ul></ul>", ElementTextHarmonizer.ProcessFormatted("<ul><li> </li><li>" + ((char)160).ToString() + "</li></ul>")); }
public void TestOnNullString() { Assert.Equal(null, ElementTextHarmonizer.ProcessLink(null)); }