diff --git a/crates/libs/windows/src/core/agile_reference.rs b/crates/libs/windows/src/core/agile_reference.rs index d72ad2e289..c6350390fd 100644 --- a/crates/libs/windows/src/core/agile_reference.rs +++ b/crates/libs/windows/src/core/agile_reference.rs @@ -22,3 +22,9 @@ impl AgileReference { unsafe impl Send for AgileReference {} unsafe impl Sync for AgileReference {} + +impl std::fmt::Debug for AgileReference { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "AgileReference({:?})", <&IAgileReference as Into<&IUnknown>>::into(&self.0)) + } +} diff --git a/crates/tests/agile_reference/tests/tests.rs b/crates/tests/agile_reference/tests/tests.rs index 91ed3befb2..f7e9888e59 100644 --- a/crates/tests/agile_reference/tests/tests.rs +++ b/crates/tests/agile_reference/tests/tests.rs @@ -1,8 +1,9 @@ -use windows::core::{AgileReference, Result}; +use windows::core::{w, AgileReference, Result}; +use windows::Foundation::Uri; use windows::Media::Control::GlobalSystemMediaTransportControlsSessionManager; #[test] -fn test() -> Result<()> { +fn agile_send() -> Result<()> { let manager = GlobalSystemMediaTransportControlsSessionManager::RequestAsync()?.get()?; let reference = AgileReference::new(&manager)?; @@ -14,3 +15,13 @@ fn test() -> Result<()> { }); handle.join().unwrap() } + +#[test] +fn agile_debug() -> Result<()> { + let uri = Uri::CreateUri(w!("http://kennykerr.ca"))?; + assert!(format!("{:?}", uri).starts_with("Uri(IUnknown(0x")); + + let reference = AgileReference::new(&uri)?; + assert!(format!("{:?}", reference).starts_with("AgileReference(IUnknown(0x")); + Ok(()) +}