>From e71a64c531969876e9bba0659db2308a97806e5d Mon Sep 17 00:00:00 2001 From: Martyn Jago Date: Thu, 5 Jan 2012 15:49:16 +0000 Subject: [PATCH] Fixed and suplemented pending tests in `test-ob-exp.el'. * testing/examples/babel.org: examples altered and added to * testing/lisp/test-ob-exp.el: tests fixed and added to --- testing/examples/babel.org | 76 +++++++++++++++---- testing/lisp/test-ob-exp.el | 180 ++++++++++++++++++++++++++++++++++--------- 2 files changed, 204 insertions(+), 52 deletions(-) diff --git a/testing/examples/babel.org b/testing/examples/babel.org index bcb7e57..6c0825f 100644 --- a/testing/examples/babel.org +++ b/testing/examples/babel.org @@ -7,26 +7,69 @@ :END: #+name: noweb-example -#+begin_src emacs-lisp - (message "expanded") +#+begin_src emacs-lisp :results silent :exports code + (message "expanded1") #+end_src -#+begin_src emacs-lisp :noweb yes - ;; noweb-yes-start - <> - ;; noweb-yes-end +#+name: noweb-example2 +#+begin_src emacs-lisp :results silent + (message "expanded2") #+end_src -#+begin_src emacs-lisp :noweb no - ;; noweb-no-start +#+begin_src emacs-lisp :noweb yes :results silent +;; noweb-1-yes-start <> - ;; noweb-no-end #+end_src -#+begin_src emacs-lisp :noweb tangle +#+begin_src emacs-lisp :noweb no :results silent +;; noweb-no-start + <> +#+end_src + +#+begin_src emacs-lisp :noweb yes :results silent +;; noweb-2-yes-start + <> +#+end_src + +#+begin_src emacs-lisp :noweb tangle :results silent ;; noweb-tangle-start + <> + <> +#+end_src + +* =:noweb= header argument expansion using :exports results + :PROPERTIES: + :ID: 8701beb4-13d9-468c-997a-8e63e8b66f8d + :END: + +#+name: noweb-example +#+begin_src emacs-lisp :exports results + (message "expanded1") +#+end_src + +#+name: noweb-example2 +#+begin_src emacs-lisp :exports results + (message "expanded2") +#+end_src + +#+begin_src emacs-lisp :noweb yes :exports results +;; noweb-1-yes-start <> - ;; noweb-tangle-end +#+end_src + +#+begin_src emacs-lisp :noweb no :exports code +;; noweb-no-start + <> +#+end_src + +#+begin_src emacs-lisp :noweb yes :exports results +;; noweb-2-yes-start + <> +#+end_src + +#+begin_src emacs-lisp :noweb tangle :exports code + <> + <> #+end_src * excessive id links on tangling @@ -62,7 +105,7 @@ #+name: i-have-a-name : 42 -* Pascal's Triangle -- export test +* Pascal's Triangle -- exports both test :PROPERTIES: :ID: 92518f2a-a46a-4205-a3ab-bcce1008a4bb :END: @@ -153,21 +196,24 @@ Here is one in the middle src_sh{echo 1} of a line. Here is one at the end of a line. src_sh{echo 2} src_sh{echo 3} Here is one at the beginning of a line. -* conflicting blocks on export +* mixed blocks with exports both :PROPERTIES: :ID: 5daa4d03-e3ea-46b7-b093-62c1b7632df3 :END: + #+name: a-list - a - b - c -#+begin_src emacs-lisp :results wrap :exports both +#+begin_src emacs-lisp :exports both "code block results" #+end_src -#+begin_src emacs-lisp :var lst=a-list :results list + +#+begin_src emacs-lisp :var lst=a-list :results list :exports both (reverse lst) #+end_src + * using the =:noweb-ref= header argument :PROPERTIES: :ID: 54d68d4b-1544-4745-85ab-4f03b3cbd8a0 diff --git a/testing/lisp/test-ob-exp.el b/testing/lisp/test-ob-exp.el index b9bec99..c303c5d 100644 --- a/testing/lisp/test-ob-exp.el +++ b/testing/lisp/test-ob-exp.el @@ -65,44 +65,150 @@ (should-not (file-exists-p (concat org-test-link-in-heading-file "::"))) (when (file-exists-p html-file) (delete-file html-file)))) -;; TODO -;; (ert-deftest ob-exp/noweb-on-export () -;; "Noweb header arguments export correctly. -;; - yes expand on both export and tangle -;; - no expand on neither export or tangle -;; - tangle expand on only tangle not export" -;; (let (html) -;; (org-test-at-id "eb1f6498-5bd9-45e0-9c56-50717053e7b7" -;; (org-narrow-to-subtree) -;; (let ((arg nil) -;; ) -;; (mapcar (lambda (x) -;; (should (equal "" -;; (org-export-as-html nil -;; nil -;; nil -;; 'string)))) -;; '("yes" "no" "tangle")))))) - - -;; TODO Test broken (args-out-of-range 1927 3462) -;; (ert-deftest ob-exp/exports-both () -;; "Test the :exports both header argument. -;; The code block should create both
 and 
-;; elements in the final html." -;; (let (html) -;; (org-test-at-id "92518f2a-a46a-4205-a3ab-bcce1008a4bb" -;; (org-narrow-to-subtree) -;; (setq html (org-export-as-html nil nil nil 'string)) -;; (should (string-match "[^\000]*" html)) -;; (should (string-match "[^\000]*" html))))) - -;; TODO Test Broken - causes ert to go off into the weeds -;; (ert-deftest ob-exp/export-subtree () -;; (org-test-at-id "5daa4d03-e3ea-46b7-b093-62c1b7632df3" -;; (org-mark-subtree) -;; (org-export-as-latex nil))) +(ert-deftest ob-exp/noweb-on-export () + "Noweb header arguments export correctly. +- yes expand on both export and tangle +- no expand on neither export or tangle +- tangle expand on only tangle not export" + (org-test-at-id "eb1f6498-5bd9-45e0-9c56-50717053e7b7" + (org-narrow-to-subtree) + (let ((exported-html + (org-export-as-html nil nil nil 'string)) + (test-point 0)) + (org-test-with-temp-text-in-file + exported-html + + ;; check following ouput exists and in order + (mapcar (lambda (x) + (should (< test-point + (re-search-forward + x + nil t))) + (setq test-point (point))) + '("" "" "" + ":noweb header argument expansion" + ":noweb header argument expansion" + "message" "expanded1" + "message" "expanded2" + "noweb-1-yes-start" + "message" "expanded1" + "noweb-no-start" + "<<noweb-example1>>" + "noweb-2-yes-start" + "message" "expanded2" + "noweb-tangle-start" + "<<noweb-example1>>" + "<<noweb-example2>>" + "")))))) + +(ert-deftest ob-exp/noweb-on-export-with-exports-results () + "Noweb header arguments export correctly using :exports results. +- yes expand on both export and tangle +- no expand on neither export or tangle +- tangle expand on only tangle not export" + (org-test-at-id "8701beb4-13d9-468c-997a-8e63e8b66f8d" + (org-narrow-to-subtree) + (let ((exported-html + (org-export-as-html nil nil nil 'string)) + (test-point 0)) + + (org-test-with-temp-text-in-file + exported-html + + ;; check following ouput exists and in order + (mapcar (lambda (x) + (should (< test-point + (re-search-forward + x + nil t))) + (setq test-point (point))) + '("" "" "" + ":noweb header argument expansion using :exports results" + ":noweb header argument expansion using :exports results" + "expanded1" + "expanded2" + "expanded1" + "noweb-no-start" + "<<noweb-example1>>" + "expanded2" + "<<noweb-example1>>" + "<<noweb-example2>>" + "")))))) + +(ert-deftest ob-exp/exports-both () + "Test the :exports both header argument. +The code block should create both
 and 
+elements in the final html." + (org-test-at-id "92518f2a-a46a-4205-a3ab-bcce1008a4bb" + (org-narrow-to-subtree) + (let ((exported-html + (org-export-as-html nil nil nil 'string)) + (test-point 0)) + + (org-test-with-temp-text-in-file + exported-html + + ;; check following ouput exists and in order + (mapcar (lambda (x) + (should (< test-point + (re-search-forward + x + nil t))) + (setq test-point (point))) + '("" "" "" + "Pascal's Triangle – exports both test" + "Pascal's Triangle – exports both test" + "" + "" + """>1<""" + """>1<"">1<""" + """>1<"">2<"">1<""" + """>1<"">3<"">3<"">1<""" + """>1<"">4<"">6<"">4<"">1<""" + """>1<"">5<"">10<"">10<"">5<"">1<""" + """" + "")))))) + +(ert-deftest ob-exp/mixed-blocks-with-exports-both () + (org-test-at-id "5daa4d03-e3ea-46b7-b093-62c1b7632df3" + (org-narrow-to-subtree) + (let ((exported-html + (org-export-as-html nil nil nil 'string)) + (test-point 0)) + (org-test-with-temp-text-in-file + exported-html + + ;; check following ouput exists and in order + (mapcar (lambda (x) + (should (< test-point + (re-search-forward + x + nil t))) + (setq test-point (point))) + '("" "" "" + "mixed blocks with exports both" + "mixed blocks with exports both" + "
    " + "
  • ""a""
  • " + "
  • ""b""
  • " + "
  • ""c""
  • " + "
" + "" + "
"
+		  "code block results"
+		  "
" + "")))))) + (provide 'test-ob-exp) ;;; test-ob-exp.el ends here + -- 1.7.3.4