Merge pull request #98 from zofrex/accept-empty-table

Accept empty table
This commit is contained in:
Alex Crichton 2016-05-18 20:52:28 -07:00
commit 97592e120f

View file

@ -243,6 +243,11 @@ impl<'a> Parser<'a> {
}
}
// Match EOF
fn eof(&self) -> bool {
self.peek(0).is_none()
}
/// Executes the parser, parsing the string contained within.
///
/// This function will return the `TomlTable` instance if parsing is
@ -285,7 +290,7 @@ impl<'a> Parser<'a> {
};
if self.require_newline_after_table {
self.ws();
if !self.comment() && !self.newline() {
if !self.comment() && !self.newline() && !self.eof() {
self.errors.push(ParserError {
lo: start,
hi: start,
@ -1205,6 +1210,14 @@ trimmed in raw strings.
table.lookup("foo.1.bar").unwrap().as_table().unwrap();
}
#[test]
fn empty_table() {
let mut p = Parser::new(r#"
[foo]"#);
let table = Table(p.parse().unwrap());
table.lookup("foo").unwrap().as_table().unwrap();
}
#[test]
fn fruit() {
let mut p = Parser::new(r#"