From 6dfa3d8f4d90384e78876938ba6210643cee2679 Mon Sep 17 00:00:00 2001 From: "Jamil Lambert, PhD" Date: Thu, 20 Mar 2025 14:59:12 +0000 Subject: [PATCH 1/2] Update test to increase coverage The `default` implementation is missed in the test coverage. Change calling `new()` to using the `default` implementation, which then calls `new()` anyway. --- primitives/src/script/borrowed.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/primitives/src/script/borrowed.rs b/primitives/src/script/borrowed.rs index 4f3bca28c..e8591cf84 100644 --- a/primitives/src/script/borrowed.rs +++ b/primitives/src/script/borrowed.rs @@ -195,7 +195,7 @@ mod tests { #[test] fn script_is_empty() { - let script = Script::new(); + let script: &Script = Default::default(); assert!(script.is_empty()); let script = Script::from_bytes(&[1, 2, 3]); From 7e1369b3f1a7789b2757951c2e3ff58937442200 Mon Sep 17 00:00:00 2001 From: "Jamil Lambert, PhD" Date: Thu, 20 Mar 2025 15:14:18 +0000 Subject: [PATCH 2/2] Cover all TryFrom implementations in Script Add tests to cover `TryFrom` implementations in `Script` --- primitives/src/script/mod.rs | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/primitives/src/script/mod.rs b/primitives/src/script/mod.rs index af9c4b429..51d18bca7 100644 --- a/primitives/src/script/mod.rs +++ b/primitives/src/script/mod.rs @@ -707,6 +707,23 @@ mod tests { assert!(ScriptHash::try_from(script).is_err()); } + #[test] + fn try_from_scriptbuf_ref_for_scripthash() { + let script = ScriptBuf::from(vec![0x51; 520]); + assert!(ScriptHash::try_from(&script).is_ok()); + + let script = ScriptBuf::from(vec![0x51; 521]); + assert!(ScriptHash::try_from(&script).is_err()); + } + #[test] + fn try_from_script_for_scripthash() { + let script = Script::from_bytes(&[0x51; 520]); + assert!(ScriptHash::try_from(script).is_ok()); + + let script = Script::from_bytes(&[0x51; 521]); + assert!(ScriptHash::try_from(script).is_err()); + } + #[test] fn try_from_scriptbuf_for_wscript_hash() { let script = ScriptBuf::from(vec![0x51; 10_000]); @@ -716,6 +733,25 @@ mod tests { assert!(WScriptHash::try_from(script).is_err()); } + #[test] + fn try_from_scriptbuf_ref_for_wscript_hash() { + let script = ScriptBuf::from(vec![0x51; 10_000]); + assert!(WScriptHash::try_from(&script).is_ok()); + + let script = ScriptBuf::from(vec![0x51; 10_001]); + assert!(WScriptHash::try_from(&script).is_err()); + } + + + #[test] + fn try_from_script_for_wscript_hash() { + let script = Script::from_bytes(&[0x51; 10_000]); + assert!(WScriptHash::try_from(script).is_ok()); + + let script = Script::from_bytes(&[0x51; 10_001]); + assert!(WScriptHash::try_from(script).is_err()); + } + #[test] fn script_display() { let script = Script::from_bytes(&[0xa1, 0xb2, 0xc3]);