diff --git a/objc2_foundation/src/value.rs b/objc2_foundation/src/value.rs index 20ba25442..22ae1d0da 100644 --- a/objc2_foundation/src/value.rs +++ b/objc2_foundation/src/value.rs @@ -85,7 +85,7 @@ unsafe impl INSCopying for NSValue { #[cfg(test)] mod tests { use crate::{INSValue, NSRange, NSValue}; - use objc2::Encode; + use objc2::{msg_send, runtime::Object, Encode}; #[test] fn test_value() { @@ -98,6 +98,15 @@ mod tests { fn test_value_nsrange() { let val = NSValue::new(NSRange::from(1..2)); assert!(&NSRange::ENCODING == val.encoding().unwrap()); + #[cfg(gnustep)] + assert_eq!( + unsafe { &*(&*val as *const NSValue as *const Object) } + .class() + .name(), + "GSRangeValue" + ); + let range: NSRange = unsafe { msg_send![val, rangeValue] }; + assert_eq!(range, NSRange::from(1..2)); assert_eq!(val.get(), NSRange::from(1..2)); } }