emacs-orgmode
[Top][All Lists]
Advanced

[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/



reply via email to

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