From acca829aed4afc780a1c36d58d6ac6e17d884b8c Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Fri, 23 Oct 2015 10:19:17 -0400 Subject: [PATCH] Test: Merged t3.t.cpp into t.t.cpp --- test/.gitignore | 1 - test/CMakeLists.txt | 4 +-- test/t.t.cpp | 37 +++++++++++++++++++- test/t3.t.cpp | 83 --------------------------------------------- 4 files changed, 38 insertions(+), 87 deletions(-) delete mode 100644 test/t3.t.cpp diff --git a/test/.gitignore b/test/.gitignore index 46a180944..368a48a6e 100644 --- a/test/.gitignore +++ b/test/.gitignore @@ -20,7 +20,6 @@ msg.t nibbler.t rx.t t.t -t3.t taskmod.t tdb2.t text.t diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 830dda4c8..c0a3e25f1 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -10,8 +10,8 @@ include_directories (${CMAKE_SOURCE_DIR} ${TASK_INCLUDE_DIRS}) set (test_SRCS autocomplete.t col.t color.t config.t fs.t i18n.t json.t list.t - msg.t nibbler.t rx.t t.t t3.t tdb2.t text.t utf8.t util.t - view.t json_test lexer.t iso8601d.t iso8601p.t eval.t dates.t + msg.t nibbler.t rx.t t.t tdb2.t text.t utf8.t util.t view.t + json_test lexer.t iso8601d.t iso8601p.t eval.t dates.t variant_add.t variant_and.t variant_cast.t variant_divide.t variant_equal.t variant_exp.t variant_gt.t variant_gte.t variant_inequal.t variant_lt.t variant_lte.t variant_match.t diff --git a/test/t.t.cpp b/test/t.t.cpp index 3f19ec1c5..c0a54ce37 100644 --- a/test/t.t.cpp +++ b/test/t.t.cpp @@ -34,7 +34,7 @@ Context context; //////////////////////////////////////////////////////////////////////////////// int main (int, char**) { - UnitTest test (40); + UnitTest test (49); // Ensure environment has no influence. unsetenv ("TASKDATA"); @@ -217,6 +217,41 @@ TODO Task::decode //////////////////////////////////////////////////////////////////////////////// + Task::attributes["description"] = "string"; + Task::attributes["entry"] = "date"; + Task::attributes["tags"] = "string"; + Task::attributes["uuid"] = "string"; + + good = true; + try {Task t4 ("{}");} + catch (const std::string& e){test.diag (e); good = false;} + test.ok (good, "Task::Task ('{}')"); + + good = true; + try {Task t5 ("{\"uuid\":\"00000000-0000-0000-000000000001\",\"description\":\"foo\",\"entry\":\"1234567890\"}");} + catch (const std::string& e){test.diag (e); good = false;} + test.ok (good, "Task::Task ('{}')"); + + // Verify tag handling is correct between F4 and JSON. + Task t6; + t6.set ("entry", "20130602T224000Z"); + t6.set ("description", "DESC"); + t6.addTag ("tag1"); + test.is (t6.composeF4 (), "[description:\"DESC\" entry:\"20130602T224000Z\" tags:\"tag1\"]", "F4 good"); + test.is (t6.composeJSON (), "{\"description\":\"DESC\",\"entry\":\"20130602T224000Z\",\"tags\":[\"tag1\"]}", "JSON good"); + + t6.addTag ("tag2"); + test.is (t6.composeF4 (), "[description:\"DESC\" entry:\"20130602T224000Z\" tags:\"tag1,tag2\"]", "F4 good"); + test.is (t6.composeJSON (), "{\"description\":\"DESC\",\"entry\":\"20130602T224000Z\",\"tags\":[\"tag1\",\"tag2\"]}", "JSON good"); + + good = true; + Task t7; + try {t7 = Task ("{\"description\":\"DESC\",\"entry\":\"20130602T224000Z\",\"tags\":[\"tag1\",\"tag2\"]}");} + catch (const std::string& e){test.diag (e); good = false;} + test.ok (good, "Task::Task ('{two tags}')"); + test.is (t7.composeF4 (), "[description:\"DESC\" entry:\"1370212800\" tags:\"tag1,tag2\"]", "F4 good"); + test.is (t7.composeJSON (), "{\"description\":\"DESC\",\"entry\":\"20130602T224000Z\",\"tags\":[\"tag1\",\"tag2\"]}", "JSON good"); + return 0; } diff --git a/test/t3.t.cpp b/test/t3.t.cpp deleted file mode 100644 index ffacbe4eb..000000000 --- a/test/t3.t.cpp +++ /dev/null @@ -1,83 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// Copyright 2006 - 2015, Paul Beckingham, Federico Hernandez. -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -// http://www.opensource.org/licenses/mit-license.php -// -//////////////////////////////////////////////////////////////////////////////// - -#include -#include -#include -#include -#include -#include - -Context context; - -//////////////////////////////////////////////////////////////////////////////// -int main (int, char**) -{ - UnitTest t (9); - - // Ensure environment has no influence. - unsetenv ("TASKDATA"); - unsetenv ("TASKRC"); - - Task::attributes["description"] = "string"; - Task::attributes["entry"] = "date"; - Task::attributes["tags"] = "string"; - Task::attributes["uuid"] = "string"; - - bool good = true; - try {Task t1 ("{}");} - catch (const std::string& e){t.diag (e); good = false;} - t.ok (good, "Task::Task ('{}')"); - - good = true; - try {Task t2 ("{\"uuid\":\"00000000-0000-0000-000000000001\",\"description\":\"foo\",\"entry\":\"1234567890\"}");} - catch (const std::string& e){t.diag (e); good = false;} - t.ok (good, "Task::Task ('{}')"); - - // Verify tag handling is correct between F4 and JSON. - Task t3; - t3.set ("entry", "20130602T224000Z"); - t3.set ("description", "DESC"); - t3.addTag ("tag1"); - t.is (t3.composeF4 (), "[description:\"DESC\" entry:\"20130602T224000Z\" tags:\"tag1\"]", "F4 good"); - t.is (t3.composeJSON (), "{\"description\":\"DESC\",\"entry\":\"20130602T224000Z\",\"tags\":[\"tag1\"]}", "JSON good"); - - t3.addTag ("tag2"); - t.is (t3.composeF4 (), "[description:\"DESC\" entry:\"20130602T224000Z\" tags:\"tag1,tag2\"]", "F4 good"); - t.is (t3.composeJSON (), "{\"description\":\"DESC\",\"entry\":\"20130602T224000Z\",\"tags\":[\"tag1\",\"tag2\"]}", "JSON good"); - - good = true; - Task t4; - try {t4 = Task ("{\"description\":\"DESC\",\"entry\":\"20130602T224000Z\",\"tags\":[\"tag1\",\"tag2\"]}");} - catch (const std::string& e){t.diag (e); good = false;} - t.ok (good, "Task::Task ('{two tags}')"); - t.is (t4.composeF4 (), "[description:\"DESC\" entry:\"1370212800\" tags:\"tag1,tag2\"]", "F4 good"); - t.is (t4.composeJSON (), "{\"description\":\"DESC\",\"entry\":\"20130602T224000Z\",\"tags\":[\"tag1\",\"tag2\"]}", "JSON good"); - - return 0; -} - -////////////////////////////////////////////////////////////////////////////////