@@ -24,7 +24,15 @@ import Test.Hspec (
24
24
import Data.Hourglass (DateTime )
25
25
import Data.Text qualified as T
26
26
import ImportExport (PreEdit (ApplyPreEdit ), editTaskByTask )
27
- import Lib (addTag , countTasks , deleteNote , insertRecord , insertTags , newTasks )
27
+ import Lib (
28
+ addTag ,
29
+ countTasks ,
30
+ deleteNote ,
31
+ infoTask ,
32
+ insertRecord ,
33
+ insertTags ,
34
+ newTasks ,
35
+ )
28
36
import Task (Task (body , closed_utc , state , ulid ), TaskState (Done ), zeroTask )
29
37
import TaskToNote (TaskToNote (TaskToNote ))
30
38
import TaskToNote qualified
@@ -39,6 +47,17 @@ task1 =
39
47
}
40
48
41
49
50
+ taskMultiLine :: Task
51
+ taskMultiLine =
52
+ zeroTask
53
+ { ulid = " 01hx48cnjhp18mts3c44zk3gen"
54
+ , body =
55
+ " New task\n \
56
+ \with several lines\n \
57
+ \and line breaks"
58
+ }
59
+
60
+
42
61
spec :: DateTime -> Spec
43
62
spec now = do
44
63
describe " Lib" $ do
@@ -112,6 +131,16 @@ spec now = do
112
131
let errMsg = " Tag \" " <> T. unpack existTag <> " \" is already assigned"
113
132
show cliOutput `shouldContain` errMsg
114
133
134
+ it " keeps line breaks of multi-line tasks in info view" $ do
135
+ withMemoryDb defaultConfig $ \ memConn -> do
136
+ insertRecord " tasks" memConn taskMultiLine
137
+
138
+ cliOutput <- infoTask defaultConfig memConn taskMultiLine. ulid
139
+ show cliOutput
140
+ `shouldContain` " New task\n \
141
+ \with several lines\n \
142
+ \and line breaks"
143
+
115
144
it " lets you delete a note" $ do
116
145
withMemoryDb defaultConfig $ \ memConn -> do
117
146
insertRecord " tasks" memConn task1
0 commit comments