diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2017-02-03 15:03:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-03 15:03:01 +0100 |
commit | 47a3e4f6bb2289250d83a3f375f3605fe2d544bf (patch) | |
tree | 6199ee7e4d710b72a804c94236617ce0e1368df5 | |
parent | 30bb654a8519d85798ecd90c285b1b46378d912d (diff) | |
parent | 7f71668f4280c77ba08c5e93339d2b1ced492837 (diff) |
Merge pull request #47 from matthiasbeyer/examples
Examples
-rw-r--r-- | .travis.yml | 14 | ||||
-rw-r--r-- | examples/create_task.rs | 19 | ||||
-rw-r--r-- | examples/import_task.rs | 21 |
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); +} + |