public void TestParseComplexAttribs() { using var linesReader = CreateStringReader(ComplexString); var streamer = TokenStreamer.CreateFromReader(linesReader); var attribParser = new ObjectParser(streamer); var attribDict = attribParser.ReadSingleObject(); Assert.IsType <PdfDictionary>(attribDict); var nextTerm = attribParser.ReadSingleObject(); Assert.Null(nextTerm); }
public void TestParseBasicAttribs() { const string CompressionAttrib = "Filter"; using var linesReader = CreateStringReader(BasicString); var streamer = TokenStreamer.CreateFromReader(linesReader); var attribParser = new ObjectParser(streamer); var attribs = attribParser.ReadSingleObject() as PdfDictionary; Assert.Contains(CompressionAttrib, attribs.Keys); var nextToken = attribParser.ReadSingleObject(); Assert.Null(nextToken); }
public void TestObjectParsing() { var sourceList = new List <string> { ObjectContent }; var streamer = TokenStreamer.CreateFromList(sourceList); // Read object id var currentToken = Token.EOL; while (currentToken.Type != TokenType.Id) { currentToken = streamer.GetNextToken(); } Assert.Equal("obj", currentToken.Value as string); // Read attribute dict var attribParser = new ObjectParser(streamer); var parsedAttribs = attribParser.ReadSingleObject() as PdfDictionary; Assert.Equal(804, (int)(parsedAttribs["Length"] as PdfAtom).AsNumber()); // Read body stream start token var streamStartToken = streamer.GetNextToken(); Assert.Equal("stream", streamStartToken.Value as string); }
public void TestObjectWithComplexStringParsing() { var sourceList = new List <string> { ObjectWithComplexString }; var parser = new ObjectParser(TokenStreamer.CreateFromList(sourceList)); var parsedObj = parser.ReadSingleObject() as PdfArray; Assert.Equal(4, parsedObj.Count); }
public void TestObjectTermsParsing() { var sourceList = new List <string>(ComplexObjectContent.Split("\r\n")); var streamer = TokenStreamer.CreateFromList(sourceList); var parser = new ObjectParser(streamer); IPdfTerm term = parser.ReadSingleObject(); Assert.IsType <PdfArray>(term); var firstArrayElement = (term as PdfArray)[0]; Assert.IsType <PdfDictionary>(firstArrayElement); }
public void TestAllTermsParsing() { var sourceList = new List <string> { ObjectContent }; var streamer = TokenStreamer.CreateFromList(sourceList); var parser = new ObjectParser(streamer); var allTerms = new List <IPdfTerm>(); IPdfTerm parsedTerm; do { parsedTerm = parser.ReadSingleObject(); if (parsedTerm != null) { allTerms.Add(parsedTerm); } }while(parsedTerm != null); Assert.Null(parsedTerm); Assert.Equal(5, allTerms.Count); }