File tree Expand file tree Collapse file tree 2 files changed +21
-3
lines changed Expand file tree Collapse file tree 2 files changed +21
-3
lines changed Original file line number Diff line number Diff line change 141
141
(raise-argument-error 'express-xml "valid URL (required for #<feed>) " feed-url))
142
142
(match-define (feed feed-id site-url feed-name entries) f)
143
143
(define entries-sorted (sort entries entry-newer?))
144
- (define last-updated (feed-item-updated (car entries-sorted)))
144
+ (define last-updated (if (pair? entries-sorted) ( feed-item-updated (car entries-sorted)) (infer-moment )))
145
145
(define to-xml? (memq result-type '(xml xml-string)))
146
146
147
147
(define feed-xpr
255
255
`(itunes:category [[text ,cat1]]
256
256
(itunes:category [[text ,cat2]]))]
257
257
[(? string? c) `(itunes:category [[text ,c]])]))
258
- (define last-updated (episode-updated (car episodes-sorted)))
258
+ (define last-updated (if (pair? episodes-sorted) ( episode-updated (car episodes-sorted)) (infer-moment )))
259
259
(define to-xml? (memq result-type '(xml xml-string)))
260
260
261
261
(define feed-xpr
Original file line number Diff line number Diff line change 170
170
"Kate Poster Posts "
171
171
(list entry1 entry2 entry3-conflict))))
172
172
173
+ ;; Empty feeds should be allowed
174
+ (check-not-exn (lambda () (express-xml (feed site-id "https://example.com " "Posts " '() ) 'atom "https://example.com " )))
175
+ (check-not-exn (lambda () (express-xml (feed site-id "https://example.com " "Posts " '() ) 'rss "https://example.com " )))
176
+
173
177
;; Check podcast episode output
174
178
(define test-ep1
175
179
(parameterize ([current-timezone 0 ])
341
345
(list "Leisure " "Animation & Manga " )
342
346
"https://example.com/cover-art.jpg "
343
347
(person "Kate Poster " "kate@example.com " )
344
- #:explicit? #t )))
348
+ #:explicit? #t )))
349
+
350
+ ;; Empty podcast feeds should be allowed
351
+ (check-not-exn
352
+ (lambda ()
353
+ (express-xml (podcast site-id
354
+ "https://example.com "
355
+ "Podcast "
356
+ '()
357
+ (list "Sports " "Swimming " )
358
+ "https://example.com/cover-art.jpg "
359
+ (person "Kate Poster " "kate@example.com " )
360
+ #:explicit? #f )
361
+ 'rss
362
+ "https://example.com " )))
You can’t perform that action at this time.
0 commit comments