mirror of
https://github.com/tauri-apps/plugins-workspace.git
synced 2026-05-15 12:48:00 +02:00
86 lines
2.1 KiB
Rust
86 lines
2.1 KiB
Rust
#![cfg(all(test, unix, not(target_os = "macos")))]
|
|
|
|
use dbus::arg::messageitem::MessageItem as Item;
|
|
use ctor::ctor;
|
|
|
|
use super::*;
|
|
use self::Hint as Hint;
|
|
use super::Urgency::*;
|
|
|
|
|
|
#[ctor]
|
|
fn init_color_backtrace() {
|
|
color_backtrace::install();
|
|
}
|
|
|
|
#[test]
|
|
fn hint_to_item() {
|
|
let category = &Hint::Category("test-me".to_owned());
|
|
let (k, v) = category.into();
|
|
|
|
let test_k = Item::Str("category".into());
|
|
let test_v = Item::Variant(Box::new(Item::Str("test-me".into())));
|
|
|
|
assert_eq!(k, test_k);
|
|
assert_eq!(v, test_v);
|
|
}
|
|
|
|
#[test]
|
|
fn urgency() {
|
|
let low = &Hint::Urgency(Low);
|
|
let (k, v) = low.into();
|
|
|
|
let test_k = Item::Str("urgency".into());
|
|
let test_v = Item::Variant(Box::new(Item::Byte(0)));
|
|
|
|
assert_eq!(k, test_k);
|
|
assert_eq!(v, test_v);
|
|
}
|
|
|
|
#[test]
|
|
fn simple_hint_to_item() {
|
|
let old_hint = &Hint::Custom("foo".into(), "bar".into());
|
|
|
|
let (k, v) = old_hint.into();
|
|
let hint: Hint = (&k, &v).into();
|
|
|
|
assert_eq!(old_hint, &hint);
|
|
}
|
|
|
|
#[test]
|
|
#[cfg(all(feature = "images", unix, not(target_os = "macos")))]
|
|
fn imagedata_hint_to_item() {
|
|
let hint = &Hint::ImageData(Image::from_rgb(1, 1, vec![0, 0, 0]).unwrap());
|
|
let item: MessageItem = hint.into();
|
|
let test_item = Item::DictEntry(
|
|
Box::new(Item::Str(image_spec(*::SPEC_VERSION))),
|
|
Box::new(Item::Variant(Box::new(Item::Struct(vec![
|
|
Item::Int32(1),
|
|
Item::Int32(1),
|
|
Item::Int32(3),
|
|
Item::Bool(false),
|
|
Item::Int32(8),
|
|
Item::Int32(3),
|
|
Item::Array(dbus::MessageItemArray::new(vec![
|
|
Item::Byte(0),
|
|
Item::Byte(0),
|
|
Item::Byte(0),
|
|
],"ay".into()).unwrap())
|
|
]))))
|
|
);
|
|
assert_eq!(item, test_item);
|
|
}
|
|
|
|
#[test]
|
|
#[cfg(all(feature = "images", unix, not(target_os = "macos")))]
|
|
fn imagedata_hint_to_item_with_spec() {
|
|
let key = image_spec(Version::new(1, 0));
|
|
assert_eq!(key, String::from("icon_data"));
|
|
|
|
let key = image_spec(Version::new(1, 1));
|
|
assert_eq!(key, String::from("image_data"));
|
|
|
|
let key = image_spec(Version::new(1, 2));
|
|
assert_eq!(key, String::from("image-data"));
|
|
}
|