anchor.diff:  "))
   
    (should be equal '((TABLE
  -                     ((TH (:PLAIN "a") NIL)
  -                      (TH (:PLAIN "b") NIL))
  -                     ((TD (:PLAIN "1" " " "a" " " "b" (:CODE "|")) NIL)
  -                      (TD (:PLAIN "2") NIL))
  -                     ((TD (:PLAIN "3" " " "|") NIL)
  -                      (TD (:PLAIN "4") NIL))
  -                     ((TD (:PLAIN ">" " " "5") NIL)
  -                      (TD (:PLAIN "#" "#" "#" " " "6") NIL))))
  +                     :head
  +                     (((TH (:PLAIN "a") NIL)
  +                       (TH (:PLAIN "b") NIL)))
  +                     :body
  +                     (((TD (:PLAIN "1" " " "a" " " "b" (:CODE "|")) NIL)
  +                       (TD (:PLAIN "2") NIL))
  +                      ((TD (:PLAIN "3" " " "|") NIL)
  +                       (TD (:PLAIN "4") NIL))
  +                      ((TD (:PLAIN ">" " " "5") NIL)
  +                       (TD (:PLAIN "#" "#" "#" " " "6") NIL)))))
            (parse-doc "
   | a | b |  
   |---|---|   
  
positive.code: | 3 \\|| 4 |    
  | > 5 | ### 6 |
  "))
  )
  )
  
negative.code: #+should-test (progn
  
  (use-package :should-test)
  (shadowing-import '(3bmd-grammar::th 3bmd-grammar::td
                      3bmd-grammar::left 3bmd-grammar::center
                      3bmd-grammar::right))
  (deftest parse-table ()
    (should be equal '((table
                        :head
                        (((th (:plain "First" " " "Header") nil)
                          (th (:plain "Second" " " "Header") nil)))
                        :body
                        (((td (:plain "Content" " " "Cell") nil)
                          (td (:plain "Content" " " "Cell") nil))
                         ((td (:plain "Content" " " "Cell") nil)
                          (td (:plain "Content" " " "Cell") nil)))))
            (parse-doc "
  | First Header  | Second Header |
  | ------------- | ------------- |
  