From 5955c420a37fdb57eeeeb04c0f649b9d922f7fde Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Sat, 13 Sep 2014 09:27:10 +0100 Subject: Test smaller units of code --- test/microformats/parser_test.clj | 63 ++++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 31 deletions(-) (limited to 'test') diff --git a/test/microformats/parser_test.clj b/test/microformats/parser_test.clj index 26cb094..57bb9d2 100644 --- a/test/microformats/parser_test.clj +++ b/test/microformats/parser_test.clj @@ -1,6 +1,7 @@ (ns microformats.parser-test (:require [clojure.test :refer :all] - [microformats.parser :refer :all])) + [microformats.parser :refer :all] + [net.cgrand.enlive-html :refer [html-snippet]])) (deftest empty-document (testing "Empty HTML document should return an empty 'items' array and 'rels' hash." @@ -9,51 +10,51 @@ (deftest parse-p-inner-text (testing "Inner text of a p- property should be parsed") - (are [ex in] (= ex (parse in)) - {:items [{:properties {:name "Example User"}}] :rels {}} - "

Example User

" + (are [ex in] (= ex (parse-p (first (html-snippet in)))) + {:name "Example User"} + "

Example User

" - {:items [{:properties {:nickname "exuser"}}] :rels {}} - "

exuser

")) + {:nickname "exuser"} + "

exuser

")) (deftest parse-p-special-elements (testing "img, abbr and data elements should be parsed differently" - (are [ex in] (= ex (parse in)) - {:items [{:properties {:name "Example User"}}] :rels {}} - "
\"Example
" + (are [ex in] (= ex (parse-p (first (html-snippet in)))) + {:name "Example User"} + "\"Example" - {:items [{:properties {:name "Example User"}}] :rels {}} - "
@example
" + {:name "Example User"} + "@example" - {:items [{:properties {:name "Example User"}}] :rels {}} - "
"))) + {:name "Example User"} + ""))) (deftest parse-p-empty-br-hr (testing "br and hr tags should return empty strings" - (are [ex in] (= ex (parse in)) - {:items [{:properties {:name ""}}] :rels {}} - "

" + (are [ex in] (= ex (parse-p (first (html-snippet in)))) + {:name ""} + "
" - {:items [{:properties {:name ""}}] :rels {}} - "

"))) + {:name ""} + "
"))) (deftest parse-u-elements (testing "Tags should have their values parsed as a u-* value" - (are [ex in] (= ex (parse in)) - {:items [{:properties {:url "http://example.com"}}] :rels {}} - "
Awesome example website
" + (are [ex in] (= ex (parse-u (first (html-snippet in)))) + {:url "http://example.com"} + "Awesome example website" - {:items [{:properties {:photo "http://example.com/someimage.png"}}] :rels {}} - "
" + {:photo "http://example.com/someimage.png"} + "" - {:items [{:properties {:photo "http://example.com/someimage.png"}}] :rels {}} - "" + {:photo "http://example.com/someimage.png"} + "" - {:items [{:properties {:photo "http://example.com/someimage.png"}}] :rels {}} - "
" + {:photo "http://example.com/someimage.png"} + "" - {:items [{:properties {:photo "http://example.com/someimage.png"}}] :rels {}} - "
" + {:photo "http://example.com/someimage.png"} + "" - {:items [{:properties {:photo "http://example.com/someimage.png"}}] :rels {}} - "
"))) + {:photo "http://example.com/someimage.png"} + ""))) -- cgit 1.4.1