From c1b5dd296f045eb60e1ed120ea4f12fd138c2f38 Mon Sep 17 00:00:00 2001 From: Yuheng Chen Date: Thu, 4 Jun 2015 16:10:43 +0800 Subject: [PATCH] Better code coverage --- parser/src/emitter.rs | 2 ++ parser/src/parser.rs | 5 +++-- parser/src/scanner.rs | 16 ++++++++++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/parser/src/emitter.rs b/parser/src/emitter.rs index 4601ba2..8810c95 100644 --- a/parser/src/emitter.rs +++ b/parser/src/emitter.rs @@ -217,6 +217,8 @@ a4: - - a1 - a2 - 2 + - [] + - {} a5: 'single_quoted' a6: \"double_quoted\" a7: 你好 diff --git a/parser/src/parser.rs b/parser/src/parser.rs index 51001a8..f097a80 100644 --- a/parser/src/parser.rs +++ b/parser/src/parser.rs @@ -259,8 +259,10 @@ impl> Parser { State::FlowSequenceEntryMappingKey => self.flow_sequence_entry_mapping_key(), State::FlowSequenceEntryMappingValue => self.flow_sequence_entry_mapping_value(), State::FlowSequenceEntryMappingEnd => self.flow_sequence_entry_mapping_end(), + State::FlowMappingEmptyValue => self.flow_mapping_value(true), - _ => unimplemented!() + /* impossible */ + State::End => unreachable!(), } } @@ -329,7 +331,6 @@ impl> Parser { //} }, TokenType::TagDirectiveToken(..) => { - // unimplemented!(); // TODO add tag directive }, _ => break diff --git a/parser/src/scanner.rs b/parser/src/scanner.rs index 8d514cc..470a25d 100644 --- a/parser/src/scanner.rs +++ b/parser/src/scanner.rs @@ -1942,6 +1942,22 @@ key: end!(p); } + #[test] + fn test_scanner_cr() { + let s = "---\r\n- tok1\r\n- tok2"; + let mut p = Scanner::new(s.chars()); + next!(p, StreamStartToken(..)); + next!(p, DocumentStartToken); + next!(p, BlockSequenceStartToken); + next!(p, BlockEntryToken); + next_scalar!(p, TScalarStyle::Plain, "tok1"); + next!(p, BlockEntryToken); + next_scalar!(p, TScalarStyle::Plain, "tok2"); + next!(p, BlockEndToken); + next!(p, StreamEndToken); + end!(p); + } + #[test] fn test_uri() { // TODO