[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] [BABEL,PATCH] cpp->c++-mode, ob-C mode tests
From: |
Eric Schulte |
Subject: |
Re: [O] [BABEL,PATCH] cpp->c++-mode, ob-C mode tests |
Date: |
Fri, 05 Aug 2011 11:32:22 -0600 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
Litvinov Sergey <address@hidden> 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 <address@hidden>
> 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 <address@hidden>
> 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 "<iostream>" :results silent
> + std::cout << 42;
> + return 0;
> +#+end_src
> +
> +#+source: integer_var
> +#+begin_src cpp :var q=12 :includes "<iostream>" :results silent
> + std::cout << q;
> + return 0;
> +#+end_src
> +
> +#+source: two_var
> +#+begin_src cpp :var q=12 :var p=10 :includes "<iostream>" :results silent
> + std::cout << p+q;
> + return 0;
> +#+end_src
> +
> +#+source: string_var
> +#+begin_src cpp :var q="word" :includes '(<iostream> <cstring>) :results
> silent
> + std::cout << q << ' ' << strlen(q);
> + return 0;
> +#+end_src
> +
> +#+source: define
> +#+begin_src cpp :defines N 42 :includes "<iostream>" :results silent
> + std::cout << N;
> + return 0;
> +#+end_src
> +
> +* Array
> +#+source: array
> +#+begin_src cpp :includes "<iostream>" :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/