updatehub_package_schema/definitions/
truncate.rs1use serde::Deserialize;
6
7#[derive(Clone, PartialEq, Eq, Debug, Deserialize)]
10pub struct Truncate(pub bool);
11
12impl Default for Truncate {
13 fn default() -> Self {
14 Truncate(true)
15 }
16}
17
18#[cfg(test)]
19mod test {
20 use super::*;
21 use pretty_assertions::assert_eq;
22 use serde_json::json;
23
24 #[derive(Debug, PartialEq, Eq, Deserialize)]
25 struct Payload {
26 #[serde(default)]
27 truncate: Truncate,
28 }
29
30 #[test]
31 fn deserialize() {
32 assert_eq!(
33 serde_json::from_value::<Payload>(json!({ "truncate": false })).ok(),
34 Some(Payload { truncate: Truncate(false) })
35 );
36 }
37
38 #[test]
39 fn default() {
40 assert_eq!(
41 serde_json::from_value::<Payload>(json!({})).ok(),
42 Some(Payload { truncate: Truncate(true) })
43 );
44 }
45}