#![cfg(feature = "NSError")]
#![cfg(feature = "NSString")]
use alloc::format;
use crate::{ns_string, NSCocoaErrorDomain, NSError};
#[test]
fn basic() {
let error = NSError::new(-999, unsafe { NSCocoaErrorDomain });
let expected = if cfg!(target_vendor = "apple") {
"The operation couldn’t be completed. (Cocoa error -999.)"
} else {
"NSCocoaErrorDomain -999"
};
assert_eq!(format!("{error}"), expected);
}
#[test]
fn custom_domain() {
let error = NSError::new(42, ns_string!("MyDomain"));
assert_eq!(error.code(), 42);
assert_eq!(&*error.domain(), ns_string!("MyDomain"));
let expected = if cfg!(target_vendor = "apple") {
"The operation couldn’t be completed. (MyDomain error 42.)"
} else {
"MyDomain 42"
};
assert_eq!(format!("{error}"), expected);
}