mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-08-21 22:48:41 +00:00
I started from the 78ec8e commit then cherry-picked and squashed commits that have been done in master since then, except the bad commits that overwrote the tree (in master) with the tree in maint. This commit also bumps the version number to 7.8.06. The only "fix" that was made between 78ec8e and the previous commit is e0072f which has been reported to break stuff.
71 lines
2.4 KiB
EmacsLisp
71 lines
2.4 KiB
EmacsLisp
;;; test-ob-tangle.el
|
||
|
||
;; Copyright (c) 2010-2012 Eric Schulte
|
||
;; Authors: Eric Schulte
|
||
|
||
;; Released under the GNU General Public License version 3
|
||
;; see: http://www.gnu.org/licenses/gpl-3.0.html
|
||
|
||
;;;; Comments:
|
||
|
||
;; Template test file for Org-mode tests
|
||
|
||
|
||
;;; Code:
|
||
|
||
;; TODO
|
||
;; (ert-deftest ob-tangle/noweb-on-tangle ()
|
||
;; "Noweb header arguments tangle correctly.
|
||
;; - yes expand on both export and tangle
|
||
;; - no expand on neither export or tangle
|
||
;; - tangle expand on only tangle not export"
|
||
;; (let ((target-file (make-temp-file "ob-tangle-test-")))
|
||
;; (org-test-at-id "eb1f6498-5bd9-45e0-9c56-50717053e7b7"
|
||
;; (org-narrow-to-subtree)
|
||
;; (org-babel-tangle target-file))
|
||
;; (let ((tang (with-temp-buffer
|
||
;; (insert-file-contents target-file)
|
||
;; (buffer-string))))
|
||
;; (flet ((exp-p (arg)
|
||
;; (and
|
||
;; (string-match
|
||
;; (format "noweb-%s-start\\([^\000]*\\)noweb-%s-end" arg arg)
|
||
;; tang)
|
||
;; (string-match "expanded" (match-string 1 tang)))))
|
||
;; (should (exp-p "yes"))
|
||
;; (should-not (exp-p "no"))
|
||
;; (should (exp-p "tangle"))))))
|
||
|
||
(ert-deftest ob-tangle/no-excessive-id-insertion-on-tangle ()
|
||
"Don't add IDs to headings without tangling code blocks."
|
||
(org-test-at-id "ef06fd7f-012b-4fde-87a2-2ae91504ea7e"
|
||
(org-babel-next-src-block)
|
||
(org-narrow-to-subtree)
|
||
(org-babel-tangle)
|
||
(should (null (org-id-get)))))
|
||
|
||
(ert-deftest ob-tangle/continued-code-blocks-w-noweb-ref ()
|
||
"Test that the :noweb-ref header argument is used correctly."
|
||
(org-test-at-id "54d68d4b-1544-4745-85ab-4f03b3cbd8a0"
|
||
(let ((tangled
|
||
"df|sed '1d'|awk '{print $5 \" \" $6}'|sort -n |tail -1|awk '{print $2}'"))
|
||
(org-narrow-to-subtree)
|
||
(org-babel-tangle)
|
||
(with-temp-buffer
|
||
(insert-file-contents "babel.sh")
|
||
(goto-char (point-min))
|
||
(should (re-search-forward (regexp-quote tangled) nil t)))
|
||
(delete-file "babel.sh"))))
|
||
|
||
(ert-deftest ob-tangle/expand-headers-as-noweb-references ()
|
||
"Test that references to headers are expanded during noweb expansion."
|
||
(org-test-at-id "2409e8ba-7b5f-4678-8888-e48aa02d8cb4"
|
||
(org-babel-next-src-block 2)
|
||
(let ((expanded (org-babel-expand-noweb-references)))
|
||
(should (string-match (regexp-quote "simple") expanded))
|
||
(should (string-match (regexp-quote "length 14") expanded)))))
|
||
|
||
(provide 'test-ob-tangle)
|
||
|
||
;;; test-ob-tangle.el ends here
|