summaryrefslogtreecommitdiffstats
path: root/src/task.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/task.rs')
-rw-r--r--src/task.rs154
1 files changed, 74 insertions, 80 deletions
diff --git a/src/task.rs b/src/task.rs
index fd7e708..2268fed 100644
--- a/src/task.rs
+++ b/src/task.rs
@@ -6,23 +6,23 @@
//! Module containing `Task` type as well as trait implementations
-use std::result::Result as RResult;
use std::fmt;
+use std::result::Result as RResult;
-use serde::{Serialize, Serializer};
+use chrono::Utc;
+use serde::de::{Error, MapAccess, Visitor};
use serde::ser::SerializeMap;
use serde::{Deserialize, Deserializer};
-use serde::de::{Visitor, Error, MapAccess};
+use serde::{Serialize, Serializer};
use uuid::Uuid;
-use chrono::Utc;
+use annotation::Annotation;
+use date::Date;
use priority::TaskPriority;
-use status::TaskStatus;
use project::Project;
+use status::TaskStatus;
use tag::Tag;
-use date::Date;
-use annotation::Annotation;
-use uda::{UDA, UDAName, UDAValue};
+use uda::{UDAName, UDAValue, UDA};
use urgency::Urgency;
/// Task type
@@ -556,57 +556,57 @@ impl Serialize for Task {
state.serialize_entry("entry", &self.entry)?;
state.serialize_entry("description", &self.description)?;
- self.annotations.as_ref().map(|v| {
- state.serialize_entry("annotations", v)
- });
+ self.annotations
+ .as_ref()
+ .map(|v| state.serialize_entry("annotations", v));
self.tags.as_ref().map(|v| state.serialize_entry("tags", v));
self.id.as_ref().map(|v| state.serialize_entry("id", v));
- self.recur.as_ref().map(
- |ref v| state.serialize_entry("recur", v),
- );
+ self.recur
+ .as_ref()
+ .map(|ref v| state.serialize_entry("recur", v));
self.depends.as_ref().map(|ref v| {
let v: Vec<String> = v.iter().map(Uuid::to_string).collect();
state.serialize_entry("depends", &v.join(","))
});
- self.due.as_ref().map(
- |ref v| state.serialize_entry("due", v),
- );
- self.end.as_ref().map(
- |ref v| state.serialize_entry("end", v),
- );
- self.imask.as_ref().map(
- |ref v| state.serialize_entry("imask", v),
- );
- self.mask.as_ref().map(
- |ref v| state.serialize_entry("mask", v),
- );
- self.modified.as_ref().map(|ref v| {
- state.serialize_entry("modified", v)
- });
- self.parent.as_ref().map(|ref v| {
- state.serialize_entry("parent", v)
- });
- self.priority.as_ref().map(|ref v| {
- state.serialize_entry("priority", v)
- });
- self.project.as_ref().map(|ref v| {
- state.serialize_entry("project", v)
- });
- self.scheduled.as_ref().map(|ref v| {
- state.serialize_entry("scheduled", v)
- });
- self.start.as_ref().map(
- |ref v| state.serialize_entry("start", v),
- );
- self.until.as_ref().map(
- |ref v| state.serialize_entry("until", v),
- );
- self.wait.as_ref().map(
- |ref v| state.serialize_entry("wait", v),
- );
- self.urgency.as_ref().map(
- |ref v| state.serialize_entry("urgency", v),
- );
+ self.due
+ .as_ref()
+ .map(|ref v| state.serialize_entry("due", v));
+ self.end
+ .as_ref()
+ .map(|ref v| state.serialize_entry("end", v));
+ self.imask
+ .as_ref()
+ .map(|ref v| state.serialize_entry("imask", v));
+ self.mask
+ .as_ref()
+ .map(|ref v| state.serialize_entry("mask", v));
+ self.modified
+ .as_ref()
+ .map(|ref v| state.serialize_entry("modified", v));
+ self.parent
+ .as_ref()
+ .map(|ref v| state.serialize_entry("parent", v));
+ self.priority
+ .as_ref()
+ .map(|ref v| state.serialize_entry("priority", v));
+ self.project
+ .as_ref()
+ .map(|ref v| state.serialize_entry("project", v));
+ self.scheduled
+ .as_ref()
+ .map(|ref v| state.serialize_entry("scheduled", v));
+ self.start
+ .as_ref()
+ .map(|ref v| state.serialize_entry("start", v));
+ self.until
+ .as_ref()
+ .map(|ref v| state.serialize_entry("until", v));
+ self.wait
+ .as_ref()
+ .map(|ref v| state.serialize_entry("wait", v));
+ self.urgency
+ .as_ref()
+ .map(|ref v| state.serialize_entry("urgency", v));
for (key, value) in self.uda().iter() {
state.serialize_entry(key, value)?;
@@ -627,7 +627,6 @@ impl<'de> Deserialize<'de> for Task {
"uuid",
"entry",
"description",
-
"annotations",
"depends",
"due",
@@ -807,7 +806,6 @@ impl<'de> Visitor<'de> for TaskDeserializeVisitor {
uuid,
entry,
description,
-
annotations,
depends,
due,
@@ -834,16 +832,16 @@ impl<'de> Visitor<'de> for TaskDeserializeVisitor {
#[cfg(test)]
mod test {
+ use annotation::Annotation;
use date::Date;
use date::TASKWARRIOR_DATETIME_TEMPLATE;
use status::TaskStatus;
use task::Task;
- use annotation::Annotation;
use uda::UDAValue;
- use uuid::Uuid;
use chrono::NaiveDateTime;
use serde_json;
+ use uuid::Uuid;
fn mklogger() {
let _ = env_logger::init();
@@ -932,9 +930,7 @@ mod test {
if let Some(tags) = task.tags() {
for tag in tags {
- let any_tag = ["some", "tags", "are", "here"].iter().any(
- |t| tag == *t,
- );
+ let any_tag = ["some", "tags", "are", "here"].iter().any(|t| tag == *t);
assert!(any_tag, "Tag {} missing", tag);
}
} else {
@@ -960,9 +956,11 @@ mod test {
assert!(back.contains("here"));
assert!(back.contains("uuid"));
assert!(back.contains("8ca953d5-18b4-4eb9-bd56-18f2e5b752f0"));
- assert!(back.contains(
- "8ca953d5-18b4-4eb9-bd56-18f2e5b752f0,5a04bb1e-3f4b-49fb-b9ba-44407ca223b5",
- ));
+ assert!(
+ back.contains(
+ "8ca953d5-18b4-4eb9-bd56-18f2e5b752f0,5a04bb1e-3f4b-49fb-b9ba-44407ca223b5",
+ )
+ );
}
#[test]
@@ -992,15 +990,14 @@ mod test {
assert!(task.urgency() == Some(&-5.0));
- let all_annotations =
- vec![
- Annotation::new(mkdate("20160423T125911Z"), String::from("An Annotation")),
- Annotation::new(
- mkdate("20160423T125926Z"),
- String::from("Another Annotation")
- ),
- Annotation::new(mkdate("20160422T125942Z"), String::from("A Third Anno")),
- ];
+ let all_annotations = vec![
+ Annotation::new(mkdate("20160423T125911Z"), String::from("An Annotation")),
+ Annotation::new(
+ mkdate("20160423T125926Z"),
+ String::from("Another Annotation"),
+ ),
+ Annotation::new(mkdate("20160422T125942Z"), String::from("A Third Anno")),
+ ];
if let Some(annotations) = task.annotations() {
for annotation in annotations {
@@ -1133,7 +1130,7 @@ mod test {
#[test]
fn test_builder_extensive() {
use task::TaskBuilder;
- use uda::{UDA, UDAValue};
+ use uda::{UDAValue, UDA};
let mut uda = UDA::new();
uda.insert(
"test_str_uda".into(),
@@ -1173,12 +1170,10 @@ mod test {
#[test]
fn test_builder_defaults() {
use task::TaskBuilder;
- assert!(
- TaskBuilder::default()
- .description("Nice Task")
- .build()
- .is_ok()
- );
+ assert!(TaskBuilder::default()
+ .description("Nice Task")
+ .build()
+ .is_ok());
}
#[test]
@@ -1186,5 +1181,4 @@ mod test {
use task::TaskBuilder;
assert!(TaskBuilder::default().build().is_err());
}
-
}