public void TestIncompleteAssignment() { using (var reader = new StringReader("value=")) using (var parser = new Parser.Parser(reader, IniOptions.Default)) { Assert.Throws <EndOfDocumentException>(() => parser.ParseUnit()); } }
public void TestNewlineInAssignmentStrongParsing() { using (var reader = new StringReader("value=\n10")) using (var parser = new Parser.Parser(reader, IniOptions.Default)) { Assert.Throws <InvalidTokenException>(() => parser.ParseUnit()); } }
public void TestInvalidLeftAssignment() { using (var reader = new StringReader("10=10")) using (var parser = new Parser.Parser(reader, IniOptions.Default)) { Assert.Throws <InvalidUnitException>(() => parser.ParseUnit()); } }
public void TestNewlineInAssignmentFlexibleParsing() { var options = new IniOptions(propertyParsing: PropertyParsing.Flexible); using (var reader = new StringReader("value=\n10")) using (var parser = new Parser.Parser(reader, options)) { Assert.Throws <InvalidTokenException>(() => parser.ParseUnit()); } }
private Unit ParseNext() { var nextUnit = parser.ParseUnit(); switch (nextUnit) { default: throw new InvalidUnitException(nextUnit, typeof(SectionUnit), typeof(AssignmentUnit)); case SectionUnit section: StartSection(section, Options); break; case AssignmentUnit assignment: AddProperty(assignment, Options); break; } return(nextUnit); }