use darling to parse attributes
the code is much more readable now
This commit is contained in:
@ -4,7 +4,7 @@ use macroconf::config;
|
||||
use miniconf::{
|
||||
Error::Traversal,
|
||||
IntoKeys, JsonCoreSlash, Path,
|
||||
Traversal::{Absent, TooLong},
|
||||
Traversal::{Access, TooLong},
|
||||
Tree, TreeKey,
|
||||
};
|
||||
use serde::{Deserialize, Serialize};
|
||||
@ -13,11 +13,11 @@ use serde::{Deserialize, Serialize};
|
||||
#[derive(Debug, Clone, Copy, Serialize, Deserialize, Tree)]
|
||||
struct SubConfig {
|
||||
skipped: i32,
|
||||
#[min]
|
||||
#[config(min)]
|
||||
min: i32,
|
||||
#[max]
|
||||
#[config(max)]
|
||||
max: i32,
|
||||
#[default = 0]
|
||||
#[config(default = "0")]
|
||||
default: i32,
|
||||
/// This is a description
|
||||
description: i32,
|
||||
@ -94,9 +94,8 @@ fn serialize() {
|
||||
("/description/value", "5"),
|
||||
("/description/description", "\"This is a description\""),
|
||||
] {
|
||||
let res = config.get_json(input, &mut buffer);
|
||||
assert_eq!(res, Ok(output.len()));
|
||||
assert_eq!(from_utf8(&buffer[..output.len()]), Ok(output));
|
||||
let len = config.get_json(input, &mut buffer).unwrap();
|
||||
assert_eq!(from_utf8(&buffer[..len]), Ok(output));
|
||||
}
|
||||
}
|
||||
|
||||
@ -132,7 +131,7 @@ fn deserialize() {
|
||||
"/description/description",
|
||||
] {
|
||||
let res = config.set_json(input, b"10");
|
||||
assert_eq!(res, Err(Traversal(Absent(1))));
|
||||
assert_eq!(res, Err(Traversal(Access(1, "Cannot write limits"))));
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user