summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJohn Turner <jturner.usa@gmail.com>2025-10-25 01:19:35 -0400
committerJohn Turner <jturner.usa@gmail.com>2025-10-25 01:19:35 -0400
commit680ead0504da6e0d78fb5bf499bff5160ef84970 (patch)
tree6fc4676da57f8f655f2099c911e0aa785fc31121 /src
parent66d6e52b21c57da9d1207c5203bdfa635539236a (diff)
downloadgentoo-utils-680ead0504da6e0d78fb5bf499bff5160ef84970.tar.gz
support "=" version operator
Diffstat (limited to 'src')
-rw-r--r--src/atom/mod.rs1
-rw-r--r--src/atom/parsers.rs8
2 files changed, 9 insertions, 0 deletions
diff --git a/src/atom/mod.rs b/src/atom/mod.rs
index 07ccd0f..645281b 100644
--- a/src/atom/mod.rs
+++ b/src/atom/mod.rs
@@ -15,6 +15,7 @@ pub enum Blocker {
pub enum VersionOperator {
Lt,
Gt,
+ Eq,
LtEq,
GtEq,
Roughly,
diff --git a/src/atom/parsers.rs b/src/atom/parsers.rs
index f6fdd6c..8026dfe 100644
--- a/src/atom/parsers.rs
+++ b/src/atom/parsers.rs
@@ -23,6 +23,7 @@ pub fn version_operator<'a>() -> impl Parser<&'a str, Output = VersionOperator>
.or(tag(">=").map(|_| VersionOperator::GtEq))
.or(tag("<").map(|_| VersionOperator::Lt))
.or(tag(">").map(|_| VersionOperator::Gt))
+ .or(tag("=").map(|_| VersionOperator::Eq))
.or(tag("~").map(|_| VersionOperator::Roughly))
}
@@ -315,4 +316,11 @@ mod test {
assert!(atom().check_finished(it).is_err());
}
+
+ #[test]
+ fn test_atom_with_eq_version_operator() {
+ let it = InputIter::new("=foo/bar-1.0.0");
+
+ atom().check_finished(it).unwrap();
+ }
}