From: Martyn Jago <martyn.jago@btinternet.com>
To: emacs-orgmode@gnu.org
Subject: [patch][test] Fix and suplement pending tests in test-ob-exp.el
Date: Thu, 05 Jan 2012 15:54:55 +0000 [thread overview]
Message-ID: <m21ure5els.fsf@btinternet.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 111 bytes --]
Fix pending tests in test-ob-exp.el related to exporting blocks with
various header arguments.
Best, Martyn
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: tests-in-test-ob-exp.el --]
[-- Type: text/x-patch, Size: 9627 bytes --]
From e71a64c531969876e9bba0659db2308a97806e5d Mon Sep 17 00:00:00 2001
From: Martyn Jago <martyn.jago@btinternet.com>
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-example>>
- ;; 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-example>>
- ;; noweb-no-end
#+end_src
-#+begin_src emacs-lisp :noweb tangle
+#+begin_src emacs-lisp :noweb no :results silent
+;; noweb-no-start
+ <<noweb-example1>>
+#+end_src
+
+#+begin_src emacs-lisp :noweb yes :results silent
+;; noweb-2-yes-start
+ <<noweb-example2>>
+#+end_src
+
+#+begin_src emacs-lisp :noweb tangle :results silent
;; noweb-tangle-start
+ <<noweb-example1>>
+ <<noweb-example2>>
+#+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-example>>
- ;; noweb-tangle-end
+#+end_src
+
+#+begin_src emacs-lisp :noweb no :exports code
+;; noweb-no-start
+ <<noweb-example1>>
+#+end_src
+
+#+begin_src emacs-lisp :noweb yes :exports results
+;; noweb-2-yes-start
+ <<noweb-example2>>
+#+end_src
+
+#+begin_src emacs-lisp :noweb tangle :exports code
+ <<noweb-example1>>
+ <<noweb-example2>>
#+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 <pre></pre> and <table></table>
-;; 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 "<pre.*>[^\000]*</pre>" html))
-;; (should (string-match "<table.*>[^\000]*</table>" 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)))
+ '("<head>" "</head>" "<body>"
+ "<code>:noweb</code> header argument expansion"
+ "<code>:noweb</code> 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>>"
+ "</body>"))))))
+
+(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)))
+ '("<head>" "</head>" "<body>"
+ "<code>:noweb</code> header argument expansion using :exports results"
+ "<code>:noweb</code> header argument expansion using :exports results"
+ "expanded1"
+ "expanded2"
+ "expanded1"
+ "noweb-no-start"
+ "<<noweb-example1>>"
+ "expanded2"
+ "<<noweb-example1>>"
+ "<<noweb-example2>>"
+ "</body>"))))))
+
+(ert-deftest ob-exp/exports-both ()
+ "Test the :exports both header argument.
+The code block should create both <pre></pre> and <table></table>
+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)))
+ '("<head>" "</head>" "<body>"
+ "Pascal's Triangle – exports both test"
+ "Pascal's Triangle – exports both test"
+ "<pre"
+ "defun" "pascals-triangle"
+ "if""list""list""let*""prev-triangle"
+ "pascals-triangle""prev-row""car""reverse""prev-triangle"
+ "append""prev-triangle""list""map""list"
+ "append""prev-row""append""prev-row""pascals-triangle"
+ "</pre>"
+ "<table""<tbody>"
+ "<tr>"">1<""</tr>"
+ "<tr>"">1<"">1<""</tr>"
+ "<tr>"">1<"">2<"">1<""</tr>"
+ "<tr>"">1<"">3<"">3<"">1<""</tr>"
+ "<tr>"">1<"">4<"">6<"">4<"">1<""</tr>"
+ "<tr>"">1<"">5<"">10<"">10<"">5<"">1<""</tr>"
+ "</tbody>""</table>"
+ "</body>"))))))
+
+(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)))
+ '("<head>" "</head>" "<body>"
+ "mixed blocks with exports both"
+ "mixed blocks with exports both"
+ "<ul>"
+ "<li>""a""</li>"
+ "<li>""b""</li>"
+ "<li>""c""</li>"
+ "</ul>"
+ "<pre"
+ "\"code block results\""
+ "</pre>"
+ "<pre class=\"example\">"
+ "code block results"
+ "</pre>"
+ "</body>"))))))
+
(provide 'test-ob-exp)
;;; test-ob-exp.el ends here
+
--
1.7.3.4
next reply other threads:[~2012-01-05 15:55 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-05 15:54 Martyn Jago [this message]
2012-01-05 17:18 ` [patch][test] Fix and suplement pending tests in test-ob-exp.el Bastien
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m21ure5els.fsf@btinternet.com \
--to=martyn.jago@btinternet.com \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.