Exemplo n.º 1
0
        public void Undo_ReplacesProxyTableBlockWithAParagraphBlock()
        {
            // Arrange
            const string dummyText            = "dummyText";
            var          dummyProxyTableBlock = new ProxyTableBlock(null);

            dummyProxyTableBlock.Lines = new StringLineGroup(dummyText);
            BlockParser    dummyBlockParser = _mockRepository.Create <BlockParser>().Object;
            ContainerBlock dummyParent      = _mockRepository.Create <ContainerBlock>(dummyBlockParser).Object; // Must specify block parser since we're calling ProcessLine later

            dummyParent.Add(dummyProxyTableBlock);                                                              // Assigns dummyParent to dummyProxyTableBlock.Parent
            BlockProcessor dummyBlockProcessor = MarkdigTypesFactory.CreateBlockProcessor();

            dummyBlockProcessor.Open(dummyParent);
            dummyBlockProcessor.Open(dummyProxyTableBlock);
            ExposedFlexiTableBlockParser testSubject = CreateExposedFlexiTableBlockParser();

            // Act
            testSubject.ExposedUndo(dummyBlockProcessor, dummyProxyTableBlock);

            // Assert
            Assert.Single(dummyParent);
            var resultParagraphBlock = dummyParent[0] as ParagraphBlock;

            Assert.NotNull(resultParagraphBlock);
            Assert.Equal(dummyText, resultParagraphBlock.Lines.ToString());
            // Verify that ParagraphBlock remains open
            dummyBlockProcessor.ProcessLine(new StringSlice(dummyText));
            Assert.Equal($"{dummyText}\n{dummyText}", resultParagraphBlock.Lines.ToString());
        }
Exemplo n.º 2
0
        public void Undo_ThrowsArgumentNullExceptionIfProxyTableBlockIsNull()
        {
            // Arrange
            BlockProcessor dummyBlockProcessor       = MarkdigTypesFactory.CreateBlockProcessor();
            ExposedFlexiTableBlockParser testSubject = CreateExposedFlexiTableBlockParser();

            // Act and assert
            Assert.Throws <ArgumentNullException>(() => testSubject.ExposedUndo(dummyBlockProcessor, null));
        }
Exemplo n.º 3
0
        public void Undo_ThrowsArgumentNullExceptionIfBlockProcessorIsNull()
        {
            // Arrange
            var dummyProxyTableBlock = new ProxyTableBlock(null);
            ExposedFlexiTableBlockParser testSubject = CreateExposedFlexiTableBlockParser();

            // Act and assert
            Assert.Throws <ArgumentNullException>(() => testSubject.ExposedUndo(null, dummyProxyTableBlock));
        }
Exemplo n.º 4
0
        public void ExtractContent_ThrowsArgumentNullExceptionIfTargetRowIsNull()
        {
            // Arrange
            var dummyLine = new StringSlice("");
            ExposedFlexiTableBlockParser testSubject = CreateExposedFlexiTableBlockParser();

            // Act and assert
            Assert.Throws <ArgumentNullException>(() => testSubject.ExposedExtractContent(dummyLine, null));
        }
Exemplo n.º 5
0
        public void TryParseColumnDefinitionsLine_TriesToParseColumnDefinitionsLine(string dummyText,
                                                                                    char dummyColumnDefinitionStartChar,
                                                                                    int dummyNumColumns,
                                                                                    List <ColumnDefinition> expectedColumnDefinitions)
        {
            // Arrange
            ExposedFlexiTableBlockParser testSubject = CreateExposedFlexiTableBlockParser();

            // Act
            List <ColumnDefinition> result = testSubject.ExposedTryParseColumnDefinitionsLine(new StringSlice(dummyText), dummyColumnDefinitionStartChar, dummyNumColumns);

            // Assert
            Assert.Equal(expectedColumnDefinitions, result);
        }
Exemplo n.º 6
0
        public void ExtractContent_ExtractsContent(string dummyText,
                                                   Row dummyTargetRow,
                                                   string[] expectedCellContent)
        {
            // Arrange
            var dummyLine = new StringSlice(dummyText);
            ExposedFlexiTableBlockParser testSubject = CreateExposedFlexiTableBlockParser();

            // Act
            testSubject.ExposedExtractContent(dummyLine, dummyTargetRow);

            // Assert
            int cellIndex = 0;

            for (int columnIndex = 0; columnIndex < dummyTargetRow.Count;)
            {
                Cell cell = dummyTargetRow[columnIndex];
                Assert.Equal(expectedCellContent[cellIndex++], cell.Lines.ToString());
                columnIndex = cell.EndColumnIndex + 1;
            }
        }