From mboxrd@z Thu Jan 1 00:00:00 1970 From: Litvinov Sergey Subject: [BABEL,PATCH] cpp->c++-mode, ob-C mode tests Date: Wed, 03 Aug 2011 22:08:56 +0200 Message-ID: <87wreujm07.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([140.186.70.92]:60117) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qohkg-0002IJ-KL for emacs-orgmode@gnu.org; Wed, 03 Aug 2011 16:09:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qohkf-0004Hx-Aj for emacs-orgmode@gnu.org; Wed, 03 Aug 2011 16:09:14 -0400 Received: from lo.gmane.org ([80.91.229.12]:51463) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qohkf-0004Hs-0H for emacs-orgmode@gnu.org; Wed, 03 Aug 2011 16:09:13 -0400 Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1Qohkd-0000oW-VP for emacs-orgmode@gnu.org; Wed, 03 Aug 2011 22:09:11 +0200 Received: from n028.tum.vpn.lrz.de ([129.187.211.28]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 03 Aug 2011 22:09:11 +0200 Received: from slitvinov by n028.tum.vpn.lrz.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 03 Aug 2011 22:09:11 +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: emacs-orgmode@gnu.org --=-=-= Content-Type: text/plain The first patch maps cpp language code to c++-mode. The second patch adds tests for ob-C. --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-Map-cpp-to-c-mode.patch >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 --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0002-Add-tests-for-ob-C.el.patch >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 + -- 1.7.1 --=-=-=--