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: Eric Schulte
Subject: Re: [O] [babel] Trying to add ERT test cases
Date: Wed, 21 Sep 2011 06:20:43 -0600
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

Martyn Jago <address@hidden> writes:

> 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.
>

Applied, Much Thanks -- Eric

>
> 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)))))))

-- 
Eric Schulte
http://cs.unm.edu/~eschulte/



reply via email to

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