[librsvg] Generate slightly more meaningful ParseError messages
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg] Generate slightly more meaningful ParseError messages
- Date: Thu, 5 Dec 2019 00:19:07 +0000 (UTC)
commit 7b7b983f919173ed6465920b50de1452c11e3441
Author: Federico Mena Quintero <federico gnome org>
Date: Wed Dec 4 18:18:25 2019 -0600
Generate slightly more meaningful ParseError messages
rsvg_internals/src/parsers.rs | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/rsvg_internals/src/parsers.rs b/rsvg_internals/src/parsers.rs
index f107bc0a..71bb9848 100644
--- a/rsvg_internals/src/parsers.rs
+++ b/rsvg_internals/src/parsers.rs
@@ -1,4 +1,4 @@
-use cssparser::{BasicParseError, Parser, ParserInput, Token};
+use cssparser::{BasicParseError, BasicParseErrorKind, Parser, ParserInput, Token};
use markup5ever::QualName;
use std::str;
@@ -19,8 +19,18 @@ impl ParseError {
}
impl<'a> From<BasicParseError<'a>> for ParseError {
- fn from(_: BasicParseError<'_>) -> ParseError {
- ParseError::new("parse error")
+ fn from(e: BasicParseError<'_>) -> ParseError {
+ let BasicParseError { kind, location: _ } = e;
+
+ let msg = match kind {
+ BasicParseErrorKind::UnexpectedToken(_) => "unexpected token",
+ BasicParseErrorKind::EndOfInput => "unexpected end of input",
+ BasicParseErrorKind::AtRuleInvalid(_) => "invalid @-rule",
+ BasicParseErrorKind::AtRuleBodyInvalid => "invalid @-rule body",
+ BasicParseErrorKind::QualifiedRuleInvalid => "invalid qualified rule",
+ };
+
+ ParseError::new(msg)
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]