xmpp-parsers: Simplify DataForm creation using constructors
The redundancy made it harder to review changes to the Field struct, for
instance in a1bee56ee1.
This commit is contained in:
parent
3d52905fe9
commit
2af07f4fc0
3 changed files with 35 additions and 122 deletions
|
|
@ -223,22 +223,12 @@ mod tests {
|
||||||
|
|
||||||
let pubsub = PubSubOwner::Configure(Configure {
|
let pubsub = PubSubOwner::Configure(Configure {
|
||||||
node: Some(NodeName(String::from("foo"))),
|
node: Some(NodeName(String::from("foo"))),
|
||||||
form: Some(DataForm {
|
form: Some(DataForm::new(
|
||||||
type_: DataFormType::Submit,
|
DataFormType::Submit,
|
||||||
form_type: Some(String::from(ns::PUBSUB_CONFIGURE)),
|
ns::PUBSUB_CONFIGURE,
|
||||||
title: None,
|
vec![Field::new("pubsub#access_model", FieldType::ListSingle)
|
||||||
instructions: None,
|
.with_value("whitelist")],
|
||||||
fields: vec![Field {
|
)),
|
||||||
var: Some(String::from("pubsub#access_model")),
|
|
||||||
type_: FieldType::ListSingle,
|
|
||||||
label: None,
|
|
||||||
required: false,
|
|
||||||
desc: None,
|
|
||||||
options: vec![],
|
|
||||||
values: vec![String::from("whitelist")],
|
|
||||||
media: vec![],
|
|
||||||
}],
|
|
||||||
}),
|
|
||||||
});
|
});
|
||||||
|
|
||||||
let elem2 = Element::from(pubsub);
|
let elem2 = Element::from(pubsub);
|
||||||
|
|
@ -271,22 +261,12 @@ mod tests {
|
||||||
let elem1 = elem.clone();
|
let elem1 = elem.clone();
|
||||||
|
|
||||||
let pubsub = PubSubOwner::Default(Default {
|
let pubsub = PubSubOwner::Default(Default {
|
||||||
form: Some(DataForm {
|
form: Some(DataForm::new(
|
||||||
type_: DataFormType::Submit,
|
DataFormType::Submit,
|
||||||
form_type: Some(String::from(ns::PUBSUB_CONFIGURE)),
|
ns::PUBSUB_CONFIGURE,
|
||||||
title: None,
|
vec![Field::new("pubsub#access_model", FieldType::ListSingle)
|
||||||
instructions: None,
|
.with_value("whitelist")],
|
||||||
fields: vec![Field {
|
)),
|
||||||
var: Some(String::from("pubsub#access_model")),
|
|
||||||
type_: FieldType::ListSingle,
|
|
||||||
label: None,
|
|
||||||
required: false,
|
|
||||||
desc: None,
|
|
||||||
options: vec![],
|
|
||||||
values: vec![String::from("whitelist")],
|
|
||||||
media: vec![],
|
|
||||||
}],
|
|
||||||
}),
|
|
||||||
});
|
});
|
||||||
|
|
||||||
let elem2 = Element::from(pubsub);
|
let elem2 = Element::from(pubsub);
|
||||||
|
|
|
||||||
|
|
@ -615,22 +615,12 @@ mod tests {
|
||||||
node: Some(NodeName(String::from("foo"))),
|
node: Some(NodeName(String::from("foo"))),
|
||||||
},
|
},
|
||||||
configure: Some(Configure {
|
configure: Some(Configure {
|
||||||
form: Some(DataForm {
|
form: Some(DataForm::new(
|
||||||
type_: DataFormType::Submit,
|
DataFormType::Submit,
|
||||||
form_type: Some(String::from(ns::PUBSUB_CONFIGURE)),
|
ns::PUBSUB_CONFIGURE,
|
||||||
title: None,
|
vec![Field::new("pubsub#access_model", FieldType::ListSingle)
|
||||||
instructions: None,
|
.with_value("whitelist")],
|
||||||
fields: vec![Field {
|
)),
|
||||||
var: Some(String::from("pubsub#access_model")),
|
|
||||||
type_: FieldType::ListSingle,
|
|
||||||
label: None,
|
|
||||||
required: false,
|
|
||||||
desc: None,
|
|
||||||
options: vec![],
|
|
||||||
values: vec![String::from("whitelist")],
|
|
||||||
media: vec![],
|
|
||||||
}],
|
|
||||||
}),
|
|
||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -116,81 +116,24 @@ mod tests {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_simple() {
|
fn test_simple() {
|
||||||
let form = DataForm {
|
let form = DataForm::new(
|
||||||
type_: DataFormType::Result_,
|
DataFormType::Result_,
|
||||||
form_type: Some(String::from(ns::SERVER_INFO)),
|
ns::SERVER_INFO,
|
||||||
title: None,
|
vec![
|
||||||
instructions: None,
|
Field::new("abuse-addresses", FieldType::ListMulti),
|
||||||
fields: vec![
|
Field::new("admin-addresses", FieldType::ListMulti)
|
||||||
Field {
|
.with_value("xmpp:admin@foo.bar")
|
||||||
var: Some(String::from("abuse-addresses")),
|
.with_value("https://foo.bar/chat/")
|
||||||
type_: FieldType::ListMulti,
|
.with_value("mailto:admin@foo.bar"),
|
||||||
label: None,
|
Field::new("feedback-addresses", FieldType::ListMulti),
|
||||||
required: false,
|
Field::new("sales-addresses", FieldType::ListMulti),
|
||||||
desc: None,
|
Field::new("security-addresses", FieldType::ListMulti)
|
||||||
options: vec![],
|
.with_value("xmpp:security@foo.bar")
|
||||||
values: vec![],
|
.with_value("mailto:security@foo.bar"),
|
||||||
media: vec![],
|
Field::new("support-addresses", FieldType::ListMulti)
|
||||||
},
|
.with_value("mailto:support@foo.bar"),
|
||||||
Field {
|
|
||||||
var: Some(String::from("admin-addresses")),
|
|
||||||
type_: FieldType::ListMulti,
|
|
||||||
label: None,
|
|
||||||
required: false,
|
|
||||||
desc: None,
|
|
||||||
options: vec![],
|
|
||||||
values: vec![
|
|
||||||
String::from("xmpp:admin@foo.bar"),
|
|
||||||
String::from("https://foo.bar/chat/"),
|
|
||||||
String::from("mailto:admin@foo.bar"),
|
|
||||||
],
|
|
||||||
media: vec![],
|
|
||||||
},
|
|
||||||
Field {
|
|
||||||
var: Some(String::from("feedback-addresses")),
|
|
||||||
type_: FieldType::ListMulti,
|
|
||||||
label: None,
|
|
||||||
required: false,
|
|
||||||
desc: None,
|
|
||||||
options: vec![],
|
|
||||||
values: vec![],
|
|
||||||
media: vec![],
|
|
||||||
},
|
|
||||||
Field {
|
|
||||||
var: Some(String::from("sales-addresses")),
|
|
||||||
type_: FieldType::ListMulti,
|
|
||||||
label: None,
|
|
||||||
required: false,
|
|
||||||
desc: None,
|
|
||||||
options: vec![],
|
|
||||||
values: vec![],
|
|
||||||
media: vec![],
|
|
||||||
},
|
|
||||||
Field {
|
|
||||||
var: Some(String::from("security-addresses")),
|
|
||||||
type_: FieldType::ListMulti,
|
|
||||||
label: None,
|
|
||||||
required: false,
|
|
||||||
desc: None,
|
|
||||||
options: vec![],
|
|
||||||
values: vec![
|
|
||||||
String::from("xmpp:security@foo.bar"),
|
|
||||||
String::from("mailto:security@foo.bar"),
|
|
||||||
],
|
|
||||||
media: vec![],
|
|
||||||
},
|
|
||||||
Field {
|
|
||||||
var: Some(String::from("support-addresses")),
|
|
||||||
type_: FieldType::ListMulti,
|
|
||||||
label: None,
|
|
||||||
required: false,
|
|
||||||
desc: None,
|
|
||||||
options: vec![],
|
|
||||||
values: vec![String::from("mailto:support@foo.bar")],
|
|
||||||
media: vec![],
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
};
|
);
|
||||||
|
|
||||||
let server_info = ServerInfo {
|
let server_info = ServerInfo {
|
||||||
abuse: vec![],
|
abuse: vec![],
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue