fontconfig_parser/types/match_/
test.rs1use crate::Property;
2
3#[derive(Clone, Debug, Default, PartialEq)]
11#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
12pub struct Test {
13 pub qual: TestQual,
14 pub target: TestTarget,
15 pub compare: TestCompare,
16 pub value: Property,
17}
18
19#[derive(Clone, Copy, Debug, PartialEq, Eq)]
20#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
21pub enum TestTarget {
22 Default,
23 Pattern,
24 Font,
25 Scan,
26}
27
28parse_enum! {
29 TestTarget,
30 (Default, "default"),
31 (Pattern, "pattern"),
32 (Font, "font"),
33 (Scan, "scan"),
34}
35
36impl Default for TestTarget {
37 fn default() -> Self {
38 TestTarget::Default
39 }
40}
41
42#[derive(Clone, Copy, Debug, PartialEq, Eq)]
43#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
44pub enum TestCompare {
45 Eq,
46 NotEq,
47 Less,
48 LessEq,
49 More,
50 MoreEq,
51 Contains,
52 NotContains,
53}
54
55parse_enum! {
56 TestCompare,
57 (Eq, "eq"),
58 (NotEq, "not_eq"),
59 (Less, "less"),
60 (LessEq, "less_eq"),
61 (More, "more"),
62 (MoreEq, "more_eq"),
63 (Contains, "contains"),
64 (NotContains, "not_contains"),
65}
66
67impl Default for TestCompare {
68 fn default() -> Self {
69 TestCompare::Eq
70 }
71}
72
73#[derive(Clone, Copy, Debug, PartialEq, Eq)]
74#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
75pub enum TestQual {
76 Any,
77 All,
78}
79
80parse_enum! {
81 TestQual,
82 (Any, "any"),
83 (All, "all"),
84}
85
86impl Default for TestQual {
87 fn default() -> Self {
88 TestQual::Any
89 }
90}