/* * Mirai. Copyright (C) 2024 Vyn * This file is licensed under version 3 of the GNU General Public License (GPL-3.0-only) * The license can be found in the LICENSE file or at https://www.gnu.org/licenses/gpl-3.0.txt */ // TODO this is just a quick setup for later #include "core/Mirai.h" #include "core/TaskItem.h" #include "core/TodoMd.h" #include TEST_CASE("Creating task from string") { SECTION("Task with all properties") { auto task = mirai::TodoMdFormat::StringToTask( "- [X] 08:00-10:00 > This is a test -- #mirai", "2024-04-19" ); REQUIRE(task.date == "2024-04-19"); REQUIRE(task.tags.size() == 1); REQUIRE(task.tags[0] == "mirai"); REQUIRE(task.text == "This is a test"); REQUIRE(task.state == mirai::DONE); REQUIRE(task.startTime == "08:00"); REQUIRE(task.endTime == "10:00"); } SECTION("Task with all properties 2") { auto task = mirai::TodoMdFormat::StringToTask( "- [ ] 09:00-17:00 > This is another test -- #mirai #feature", "2024-04-20" ); REQUIRE(task.date == "2024-04-20"); REQUIRE(task.tags.size() == 2); REQUIRE(task.tags[0] == "mirai"); REQUIRE(task.tags[1] == "feature"); REQUIRE(task.text == "This is another test"); REQUIRE(task.state == mirai::TODO); REQUIRE(task.startTime == "09:00"); REQUIRE(task.endTime == "17:00"); } }