summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2017-02-03 15:03:01 +0100
committerGitHub <noreply@github.com>2017-02-03 15:03:01 +0100
commit47a3e4f6bb2289250d83a3f375f3605fe2d544bf (patch)
tree6199ee7e4d710b72a804c94236617ce0e1368df5
parent30bb654a8519d85798ecd90c285b1b46378d912d (diff)
parent7f71668f4280c77ba08c5e93339d2b1ced492837 (diff)
Merge pull request #47 from matthiasbeyer/examples
Examples
-rw-r--r--.travis.yml14
-rw-r--r--examples/create_task.rs19
-rw-r--r--examples/import_task.rs21
3 files changed, 54 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml
index c27ede9..2cfae77 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,6 +6,20 @@ rust:
matrix:
allow_failures:
- rust: nightly
+before_install:
+ - sudo apt-get -y install task
+script: |
+ cargo build
+ cargo test
+
+ # prepare taskwarrior, initial setup
+ yes | task
+
+ cargo run --example create_task | tee /tmp/create_task
+ task import /tmp/create_task || exit 1
+
+ cat /tmp/create_task | cargo run --example import_task || exit 1
+
after_success: |
[ $TRAVIS_BRANCH = master ] &&
[ $TRAVIS_PULL_REQUEST = false ] &&
diff --git a/examples/create_task.rs b/examples/create_task.rs
new file mode 100644
index 0000000..b7eafca
--- /dev/null
+++ b/examples/create_task.rs
@@ -0,0 +1,19 @@
+extern crate task_hookrs;
+extern crate chrono;
+extern crate serde_json;
+extern crate uuid;
+
+use task_hookrs::task::Task;
+use task_hookrs::status::TaskStatus;
+
+use chrono::NaiveDateTime;
+use serde_json::to_string;
+use uuid::Uuid;
+
+fn main() {
+ let uuid = Uuid::nil();
+ let date = NaiveDateTime::parse_from_str("2016-12-31 12:13:14", "%Y-%m-%d %H:%M:%S").unwrap();
+ let t = Task::new(TaskStatus::Pending, uuid, date.into(), "Test task".to_string(),
+ None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None,);
+ println!("[{}]", to_string(&t).unwrap());
+}
diff --git a/examples/import_task.rs b/examples/import_task.rs
new file mode 100644
index 0000000..d1a481b
--- /dev/null
+++ b/examples/import_task.rs
@@ -0,0 +1,21 @@
+extern crate task_hookrs;
+extern crate chrono;
+extern crate serde_json;
+extern crate uuid;
+
+use std::io::stdin;
+
+use task_hookrs::status::TaskStatus;
+use task_hookrs::import::import;
+
+fn main() {
+ let mut tasks = import(stdin()).unwrap();
+ assert_eq!(tasks.len(), 1);
+ let t = tasks.pop().unwrap();
+ assert_eq!(*t.status(), TaskStatus::Pending);
+ assert_eq!(*t.description(), "Test task".to_owned());
+ assert_eq!(t.priority(), None);
+
+ println!("Successfully imported:\n{:?}", t);
+}
+