You've already forked platform-info
mirror of
https://github.com/uutils/platform-info.git
synced 2026-06-10 15:48:45 -07:00
700a74e91d
Done with: $ cargo clippy --fix --allow-dirty -- -W clippy::pedantic
57 lines
1.9 KiB
Rust
57 lines
1.9 KiB
Rust
// spell-checker:ignore (API) nodename osname sysname
|
|
|
|
use platform_info::*;
|
|
|
|
#[test]
|
|
fn platform() -> Result<(), String> {
|
|
let info = PlatformInfo::new().unwrap();
|
|
|
|
let sysname = info.sysname().to_string_lossy();
|
|
let nodename = info.nodename().to_string_lossy();
|
|
let release = info.release().to_string_lossy();
|
|
let version = info.version().to_string_lossy();
|
|
let machine = info.machine().to_string_lossy();
|
|
let osname = info.osname().to_string_lossy();
|
|
|
|
assert!(!sysname.is_empty());
|
|
assert!(!nodename.is_empty());
|
|
assert!(!release.is_empty());
|
|
assert!(!version.is_empty());
|
|
assert!(!machine.is_empty());
|
|
assert!(!osname.is_empty());
|
|
|
|
// assert!(false);
|
|
Ok(())
|
|
}
|
|
|
|
#[test]
|
|
fn platform_no_invisible_contents() -> Result<(), String> {
|
|
let info = PlatformInfo::new().unwrap();
|
|
|
|
let sysname = info.sysname().to_string_lossy();
|
|
let nodename = info.nodename().to_string_lossy();
|
|
let release = info.release().to_string_lossy();
|
|
let version = info.version().to_string_lossy();
|
|
let machine = info.machine().to_string_lossy();
|
|
let osname = info.osname().to_string_lossy();
|
|
|
|
let s = format!("sysname='{sysname}';nodename='{nodename}';release='{release}';version='{version}';machine='{machine}';osname='{osname}'");
|
|
println!("s = [{}]\"{}\"", s.len(), s);
|
|
|
|
// let re = regex::Regex::new("[^[[:print:]]]").unwrap(); // matches invisible (and emojis)
|
|
let re = regex::Regex::new("[^[[:print:]]\\p{Other_Symbol}]").unwrap(); // matches invisible only (not emojis)
|
|
assert_eq!(re.find(&s), None);
|
|
|
|
Ok(())
|
|
}
|
|
|
|
#[test]
|
|
fn platform_clone() -> Result<(), String> {
|
|
let info = PlatformInfo::new().unwrap();
|
|
#[allow(clippy::redundant_clone)] // ignore `clippy::redundant_clone` warning for direct testing
|
|
let info_copy = info.clone();
|
|
println!("{info:?}");
|
|
assert_eq!(info_copy, info);
|
|
Ok(())
|
|
}
|