From a9cc0e47193999318a26add15de0864d717fe443 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Mon, 20 May 2024 15:35:37 -0500 Subject: [PATCH] feat(filter): Expose Redactions::redact --- crates/snapbox/src/filter/mod.rs | 2 +- crates/snapbox/src/filter/redactions.rs | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/crates/snapbox/src/filter/mod.rs b/crates/snapbox/src/filter/mod.rs index dcf6faa1..570a47e5 100644 --- a/crates/snapbox/src/filter/mod.rs +++ b/crates/snapbox/src/filter/mod.rs @@ -258,7 +258,7 @@ fn normalize_value_matches( let has_key_wildcard = exp.get(KEY_WILDCARD).and_then(|v| v.as_str()) == Some(VALUE_WILDCARD); for (actual_key, mut actual_value) in std::mem::replace(act, serde_json::Map::new()) { - let actual_key = substitutions.normalize(&actual_key, ""); + let actual_key = substitutions.redact(&actual_key); if let Some(expected_value) = exp.get(&actual_key) { normalize_value_matches(&mut actual_value, expected_value, substitutions) } else if has_key_wildcard { diff --git a/crates/snapbox/src/filter/redactions.rs b/crates/snapbox/src/filter/redactions.rs index fd38508f..8914900f 100644 --- a/crates/snapbox/src/filter/redactions.rs +++ b/crates/snapbox/src/filter/redactions.rs @@ -97,7 +97,8 @@ impl Redactions { normalize(input, pattern, self) } - fn substitute(&self, input: &str) -> String { + /// Apply redaction only, no pattern-dependent globs + pub fn redact(&self, input: &str) -> String { let mut input = input.to_owned(); replace_many( &mut input, @@ -319,7 +320,7 @@ fn normalize(input: &str, pattern: &str, redactions: &Redactions) -> String { return input.to_owned(); } - let input = redactions.substitute(input); + let input = redactions.redact(input); let mut normalized: Vec<&str> = Vec::new(); let mut input_index = 0;