                옵션)))
 
 (deftest 분석테스트
+  (testing "문서전체"
+    (is (= (분석
+"# 큰제목
+## 작은제목
+첫문단
+
+* 항목1
+* 항목2 *강조*
+
+``` 클로저
+(defn a-func []
+  true)
+```
+마지막 문단
+")
+           [:문서
+            [:큰제목 "큰" "제" "목"] [:작은제목 "작" "은" "제" "목"]
+            [:문단 "첫" "문" "단"]
+            [:일반목록 [:항목 "항" "목" "1"] [:항목 "항" "목" "2" " " [:기울임 "강" "조"]]]
+            [:소스코드
+             [:소스언어 "클" "로" "저"]
+             [:코드내용
+              "(" "d" "e" "f" "n" " " "a" "-" "f" "u" "n" "c" " " "[" "]" "\n"
+              " "  " " "t" "r" "u" "e" ")" "\n"]]
+            [:문단 "마" "지" "막" " " "문" "단"]])))
+
   (testing "소스코드"
     (are [시도 결과] (= 시도 결과)
       (분석 "``` clojure\n(def a 1)\n```")

      [:문서 [:문단 [:굵게 "굵" "게" "*" "강" "조"] " " [:기울임 "이" "탤" "릭"] "한" " " "문" "장"]]

      (분석 "이렇게 __굵게_강조__한 문장")
      [:문서 [:문단 "이" "렇" "게" " " [:굵게 "굵" "게" "_" "강" "조"] "한" " " "문" "장"]])))

    문단         := (평문 <LF>? / 빈줄)* <LF>
    빈줄         := 공백* <LF>
    <평문>       := (링크들 / 강조 / ANY)+
    <강조>       := 굵게 / 기울임 / 코드
    굵게         := <'**'> ANY+ <'**'> / <'__'> ANY+ <'__'>
    기울임       := <'*'> ANY+ <'*'> / <'_'> ANY+ <'_'>
    코드         := <'```'> (!'```' ANY ANY? ANY?)+ <'```'> /
                    <'``'> (!'``' ANY ANY?)+ <'``'> /
                    <'`'> eTXT <'`'>

    <eTXT>       := (ESC / ANY)+
    ESC          := #'\\\\[\\`*_{}\\[\\]()#+\\-.!]'
