Esempio n. 1
0
        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}");
                }
            }
        }
Esempio n. 2
0
 public void TestOnNullString()
 {
     Assert.Null(ElementTextHarmonizer.ProcessPlain(null));
 }
Esempio n. 3
0
 public void TestOnAllConditions()
 {
     Assert.Equal("\t\nСлучайный пробел", ElementTextHarmonizer.ProcessPlain("\t\r\nСлучайный" + ((char)160).ToString() + "пробел\t\n \r"));
 }
Esempio n. 4
0
 public void TestOnWhitespaceSymbolsInTheEnd()
 {
     Assert.Equal("\t\nСлучайный пробел", ElementTextHarmonizer.ProcessPlain("\t\nСлучайный пробел\t\n \r"));
 }
Esempio n. 5
0
 public void TestOnNonbreakingSpace()
 {
     Assert.Equal("&nbsp; пробел", ElementTextHarmonizer.ProcessPlain("&nbsp;" + ((char)160).ToString() + "пробел"));
 }
Esempio n. 6
0
 public void TestOnLineBreaks()
 {
     Assert.Equal("\t\nСлучайный \r\n\tтекст", ElementTextHarmonizer.ProcessPlain("\t\nСлучайный \r\r\n\tтекст"));
 }
Esempio n. 7
0
 public void TestOnEmptyString()
 {
     Assert.Equal(string.Empty, ElementTextHarmonizer.ProcessPlain(string.Empty));
 }
Esempio n. 8
0
 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>&nbsp;</b>\r\n\n" + ((char)160).ToString() + "<ul> <li>\u001d<!-- comment --></li> <li>&nbsp;</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>&nbsp;</li><li>" + ((char)160).ToString() + "</li></ul>"));
 }
Esempio n. 14
0
 public void TestOnNullString()
 {
     Assert.Equal(null, ElementTextHarmonizer.ProcessLink(null));
 }