summaryrefslogtreecommitdiff
path: root/tests/atom.scm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/atom.scm')
-rw-r--r--tests/atom.scm30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/atom.scm b/tests/atom.scm
new file mode 100644
index 0000000..5d47ef6
--- /dev/null
+++ b/tests/atom.scm
@@ -0,0 +1,30 @@
+(define-module (tests atom)
+ #:use-module (src dates)
+ #:use-module (srfi srfi-64)
+ #:use-module ((src atom) #:prefix atom:))
+
+(test-begin "Atom feed")
+
+(define me (atom:person "Ekaitz"
+ #:email "ekaitz@elenq.tech"
+ #:uri "https://elenq.tech"))
+
+(define feed
+ (atom:feed #:title "Mi feed"
+ #:subtitle "Este es mi feed"
+ #:uri "https://feed.elenq.tech"
+ #:entries (list
+ (atom:entry #:title "first entry"
+ #:published (string/ISO->date "2023-03-01")
+ #:authors (list me)
+ #:summary-html '(p "Este es el resumen")
+ #:content-html '(p "Este es el contenido")
+ #:categories (list "una" "dos" "tres")
+ #:media (list)))))
+ ;; TODO: Test media (reads file)
+
+(let ((atom-feed (with-output-to-string (lambda () (atom:render feed)))))
+ (test-assert (string=? atom-feed
+ "<?xml version=\"1.0\" encoding=\"utf-8\"?><feed xmlns=\"http://www.w3.org/2005/Atom\"><id>https://feed.elenq.tech</id><title>Mi feed</title><link href=\"https://feed.elenq.tech\" rel=\"self\" /><updated>2023-03-01T00:00:00+0100</updated><subtitle>Este es mi feed</subtitle><entry><id>https://feed.elenq.tech/first-entry</id><title>first entry</title><published>2023-03-01T00:00:00+0100</published><updated>2023-03-01T00:00:00+0100</updated><author><name>Ekaitz</name><uri>https://elenq.tech</uri><email>ekaitz@elenq.tech</email></author><summary type=\"html\"><p>Este es el resumen</p></summary><content type=\"html\"><p>Este es el contenido</p></content><category term=\"una\" /><category term=\"dos\" /><category term=\"tres\" /></entry></feed>")))
+
+(test-end "Atom feed")