emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] [babel] Trying to add ERT test cases


From: Martyn Jago
Subject: Re: [O] [babel] Trying to add ERT test cases
Date: Wed, 21 Sep 2011 05:18:55 +0100

Hi Eric

Eric Schulte <address@hidden> writes:

>>>
>>> Footnotes: [1] ,----
>>> | org-test-with-temp-text is a Lisp macro in `org-test.el'.
>>> | 
>>> | (org-test-with-temp-text TEXT &rest BODY)
>>> | 
>>> | Run body in a temporary buffer with Org-mode as the active
>>> | mode holding TEXT.  If the string "<point>" appears in TEXT
>>> | then remove it and place the point there before running BODY.
>>> `----
>>
>> This looks useful, however I hit problems when refactoring my tests to
>> use it. Would it be easy for your macro to accept string variables in
>> addition to strings? 
>>
>
> Hmm, that is weird.  I've just pushed up a fix so this should now be
> solved.
>
> Thanks for the catch -- Eric

Thanks, that works great. I've updated test-ob.el to use the macro and
include a patch.

Best, Martyn

>From bb1680342b890dbe5562878a59655b5754ab5ef3 Mon Sep 17 00:00:00 2001
From: Martyn Jago <address@hidden>
Date: Wed, 21 Sep 2011 05:06:44 +0100
Subject: [PATCH] Refactor tests to use `org-test-with-temp-text'
 * testing/lisp/test-ob.el: refactor

---
 testing/lisp/test-ob.el |  125 ++++++++++++++++++++++-------------------------
 1 files changed, 58 insertions(+), 67 deletions(-)

diff --git a/testing/lisp/test-ob.el b/testing/lisp/test-ob.el
index f78ca98..24a64c9 100644
--- a/testing/lisp/test-ob.el
+++ b/testing/lisp/test-ob.el
@@ -238,12 +238,10 @@
     )))
 
 (ert-deftest test-org-babel/inline-src_blk-default-results-replace-line-1 ()
-  (with-temp-buffer
-
+  (let ((test-line "src_sh{echo 1}"))
     ;; src_ at bol line 1...
-    (let ((test-line "src_sh{echo 1}"))
-      (insert test-line)
-      (should-error (org-ctrl-c-ctrl-c))
+    (org-test-with-temp-text
+       test-line
       (goto-char (point-min)) (org-ctrl-c-ctrl-c)
       (should (string=
                       (concat test-line " =1=")
@@ -259,12 +257,10 @@
       (should (string=
                       (concat test-line " =1= =1= =1=")
                       (buffer-substring-no-properties (point-at-bol) 
(point-at-eol)))))
-
     ;; src_ follows space line 1...
     (let ((test-line " src_emacs-lisp{ 1 }"))
-      (beginning-of-line)
-      (insert (concat test-line "\n"))
-      (goto-char (point-min))
+    (org-test-with-temp-text
+       test-line
       (should-error (org-ctrl-c-ctrl-c))
       (forward-char) (org-ctrl-c-ctrl-c) 
       (should (string=
@@ -275,15 +271,13 @@
               (concat test-line " =1= =1=")
               (buffer-substring-no-properties (point-at-bol) (point-at-eol))))
       (forward-char)
-      (should-error (org-ctrl-c-ctrl-c))
-      )))
+      (should-error (org-ctrl-c-ctrl-c)))))
 
 (ert-deftest test-org-babel/inline-src_blk-default-results-replace-line-2 ()
-  (with-temp-buffer
-
-    ;; src_ at bol line 2...
-    (let ((test-line " src_emacs-lisp{ \"x\" }"))
-      (insert (concat "\n" test-line))
+  ;; src_ at bol line 2...
+  (let ((test-line " src_emacs-lisp{ \"x\" }"))
+    (org-test-with-temp-text
+       (concat "\n" test-line)
       (should-error (org-ctrl-c-ctrl-c))
       (goto-char (point-min))
       (should-error (org-ctrl-c-ctrl-c))
@@ -292,9 +286,11 @@
       (forward-char) (org-ctrl-c-ctrl-c)
       (should (string=
               (concat test-line " =x=")
-              (buffer-substring-no-properties (point-at-bol) (point-at-eol)))))
+              (buffer-substring-no-properties (point-at-bol) 
(point-at-eol))))))
 
-    (let ((test-line "Some text prior to block src_emacs-lisp{ \"y\" }"))
+  (let ((test-line "Some text prior to block src_emacs-lisp{ \"y\" }"))
+    (org-test-with-temp-text
+       test-line
       (goto-char (point-max))
       (insert (concat "\n" test-line " end"))
       (re-search-backward "src") (org-ctrl-c-ctrl-c)
@@ -306,25 +302,25 @@
               (concat test-line " =y= =y= end")
                       (buffer-substring-no-properties (point-at-bol) 
(point-at-eol))))
       (forward-char)
-      (should-error (org-ctrl-c-ctrl-c))
-      )))
+      (should-error (org-ctrl-c-ctrl-c))))))
 
 (ert-deftest test-org-babel/inline-src_blk-manual-results-replace ()
-  (with-temp-buffer
-
-    (let ((test-line " src_emacs-lisp[:results replace]{ \"x\" }"))
-      (insert (concat "\n" test-line))
+  (let ((test-line " src_emacs-lisp[:results replace]{ \"x\" }"))
+    (org-test-with-temp-text
+       (concat "\n" test-line)
       (should-error (org-ctrl-c-ctrl-c))
-      (goto-char (point-min))
+      (goto-char (point-max))
       (should-error (org-ctrl-c-ctrl-c))
-      (forward-line)
+      (beginning-of-line)
       (should-error (org-ctrl-c-ctrl-c))
       (forward-char) (org-ctrl-c-ctrl-c)
       (should (string=
               (concat test-line " =x=")
-              (buffer-substring-no-properties (point-at-bol) (point-at-eol)))))
+              (buffer-substring-no-properties (point-at-bol) 
(point-at-eol))))))
     
-    (let ((test-line " Some text prior to block src_emacs-lisp[:results 
replace]{ \"y\" }"))
+  (let ((test-line " Some text prior to block src_emacs-lisp[:results 
replace]{ \"y\" }"))
+    (org-test-with-temp-text
+       test-line
       (goto-char (point-max))
       (insert (concat "\n" test-line " end"))
       (re-search-backward "src") (org-ctrl-c-ctrl-c)
@@ -336,19 +332,20 @@
               (concat test-line " =y= =y= end")
               (buffer-substring-no-properties (point-at-bol) (point-at-eol))))
       (forward-char)
-      (should-error (org-ctrl-c-ctrl-c)))
-    ))
+      (should-error (org-ctrl-c-ctrl-c)))))
 
 (ert-deftest test-org-babel/inline-src_blk-results-silent ()
-  (with-temp-buffer
-
-    (let ((test-line "src_emacs-lisp[ :results silent ]{ \"x\" }"))
-      (insert test-line)
-      (should-error (org-ctrl-c-ctrl-c))
-      (goto-char (point-min)) (org-ctrl-c-ctrl-c)
+  (let ((test-line "src_emacs-lisp[ :results silent ]{ \"x\" }"))
+    (org-test-with-temp-text
+       test-line
+      (org-ctrl-c-ctrl-c)
       (should (string= test-line
-                      (buffer-substring-no-properties (point-at-bol) 
(point-at-eol)))))
-    (let ((test-line " Some text prior to block src_emacs-lisp[ :results 
silent ]{ \"y\" }"))
+                      (buffer-substring-no-properties (point-at-bol) 
(point-at-eol))))
+      (end-of-buffer)
+      (should-error (org-ctrl-c-ctrl-c))))
+  (let ((test-line " Some text prior to block src_emacs-lisp[ :results silent 
]{ \"y\" }"))
+    (org-test-with-temp-text
+       test-line
       (goto-char (point-max))
       (insert (concat "\n" test-line " end"))
       (re-search-backward "src_") (org-ctrl-c-ctrl-c)
@@ -358,54 +355,48 @@
       (should (string= (concat test-line " end")
                       (buffer-substring-no-properties (point-at-bol) 
(point-at-eol))))
       (forward-char)
-      (should-error (org-ctrl-c-ctrl-c)))
-      ))
+      (should-error (org-ctrl-c-ctrl-c)))))
 
 (ert-deftest test-org-babel/inline-src_blk-results-raw ()
-  (with-temp-buffer
-
-    (let ((test-line "src_emacs-lisp[ :results raw ]{ \"x\" }"))
-      (insert test-line)
-      (goto-char (point-min)) (org-ctrl-c-ctrl-c)
+  (let ((test-line "src_emacs-lisp[ :results raw ]{ \"x\" }"))
+    (org-test-with-temp-text
+       test-line
+      (org-ctrl-c-ctrl-c)
       (should (string= (concat test-line " x")
-                      (buffer-substring-no-properties (point-at-bol) 
(point-at-eol)))))
-    (let ((test-line " Some text prior to block src_emacs-lisp[ :results raw 
]{ \"the\" }"))
-      (goto-char (point-max))
-      (insert (concat "\n" test-line " end"))
-      (re-search-backward "src_") (org-ctrl-c-ctrl-c)
+                      (buffer-string)))))
+  (let ((test-line " Some text prior to block src_emacs-lisp[ :results raw ]{ 
\"the\" }"))
+    (org-test-with-temp-text
+       (concat test-line " end")
+      (re-search-forward "src_") (org-ctrl-c-ctrl-c)
       (should (string= (concat test-line " the end")
                       (buffer-substring-no-properties (point-at-bol) 
(point-at-eol))))
       (re-search-forward "\" ") (org-ctrl-c-ctrl-c)
       (should (string= (concat test-line " the the end")
                       (buffer-substring-no-properties (point-at-bol) 
(point-at-eol))))
       (forward-char)
-      (should-error (org-ctrl-c-ctrl-c)))
-      ))
+      (should-error (org-ctrl-c-ctrl-c)))))
 
 (ert-deftest test-org-babel/inline-src_blk-results-file ()
-  (with-temp-buffer
-
-    (let ((test-line "src_emacs-lisp[ :results file ]{ \"~/test-file\"  }"))
-      (insert test-line)
-      (goto-char (point-min)) (org-ctrl-c-ctrl-c)
+  (let ((test-line "src_emacs-lisp[ :results file ]{ \"~/test-file\"  }"))
+    (org-test-with-temp-text
+       test-line
+      (org-ctrl-c-ctrl-c)
       (should (string= (concat test-line " [[file:~/test-file]]")
                       (buffer-substring-no-properties (point-min) 
(point-max)))))))
 
 (ert-deftest test-org-babel/inline-src_blk-results-scalar ()
-  (with-temp-buffer
-
-    (let ((test-line "src_emacs-lisp[ :results scalar ]{ \"x\"  }"))
-      (insert test-line)
-      (goto-char (point-min)) (org-ctrl-c-ctrl-c)
+  (let ((test-line "src_emacs-lisp[ :results scalar ]{ \"x\"  }"))
+    (org-test-with-temp-text
+       test-line
+      (org-ctrl-c-ctrl-c)
       (should (string= (concat test-line  " =\"x\"=")
                       (buffer-substring-no-properties (point-min) 
(point-max)))))))
 
 (ert-deftest test-org-babel/inline-src_blk-results-verbatim ()
-  (with-temp-buffer
-
-    (let ((test-line "src_emacs-lisp[ :results verbatim ]{ \"x\"  }"))
-      (insert test-line)
-      (goto-char (point-min)) (org-ctrl-c-ctrl-c)
+  (let ((test-line "src_emacs-lisp[ :results verbatim ]{ \"x\"  }"))
+    (org-test-with-temp-text
+       test-line
+      (org-ctrl-c-ctrl-c)
       (should (string= (concat test-line " =\"x\"=")
                       (buffer-substring-no-properties (point-min) 
(point-max)))))))
 
-- 
1.7.3.4

 
---
Org-mode version 7.7 (release_7.7.310.g4fbe)
GNU Emacs 24.0.50.1 (x86_64-apple-darwin, NS apple-appkit-1038.35)
 of 2011-08-21 on virtualmac.porkrind.org

reply via email to

[Prev in Thread] Current Thread [Next in Thread]