From 680ead0504da6e0d78fb5bf499bff5160ef84970 Mon Sep 17 00:00:00 2001 From: John Turner Date: Sat, 25 Oct 2025 01:19:35 -0400 Subject: [PATCH] support "=" version operator --- src/atom/mod.rs | 1 + src/atom/parsers.rs | 8 ++++++++ 2 files changed, 9 insertions(+) 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(); + } }