From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Schulte Subject: Re: [babel] Trying to add ERT test cases Date: Wed, 21 Sep 2011 06:20:43 -0600 Message-ID: <87ehzadj5m.fsf@gmail.com> References: <80sjnswzh5.fsf@somewhere.org> <87ipoov7q3.fsf@gmail.com> <87obyftf22.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([140.186.70.92]:53140) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R6OT7-00048X-NY for emacs-orgmode@gnu.org; Wed, 21 Sep 2011 11:12:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R6OT5-0008If-Q8 for emacs-orgmode@gnu.org; Wed, 21 Sep 2011 11:12:13 -0400 Received: from mail-gx0-f169.google.com ([209.85.161.169]:54933) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R6OT5-0008Ib-Iz for emacs-orgmode@gnu.org; Wed, 21 Sep 2011 11:12:11 -0400 Received: by gxk2 with SMTP id 2so1467909gxk.0 for ; Wed, 21 Sep 2011 08:12:10 -0700 (PDT) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Martyn Jago Cc: emacs-orgmode@gnu.org Martyn Jago writes: > Hi Eric > > Eric Schulte 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 "" 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 > 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/