summaryrefslogtreecommitdiff
path: root/src/atom/parsers.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/atom/parsers.rs')
-rw-r--r--src/atom/parsers.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/atom/parsers.rs b/src/atom/parsers.rs
index f4686f2..e1954c0 100644
--- a/src/atom/parsers.rs
+++ b/src/atom/parsers.rs
@@ -51,7 +51,9 @@ pub fn version<'a>() -> impl Parser<&'a str, Output = Version> {
let rev = version_number().preceded_by(tag("-r"));
numbers
- .and(opt(r#if(|c: &char| c.is_ascii_alphabetic())))
+ .and(opt(r#if(|c: &char| {
+ c.is_ascii_alphabetic() && c.is_ascii_lowercase()
+ })))
.and(opt(suffixes.preceded_by(tag("_"))))
.and(opt(rev))
.map(|(((numbers, letter), suffixes), rev)| Version {
@@ -287,4 +289,11 @@ mod test {
atom().check_finished(it).unwrap();
}
+
+ #[test]
+ fn test_version_with_uppercase_letter() {
+ let it = InputIter::new("foo/bar-1.0.0V");
+
+ assert!(atom().check_finished(it).is_err());
+ }
}