aboutsummaryrefslogtreecommitdiff
path: root/src/parser.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser.rs')
-rw-r--r--src/parser.rs23
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));