123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262 |
- (ert-deftest test-org-footnote/normalize-in-org ()
- "Test specifications for `org-footnote-normalize' in an Org buffer."
-
- (let ((org-footnote-section "Footnotes")
- (org-blank-before-new-entry '((heading . auto))))
-
-
- (org-test-with-temp-text
- "Paragraph[fn:1][fn:label][1][fn:inline:Inline][fn::Anonymous]
- * Footnotes
- \[fn:1] Standard
- \[fn:label] Labelled
- \[1] Numbered"
- (org-footnote-normalize)
- (should
- (equal (buffer-string)
- "Paragraph[1][2][3][4][5]
- * Footnotes
- \[1] Standard
- \[2] Labelled
- \[3] Numbered
- \[4] Inline
- \[5] Anonymous
- ")))
-
-
- (org-test-with-temp-text "Paragraph[fn:1]\n\n[fn:1] Definition"
- (org-footnote-normalize)
- (should (equal (buffer-string)
- "Paragraph[1]\n\n* Footnotes\n\n[1] Definition")))
- (org-test-with-temp-text "Paragraph[fn:1]\n* Head1\n[fn:1] Definition"
- (let ((org-blank-before-new-entry '((heading))))
- (org-footnote-normalize))
- (should (equal (buffer-string)
- "Paragraph[1]\n* Head1\n* Footnotes\n\n[1] Definition")))
-
-
- (org-test-with-temp-text "* Head1
- Body[fn:1]
- * Footnotes
- \[fn:1] Definition 1
- * Head2"
- (org-footnote-normalize)
- (should
- (equal (buffer-string)
- "* Head1
- Body[1]
- * Head2
- * Footnotes
- \[1] Definition 1"))))
-
- (let ((org-footnote-section nil))
-
-
- (org-test-with-temp-text
- "Paragraph[fn:1][fn:label][1][fn:inline:Inline][fn::Anonymous]
- \[fn:1] Standard
- \[fn:label] Labelled
- \[1] Numbered"
- (org-footnote-normalize)
- (should
- (equal (buffer-string)
- "Paragraph[1][2][3][4][5]
- \[1] Standard
- \[2] Labelled
- \[3] Numbered
- \[4] Inline
- \[5] Anonymous
- ")))
-
-
- (org-test-with-temp-text
- "* Head 1
- Text[fn:1:Def1]
- * Head 2
- Text[fn:1]
- * Head 3
- Text[fn:2:Def2]"
- (org-footnote-normalize)
- (should
- (equal (buffer-string)
- "* Head 1
- Text[1]
- \[1] Def1
- * Head 2
- Text[1]
- * Head 3
- Text[2]
- \[2] Def2
- ")))))
- (ert-deftest test-org-footnote/normalize-outside-org ()
- "Test `org-footnote-normalize' specifications for buffers not in Org mode."
-
-
- (let ((org-footnote-tag-for-non-org-mode-files nil))
- (with-temp-buffer
- (insert "Paragraph[fn:1][fn:label][1][fn:inline:Inline][fn::Anonymous]
- \[fn:1] Standard
- \[fn:label] Labelled
- \[1] Numbered
- Some additional text.")
- (org-footnote-normalize)
- (should
- (equal (buffer-string)
- "Paragraph[1][2][3][4][5]
- Some additional text.
- \[1] Standard
- \[2] Labelled
- \[3] Numbered
- \[4] Inline
- \[5] Anonymous"))))
-
- (let ((org-footnote-tag-for-non-org-mode-files "Footnotes:"))
-
-
- (with-temp-buffer
- (insert "Paragraph[fn:1][fn::Anonymous]
- \[fn:1] Standard
- Some additional text.")
- (org-footnote-normalize)
- (should
- (equal (buffer-string)
- "Paragraph[1][2]
- Some additional text.
- Footnotes:
- \[1] Standard
- \[2] Anonymous")))
-
-
- (with-temp-buffer
- (insert "Text[fn:1]
- Footnotes:
- Additional text.
- Footnotes:
- \[fn:1] Definition")
- (org-footnote-normalize)
- (should
- (equal (buffer-string)
- "Text[1]
- Additional text.
- Footnotes:
- \[1] Definition"))))
-
-
- (let ((org-footnote-tag-for-non-org-mode-files nil))
- (with-temp-buffer
- (insert "Body[fn::def]
- --
- Fake signature
- --
- Signature")
-
- (let ((major-mode 'message-mode)
- (message-cite-prefix-regexp "\\([ ]*[_.[:word:]]+>+\\|[ ]*[]>|]\\)+")
- (message-signature-separator "^-- $"))
- (flet ((message-point-in-header-p nil nil))
- (org-footnote-normalize)))
- (should
- (equal (buffer-string)
- "Body[1]
- --
- Fake signature
- \[1] def
- --
- Signature")))))
- (ert-deftest test-org-footnote/sort ()
- "Test footnotes definitions sorting."
- (let ((org-footnote-section nil))
- (org-test-with-temp-text
- "Text[fn:1][fn::inline][fn:2][fn:label]
- \[fn:label] C
- \[fn:1] A
- \[fn:2] B"
- (org-footnote-normalize 'sort)
- (should
- (equal (buffer-string)
- "Text[fn:1][fn::inline][fn:2][fn:label]
- \[fn:1] A
- \[fn:2] B
- \[fn:label] C
- ")))))
- (provide 'test-org-footnote)
|