diff options
Diffstat (limited to 'src/parser.rs')
-rw-r--r-- | src/parser.rs | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/src/parser.rs b/src/parser.rs index 29de39b..f97645d 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -406,12 +406,12 @@ impl<'a> Parser<'a> { fn boolean(&mut self, start: uint) -> Option<Value> { let rest = self.input.slice_from(start); if rest.starts_with("true") { - for _ in range(0, 4) { + for _ in range(0u, 4u) { self.cur.next(); } Some(Boolean(true)) } else if rest.starts_with("false") { - for _ in range(0, 5) { + for _ in range(0u, 5u) { self.cur.next(); } Some(Boolean(false)) @@ -429,7 +429,7 @@ impl<'a> Parser<'a> { fn datetime(&mut self, start: uint, end_so_far: uint) -> Option<Value> { let mut date = self.input.slice(start, end_so_far).to_string(); - for _ in range(0, 15) { + for _ in range(0u, 15u) { match self.cur.next() { Some((_, ch)) => date.push_char(ch), None => { @@ -684,6 +684,23 @@ mod tests { use super::Parser; #[test] + fn crlf() { + let mut p = Parser::new("\ +[project]\r\n\ +\r\n\ +name = \"splay\"\r\n\ +version = \"0.1.0\"\r\n\ +authors = [\"alex@crichton.co\"]\r\n\ +\r\n\ +[[lib]]\r\n\ +\r\n\ +path = \"lib.rs\"\r\n\ +name = \"splay\"\r\n\ +"); + assert!(p.parse().is_some()); + } + + #[test] fn linecol() { let p = Parser::new("ab\ncde\nf"); assert_eq!(p.to_linecol(0), (0, 0)); |