Skip to content

Commit 9972b65

Browse files
committed
Add line parameter to build-scheduled-task
1 parent 7f51da4 commit 9972b65

3 files changed

Lines changed: 16 additions & 16 deletions

File tree

src/schedule_parser.janet

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
:tasks
1111
{:main (group (any :task))
1212
:task
13-
{:main (replace (* "- " :task-title :task-schedule (? "\n"))
13+
{:main (replace (* "- " (line) :task-title :task-schedule (? "\n"))
1414
,task/build-scheduled-task)
1515
:task-title (replace (capture (some (if-not (+ "(" "\n") 1))) ,string/trim)
1616
:task-schedule (* "(" (replace (capture (some (+ :w+ :s+ "-"))) ,string/trim) ")")}}})

src/task.janet

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
(default body @[])
88
{:title title :body body :done done})
99

10-
(defn build-scheduled-task [title schedule]
11-
{:title title :done false :schedule schedule})
10+
(defn build-scheduled-task [line title schedule]
11+
{:line line :title title :done false :schedule schedule})
1212

1313
(defn build-missed-task [title date &opt body]
1414
(default body @[])

test/commands/schedule_tasks_test.janet

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,24 @@
1010
## Test scheduled-for?
1111

1212
(deftest "every Monday"
13-
(def task (task/build-scheduled-task "Weekly meeting" "every Monday"))
13+
(def task (task/build-scheduled-task 42 "Weekly meeting" "every Monday"))
1414
(test (scheduled-for? task (d/date 2022 1 24)) true)
1515
(test (not (scheduled-for? task (d/date 2022 1 25))) true))
1616

1717
(deftest "every Tuesday"
18-
(def task (task/build-scheduled-task "Weekly meeting" "every Tuesday"))
18+
(def task (task/build-scheduled-task 42 "Weekly meeting" "every Tuesday"))
1919
(test (not (scheduled-for? task (d/date 2022 1 24))) true)
2020
(test (scheduled-for? task (d/date 2022 1 25)) true))
2121

2222
(deftest "every month"
23-
(def task (task/build-scheduled-task "Review logs" "every month"))
23+
(def task (task/build-scheduled-task 42 "Review logs" "every month"))
2424
(test (scheduled-for? task (d/date 2022 1 1)) true)
2525
(test (not (scheduled-for? task (d/date 2022 1 2))) true)
2626
(test (scheduled-for? task (d/date 2022 6 1)) true)
2727
(test (not (scheduled-for? task (d/date 2022 6 15))) true))
2828

2929
(deftest "every 3 months"
30-
(def task (task/build-scheduled-task "Review logs" "every 3 months"))
30+
(def task (task/build-scheduled-task 42 "Review logs" "every 3 months"))
3131
(test (scheduled-for? task (d/date 2022 1 1)) true)
3232
(test (not (scheduled-for? task (d/date 2022 2 1))) true)
3333
(test (not (scheduled-for? task (d/date 2022 3 1))) true)
@@ -40,7 +40,7 @@
4040
(test (scheduled-for? task (d/date 2022 10 1)) true))
4141

4242
(deftest "every weekday"
43-
(def task (task/build-scheduled-task "Review logs" "every weekday"))
43+
(def task (task/build-scheduled-task 42 "Review logs" "every weekday"))
4444
(test (scheduled-for? task (d/date 2022 1 24)) true) # Monday
4545
(test (scheduled-for? task (d/date 2022 1 25)) true) # Tuesday
4646
(test (scheduled-for? task (d/date 2022 1 26)) true) # Wednesday
@@ -50,7 +50,7 @@
5050
(test (not (scheduled-for? task (d/date 2022 1 30))) true)) # Sunday
5151

5252
(deftest "every year on some date"
53-
(def task (task/build-scheduled-task "Review logs" "every year on 01-27"))
53+
(def task (task/build-scheduled-task 42 "Review logs" "every year on 01-27"))
5454
(test (scheduled-for? task (d/date 2022 1 27)) true)
5555
(test (scheduled-for? task (d/date 2023 1 27)) true)
5656
(test (scheduled-for? task (d/date 2024 1 27)) true)
@@ -59,15 +59,15 @@
5959
(test (not (scheduled-for? task (d/date 2022 2 1))) true))
6060

6161
(deftest "on some date"
62-
(def task (task/build-scheduled-task "Review logs" "on 2022-01-27"))
62+
(def task (task/build-scheduled-task 42 "Review logs" "on 2022-01-27"))
6363
(test (scheduled-for? task (d/date 2022 1 27)) true)
6464
(test (not (scheduled-for? task (d/date 2022 1 26))) true)
6565
(test (not (scheduled-for? task (d/date 2022 1 28))) true)
6666
(test (not (scheduled-for? task (d/date 2022 2 1))) true)
6767
(test (not (scheduled-for? task (d/date 2023 1 27))) true))
6868

6969
(deftest "every last day"
70-
(def task (task/build-scheduled-task "Review logs" "every last day"))
70+
(def task (task/build-scheduled-task 42 "Review logs" "every last day"))
7171
(test (scheduled-for? task (d/date 2022 1 31)) true)
7272
(test (scheduled-for? task (d/date 2022 2 28)) true)
7373
(test (scheduled-for? task (d/date 2022 3 31)) true)
@@ -84,7 +84,7 @@
8484
(test (not (scheduled-for? task (d/date 2022 1 30))) true))
8585

8686
(deftest "every last Friday"
87-
(def task (task/build-scheduled-task "Review logs" "every last Friday"))
87+
(def task (task/build-scheduled-task 42 "Review logs" "every last Friday"))
8888
(test (scheduled-for? task (d/date 2022 1 28)) true)
8989
(test (scheduled-for? task (d/date 2022 2 25)) true)
9090
(test (scheduled-for? task (d/date 2022 3 25)) true)
@@ -95,7 +95,7 @@
9595
## —————————————————————————————————————————————————————————————————————————————————————————————————
9696
## Test missed?
9797

98-
(def scheduled-task (task/build-scheduled-task "Weekly meeting" "on 2022-08-01"))
98+
(def scheduled-task (task/build-scheduled-task 42 "Weekly meeting" "on 2022-08-01"))
9999

100100
(deftest "returns true when the task is missed"
101101
(def plan (plan/build-plan
@@ -127,8 +127,8 @@
127127
## Test schedule-tasks
128128

129129
(def scheduled-tasks
130-
@[(task/build-scheduled-task "Weekly meeting" "every Monday")
131-
(task/build-scheduled-task "Check logs" "every Wednesday")])
130+
@[(task/build-scheduled-task 42 "Weekly meeting" "every Monday")
131+
(task/build-scheduled-task 42 "Check logs" "every Wednesday")])
132132

133133
(deftest "schedules tasks scheduled on specific weekdays"
134134
(def plan (plan/build-plan
@@ -168,7 +168,7 @@
168168

169169
(deftest "schedules missed monthly tasks"
170170
(def scheduled-tasks
171-
@[(task/build-scheduled-task "Review logs" "every month")])
171+
@[(task/build-scheduled-task 42 "Review logs" "every month")])
172172
(def day-1 (day/build-day (d/date 2022 7 5)))
173173
(def day-2 (day/build-day (d/date 2022 6 15)))
174174
(def plan (plan/build-plan :days @[day-1 day-2]))

0 commit comments

Comments
 (0)