From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Schulte Subject: Re: [BABEL,PATCH] cpp->c++-mode, ob-C mode tests Date: Fri, 05 Aug 2011 11:32:22 -0600 Message-ID: <87ty9vlq6x.fsf@gmail.com> References: <87wreujm07.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([140.186.70.92]:50366) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QpOG1-0001R8-8z for emacs-orgmode@gnu.org; Fri, 05 Aug 2011 13:32:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QpOFz-0005Wc-No for emacs-orgmode@gnu.org; Fri, 05 Aug 2011 13:32:25 -0400 Received: from mail-vw0-f41.google.com ([209.85.212.41]:63699) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QpOFz-0005WW-G6 for emacs-orgmode@gnu.org; Fri, 05 Aug 2011 13:32:23 -0400 Received: by vwm42 with SMTP id 42so1317043vwm.0 for ; Fri, 05 Aug 2011 10:32:22 -0700 (PDT) In-Reply-To: <87wreujm07.fsf@gmail.com> (Litvinov Sergey's message of "Wed, 03 Aug 2011 22:08:56 +0200") 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: Litvinov Sergey Cc: emacs-orgmode@gnu.org Litvinov Sergey writes: > The first patch maps cpp language code to c++-mode. The second patch > adds tests for ob-C. > The first patch is applied, and the second patch will be applied once your FSF assignment goes through. Many thanks for these contributions! -- Eric > > From d0bc3554ec70138245289f1fabf78e2e86436c78 Mon Sep 17 00:00:00 2001 > From: Sergey Litvinov > Date: Wed, 3 Aug 2011 22:02:43 +0200 > Subject: [PATCH 1/2] Map "cpp" to c++-mode > > --- > lisp/org-src.el | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/lisp/org-src.el b/lisp/org-src.el > index 30ffc34..094ec09 100644 > --- a/lisp/org-src.el > +++ b/lisp/org-src.el > @@ -155,7 +155,7 @@ but which mess up the display of a snippet in Org exported files.") > (defcustom org-src-lang-modes > '(("ocaml" . tuareg) ("elisp" . emacs-lisp) ("ditaa" . artist) > ("asymptote" . asy) ("dot" . fundamental) ("sqlite" . sql) > - ("calc" . fundamental) ("C" . c)) > + ("calc" . fundamental) ("C" . c) ("cpp" . c++)) > "Alist mapping languages to their major mode. > The key is the language name, the value is the string that should > be inserted as the name of the major mode. For many languages this is > -- > 1.7.1 > > > > From fba6eef6944766e675e4abe1d11d347b9a728031 Mon Sep 17 00:00:00 2001 > From: Sergey Litvinov > Date: Wed, 3 Aug 2011 22:03:19 +0200 > Subject: [PATCH 2/2] Add tests for ob-C.el > > --- > testing/README.org | 1 + > testing/examples/ob-C-test.org | 44 ++++++++++++++++++++++++++++++++++++++++ > testing/lisp/test-ob-C.el | 43 +++++++++++++++++++++++++++++++++++++++ > 3 files changed, 88 insertions(+), 0 deletions(-) > create mode 100644 testing/examples/ob-C-test.org > create mode 100644 testing/lisp/test-ob-C.el > > diff --git a/testing/README.org b/testing/README.org > index 2f16a55..cb408db 100644 > --- a/testing/README.org > +++ b/testing/README.org > @@ -77,6 +77,7 @@ First tangle this file out to your desktop. > (require 'org-id) > (org-id-update-id-locations > (list (concat org-dir "/testing/examples/babel.org") > + (concat org-dir "/testing/examples/ob-C-test.org") > (concat org-dir "/testing/examples/normal.org") > (concat org-dir "/testing/examples/ob-awk-test.org") > (concat org-dir "/testing/examples/ob-fortran-test.org") > diff --git a/testing/examples/ob-C-test.org b/testing/examples/ob-C-test.org > new file mode 100644 > index 0000000..4721c96 > --- /dev/null > +++ b/testing/examples/ob-C-test.org > @@ -0,0 +1,44 @@ > +#+Title: a collection of examples for ob-C tests > +#+OPTIONS: ^:nil > +* Simple tests > + :PROPERTIES: > + :ID: fa6db330-e960-4ea2-ac67-94bb845b8577 > + :END: > +#+source: simple > +#+begin_src cpp :includes "" :results silent > + std::cout << 42; > + return 0; > +#+end_src > + > +#+source: integer_var > +#+begin_src cpp :var q=12 :includes "" :results silent > + std::cout << q; > + return 0; > +#+end_src > + > +#+source: two_var > +#+begin_src cpp :var q=12 :var p=10 :includes "" :results silent > + std::cout << p+q; > + return 0; > +#+end_src > + > +#+source: string_var > +#+begin_src cpp :var q="word" :includes '( ) :results silent > + std::cout << q << ' ' << strlen(q); > + return 0; > +#+end_src > + > +#+source: define > +#+begin_src cpp :defines N 42 :includes "" :results silent > + std::cout << N; > + return 0; > +#+end_src > + > +* Array > +#+source: array > +#+begin_src cpp :includes "" :results vector :results silent > + for (int i=1; i<3; i++) { > + std::cout << i << '\n'; > + } > + return 0; > +#+end_src > diff --git a/testing/lisp/test-ob-C.el b/testing/lisp/test-ob-C.el > new file mode 100644 > index 0000000..5ee7bec > --- /dev/null > +++ b/testing/lisp/test-ob-C.el > @@ -0,0 +1,43 @@ > +(require 'ob-C) > + > +(ert-deftest ob-C/assert () > + (should t)) > + > +(ert-deftest ob-C/simple-program () > + "Hello world program." > + (org-test-at-id "fa6db330-e960-4ea2-ac67-94bb845b8577" > + (org-babel-next-src-block) > + (should (= 42 (org-babel-execute-src-block))))) > + > +(ert-deftest ob-C/integer-var () > + "Test of an integer variable." > + (org-test-at-id "fa6db330-e960-4ea2-ac67-94bb845b8577" > + (org-babel-next-src-block 2) > + (should (= 12 (org-babel-execute-src-block))))) > + > +(ert-deftest ob-C/two-integer-var () > + "Test of two input variables" > + (org-test-at-id "fa6db330-e960-4ea2-ac67-94bb845b8577" > + (org-babel-next-src-block 3) > + (should (= 22 (org-babel-execute-src-block))))) > + > +(ert-deftest ob-C/string-var () > + "Test of a string input variable" > + (org-test-at-id "fa6db330-e960-4ea2-ac67-94bb845b8577" > + (org-babel-next-src-block 4) > + (should (equal "word 4" (org-babel-execute-src-block))))) > + > +(ert-deftest ob-C/preprocessor () > + "Test of a string variable" > + (org-test-at-id "fa6db330-e960-4ea2-ac67-94bb845b8577" > + (org-babel-next-src-block 5) > + (should (= 42 (org-babel-execute-src-block))))) > + > +(ert-deftest ob-C/table () > + "Test of a table output" > + (org-test-at-id "2df1ab83-3fa3-462a-a1f3-3aef6044a874" > + (org-babel-next-src-block) > + (should (equal '((1) (2)) (org-babel-execute-src-block))))) > + > +;;; test-ob-C.el ends here > + -- Eric Schulte http://cs.unm.edu/~eschulte/