Beispiel #1
0
        public void Accept_EmptyDocument_EmptyResult()
        {
            var document = new FlowDocument();

            var visitor = new FlowDocumentVisitor(e => true);

            visitor.Accept(document);

            Assert.That(visitor.Results, Is.Empty);
        }
Beispiel #2
0
        public void Accept_SingleRunElement_ReturnsRunElement()
        {
            var document = new FlowDocument();

            document.Blocks.Add(new Paragraph(new Run("Some dummy ")));

            var visitor = new FlowDocumentVisitor(e => e is Run);

            visitor.Accept(document);

            Assert.That(visitor.Results.OfType <Run>().Count(), Is.EqualTo(1));
        }
Beispiel #3
0
        public void Accept_HyperlinkInLists_AllHyperlinksFound()
        {
            var document = new FlowDocument();
            var list     = new List();

            list.ListItems.Add(new ListItem(new Paragraph(new Hyperlink(new Run("http://github.com")))));
            list.ListItems.Add(new ListItem(new Paragraph(new Hyperlink(new Run("http://github.com")))));
            list.ListItems.Add(new ListItem(new Paragraph(new Hyperlink(new Run("http://github.com")))));
            document.Blocks.Add(list);

            var visitor = new FlowDocumentVisitor(e => e is Hyperlink)
            {
                ContinueAfterMatch = true
            };

            visitor.Accept(document);

            Assert.That(visitor.Results.OfType <Hyperlink>().Count(), Is.EqualTo(3));
        }
Beispiel #4
0
        public void Accept_MultipleRunElementsAndContinueAfterMatchIsTrue_AllRunElementsReturned()
        {
            var document = new FlowDocument();
            var para     = new Paragraph();

            para.Inlines.Add(new Run("a"));
            para.Inlines.Add(new Run("b"));
            para.Inlines.Add(new Run("c"));
            document.Blocks.Add(para);

            var visitor = new FlowDocumentVisitor(e => e is Run)
            {
                ContinueAfterMatch = true
            };

            visitor.Accept(document);

            Assert.That(visitor.Results.OfType <Run>().Count(), Is.EqualTo(3));
        }