|
@@ -3363,12 +3363,12 @@ Another text. (ref:text)
|
|
|
"Test `org-export-unravel-code' function."
|
|
|
;; Code without reference.
|
|
|
(should
|
|
|
- (equal '("(+ 1 1)\n")
|
|
|
+ (equal '("(+ 1 1)")
|
|
|
(org-test-with-temp-text "#+BEGIN_EXAMPLE\n(+ 1 1)\n#+END_EXAMPLE"
|
|
|
(org-export-unravel-code (org-element-at-point)))))
|
|
|
;; Code with reference.
|
|
|
(should
|
|
|
- (equal '("(+ 1 1)\n" (1 . "test"))
|
|
|
+ (equal '("(+ 1 1)" (1 . "test"))
|
|
|
(org-test-with-temp-text
|
|
|
"#+BEGIN_EXAMPLE\n(+ 1 1) (ref:test)\n#+END_EXAMPLE"
|
|
|
(let ((org-coderef-label-format "(ref:%s)"))
|
|
@@ -3376,14 +3376,14 @@ Another text. (ref:text)
|
|
|
;; Code with user-defined reference.
|
|
|
(should
|
|
|
(equal
|
|
|
- '("(+ 1 1)\n" (1 . "test"))
|
|
|
+ '("(+ 1 1)" (1 . "test"))
|
|
|
(org-test-with-temp-text
|
|
|
"#+BEGIN_EXAMPLE -l \"[ref:%s]\"\n(+ 1 1) [ref:test]\n#+END_EXAMPLE"
|
|
|
(let ((org-coderef-label-format "(ref:%s)"))
|
|
|
(org-export-unravel-code (org-element-at-point))))))
|
|
|
;; Code references keys are relative to the current block.
|
|
|
(should
|
|
|
- (equal '("(+ 2 2)\n(+ 3 3)\n" (2 . "one"))
|
|
|
+ (equal '("(+ 2 2)\n(+ 3 3)" (2 . "one"))
|
|
|
(org-test-with-temp-text "
|
|
|
#+BEGIN_EXAMPLE -n
|
|
|
\(+ 1 1)
|
|
@@ -3394,23 +3394,43 @@ Another text. (ref:text)
|
|
|
#+END_EXAMPLE"
|
|
|
(goto-line 5)
|
|
|
(let ((org-coderef-label-format "(ref:%s)"))
|
|
|
- (org-export-unravel-code (org-element-at-point)))))))
|
|
|
+ (org-export-unravel-code (org-element-at-point)))))))
|
|
|
|
|
|
(ert-deftest test-org-export/format-code-default ()
|
|
|
"Test `org-export-format-code-default' specifications."
|
|
|
- ;; Return the empty string when code is empty.
|
|
|
+ ;; Preserve blank lines, even when code is empty.
|
|
|
(should
|
|
|
- (equal ""
|
|
|
+ (equal "\n\n"
|
|
|
(org-test-with-parsed-data "#+BEGIN_SRC emacs-lisp\n\n\n#+END_SRC"
|
|
|
(org-export-format-code-default
|
|
|
- (org-element-map tree 'src-block 'identity info t) info))))
|
|
|
+ (org-element-map tree 'src-block #'identity info t) info))))
|
|
|
+ ;; Likewise, preserve leading and trailing blank lines in the code.
|
|
|
+ (should
|
|
|
+ (equal "\n(+ 1 1)\n"
|
|
|
+ (org-test-with-parsed-data
|
|
|
+ "#+BEGIN_SRC emacs-lisp\n\n(+ 1 1)\n#+END_SRC"
|
|
|
+ (org-export-format-code-default
|
|
|
+ (org-element-map tree 'src-block #'identity info t) info))))
|
|
|
+ (should
|
|
|
+ (equal "(+ 1 1)\n\n"
|
|
|
+ (org-test-with-parsed-data
|
|
|
+ "#+BEGIN_SRC emacs-lisp\n(+ 1 1)\n\n#+END_SRC"
|
|
|
+ (org-export-format-code-default
|
|
|
+ (org-element-map tree 'src-block #'identity info t) info))))
|
|
|
;; Number lines, two whitespace characters before the actual loc.
|
|
|
(should
|
|
|
(equal "1 a\n2 b\n"
|
|
|
(org-test-with-parsed-data
|
|
|
"#+BEGIN_SRC emacs-lisp +n\na\nb\n#+END_SRC"
|
|
|
(org-export-format-code-default
|
|
|
- (org-element-map tree 'src-block 'identity info t) info))))
|
|
|
+ (org-element-map tree 'src-block #'identity info t) info))))
|
|
|
+ ;; Numbering includes blank lines.
|
|
|
+ (should
|
|
|
+ (equal "1 \n2 a\n3 \n4 b\n5 \n"
|
|
|
+ (org-test-with-parsed-data
|
|
|
+ "#+BEGIN_SRC emacs-lisp +n\n\na\n\nb\n\n#+END_SRC"
|
|
|
+ (org-export-format-code-default
|
|
|
+ (org-element-map tree 'src-block #'identity info t) info))))
|
|
|
;; Put references 6 whitespace characters after the widest line,
|
|
|
;; wrapped within parenthesis.
|
|
|
(should
|
|
@@ -3419,7 +3439,7 @@ Another text. (ref:text)
|
|
|
(org-test-with-parsed-data
|
|
|
"#+BEGIN_SRC emacs-lisp\n123 (ref:a)\n1 (ref:b)\n#+END_SRC"
|
|
|
(org-export-format-code-default
|
|
|
- (org-element-map tree 'src-block 'identity info t) info))))))
|
|
|
+ (org-element-map tree 'src-block #'identity info t) info))))))
|
|
|
|
|
|
|
|
|
|