emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Litvinov Sergey <slitvinov@gmail.com>
To: emacs-orgmode@gnu.org
Subject: [BABEL,PATCH] cpp->c++-mode, ob-C mode tests
Date: Wed, 03 Aug 2011 22:08:56 +0200	[thread overview]
Message-ID: <87wreujm07.fsf@gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 90 bytes --]

The first patch maps cpp language code to c++-mode. The second patch
adds tests for ob-C.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Map-cpp-to-c-mode.patch --]
[-- Type: text/x-diff, Size: 939 bytes --]

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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-Add-tests-for-ob-C.el.patch --]
[-- Type: text/x-diff, Size: 3911 bytes --]

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
+ 
-- 
1.7.1


             reply	other threads:[~2011-08-03 20:09 UTC|newest]

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

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=87wreujm07.fsf@gmail.com \
    --to=slitvinov@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /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).