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