emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Eric Schulte <schulte.eric@gmail.com>
To: Litvinov Sergey <slitvinov@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: [BABEL,PATCH] cpp->c++-mode, ob-C mode tests
Date: Fri, 05 Aug 2011 11:32:22 -0600	[thread overview]
Message-ID: <87ty9vlq6x.fsf@gmail.com> (raw)
In-Reply-To: <87wreujm07.fsf@gmail.com> (Litvinov Sergey's message of "Wed, 03 Aug 2011 22:08:56 +0200")

Litvinov Sergey <slitvinov@gmail.com> 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 <slitvinov@gmail.com>
> 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 <slitvinov@gmail.com>
> 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	other threads:[~2011-08-05 17:32 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-03 20:08 [BABEL,PATCH] cpp->c++-mode, ob-C mode tests Litvinov Sergey
2011-08-05 17:32 ` Eric Schulte [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ty9vlq6x.fsf@gmail.com \
    --to=schulte.eric@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=slitvinov@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).