File tree Expand file tree Collapse file tree 2 files changed +39
-3
lines changed
Expand file tree Collapse file tree 2 files changed +39
-3
lines changed Original file line number Diff line number Diff line change 262262(defn unfolding-line-seq*
263263 [^java.io.BufferedReader rdr hold]
264264 (if-let [line (.readLine rdr)]
265- (if (= (.charAt line 0 ) \space)
266- (recur rdr (conj hold line))
267- (cons (str/join hold) (lazy-seq (unfolding-line-seq* rdr [line]))))
265+ (cond
266+ (.isEmpty line) (recur rdr hold)
267+ (= (.charAt line 0 ) \space) (recur rdr (conj hold (.substring line 1 )))
268+ :else (cons (str/join hold) (lazy-seq (unfolding-line-seq* rdr [line]))))
268269 [(str/join hold)]))
269270
270271(defn unfolding-line-seq [^java.io.BufferedReader rdr]
Original file line number Diff line number Diff line change 4040 (is (= " DTSTART" name))
4141 (is (= " US-EAST" (get params " TZID" )))
4242 (is (= " 20180116T140000" value)))))
43+
44+ (def multiline
45+ " X-APPLE-STRUCTURED-LOCATION;VALUE=URI;X-SOME-HEADER-BREAKING-SOMEWHERE-AT-
46+ 75=foobar;X-TITLE=Some Place:geo:44.815458,20.462758" )
47+
48+ (deftest parse-line-folding-test
49+ (testing " Folded lines can be parsed"
50+ (is (= {:name " X-APPLE-STRUCTURED-LOCATION" ,
51+ :params
52+ {" VALUE" " URI" ,
53+ " X-SOME-HEADER-BREAKING-SOMEWHERE-AT-75" " foobar" ,
54+ " X-TITLE" " Some Place" },
55+ :value " geo:44.815458,20.462758" ,
56+ :string-value " geo:44.815458,20.462758" }
57+ (-> multiline
58+ char-array
59+ io/reader
60+ ical/unfolding-line-seq
61+ first
62+ ical/line->contentline)))))
63+
64+ (def multi-with-empty
65+ " X-APPLE-STRUCTURED-LOCATION;VALUE=URI;X-SOME-HEADER-BREAKING-SOMEWHERE-AT-
66+ 75=foobar;X-TITLE=Some Place:geo:44.815458,20.462758
67+
68+ FOO:bar" )
69+
70+ (deftest parse-line-ignore-empty-test
71+ (testing " Empty lines are ignored"
72+ (is (= [" X-APPLE-STRUCTURED-LOCATION;VALUE=URI;X-SOME-HEADER-BREAKING-SOMEWHERE-AT-75=foobar;X-TITLE=Some Place:geo:44.815458,20.462758"
73+ " FOO:bar" ]
74+ (-> multi-with-empty
75+ char-array
76+ io/reader
77+ ical/unfolding-line-seq)))))
You can’t perform that action at this time.
0 commit comments