Commit Graph

2213 Commits

Author SHA1 Message Date
Nicolas Goaziou f1a99ceddf test-org-footnote: Fix a broken test
* testing/lisp/test-org-footnote.el: Fix failing
  `test-org-footnote/normalize-outside-org'.
2012-03-04 15:53:55 +01:00
Nicolas Goaziou f18ea108aa test-org-export: Fix broken test
* testing/lisp/test-org-export.el (test-org-export/export-scope): In
  batch mode, `transient-mark-mode' must be turned on.
2012-03-04 14:38:57 +01:00
Nicolas Goaziou bf609d8844 org-export: Avoid duplicates in `org-export-collect-footnote-definitions'
* contrib/lisp/org-element.el (org-element-map): New optional argument
  to avoid recursion into certain recursive types.
* contrib/lisp/org-export.el (org-export-footnote-first-reference-p,
  org-export-get-footnote-number,
  org-export-collect-footnote-definitions): Use new argument from
  `org-element-map'.
* testing/lisp/test-org-export.el: Add test.

The new argument allows to force entering footnotes definitions at
a certain time (when their first reference is found) but not a second
time when they are encountered in the parse tree.

Thanks to Jambunathan for reporting this.
2012-03-04 11:57:16 +01:00
Eric Schulte 6fd14fe683 adding a test to protect the "results don't replace code block" functionality 2012-03-03 07:45:20 -07:00
Nicolas Goaziou baa7321d17 Merge branch 'maint' 2012-03-02 22:38:26 +01:00
Nicolas Goaziou 6b91eb9e65 org-footnote: Fix normalization of inline footnotes with no footnote section
* lisp/org-footnote.el (org-footnote-normalize): Fix normalization of
  inline footnotes with no footnote section.
* testing/lisp/test-org-footnote.el: New test file.

Thanks to Samuel Wales for reporting this.
2012-03-02 22:37:12 +01:00
Nicolas Goaziou aa5db9dd65 test-org: Fix a broken test
* testing/lisp/test-org.el (test-org-export/fuzzy-links): Fix the "No
  link found" error.
2012-03-02 15:14:23 +01:00
Eric Schulte a3a48f698f ensure that test constants are loaded by org-test.el 2012-03-01 11:37:04 -07:00
Eric Schulte 618eb91e12 fully remove contrib/ from the test infrastucture 2012-03-01 11:28:46 -07:00
Nicolas Goaziou 933c0fa441 Implement numbered cross-references
* lisp/org.el (org-link-search): Search for #+name affiliated keywords
  and invisible targets.
* contrib/lisp/org-element.el (org-element-link-parser): Remove "ref"
  links relative part.
(org-element-target-parser): Move property name from `:raw-value' to
`:value'.
(org-element-recursive-objects): Remove targets from tables.  Cells
are not parsed unless explicitely asked by back-end developer, too
late.  A target wouldn't be noticed in time.  One solution could be to
parse every table, but that's time consumming.
(org-element-object-restrictions): Target are not recursive anymore.
* contrib/lisp/org-export.el (org-export-resolve-fuzzy-link): Find
  elements with a matching "#+name: path" affiliated keyword.
(org-export-get-ordinal): Make special cases for headlines, items,
footnotes definitions and references.
(org-export-resolve-ref-link): Removed function.
* EXPERIMENTAL/org-e-latex.el (org-e-latex-link): Handle
  cross-reference numbers.
(org-e-latex-target): Targets have no contents.
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii--describe-links): Ignore
  fuzzy links in link description at the end of the section.
(org-e-ascii-link): Handle cross-reference numbers.
* testing/contrib/lisp/test-org-export.el: Add tests.
* testing/lisp/test-org.el: Add tests.
2012-03-01 14:49:53 +01:00
Nicolas Goaziou b2fb61cd56 Merge branch 'maint' 2012-02-29 21:04:52 +01:00
Nicolas Goaziou bdb66b4c61 org-list: Fix small bug
* lisp/org-list.el (org-list-struct): Fix small bug introduced by
  commit 8b7a3f2498.
* testing/lisp/test-org-list.el: Add test.
2012-02-29 21:04:15 +01:00
Nicolas Goaziou 73c5044963 org-export: Add `org-export-headline-numbered-p' predicate
* contrib/lisp/org-export.el (org-export-numbered-headline-p): New function.
* EXPERIMENTAL/org-e-ascii.el: Apply new function.
* EXPERIMENTAL/org-e-latex.el: Apply new function.
* testing/lisp/test-org-export.el: Add a test.
2012-02-29 19:05:45 +01:00
Nicolas Goaziou 8740f212d0 Move two test files into common test directory
* testing/lisp/test-org-element.el: Moved location from
  testing/contrib/lisp/ to testing/lisp.
* testing/lisp/test-org-export.el: Moved location from
  testing/contrib/lisp/ to testing/lisp.
2012-02-29 18:39:32 +01:00
Eric Schulte 87fe06b313 removing trailing ")"s 2012-02-29 09:10:08 -07:00
Eric Schulte 3234811c49 cleaning headers of test files -- removing loads and requires 2012-02-29 09:10:08 -07:00
Nicolas Goaziou c166bfbb1a org-export: fix bug with nested footnotes in invisible definitions
* contrib/lisp/org-export.el (org-export-collect-footnote-definitions):
  Also collect footnotes in footnote definitions
(org-export-get-footnote-number): Remove unused check.
* testing/contrib/lisp/test-org-export.el: Add test.
2012-02-26 10:57:42 +01:00
Nicolas Goaziou 12c94310a2 org-export: Allow nested footnotes (part 2)
* EXPERIMENTAL/org-e-latex.el (org-e-latex-footnote-reference):
  Correctly handle numbering with nested footnotes.
* contrib/lisp/org-element.el (org-element-map): Apply function to
  element or object before applying it to its secondary string, if
  any.  Otherwise, linearity is broken.
* contrib/lisp/org-export.el (org-export-footnote-first-reference-p,
  org-export-get-footnote-number): Take care of recursive footnotes.
(org-export-get-genealogy): Correctly get genealogy of an item within
a secondary string.
* testing/contrib/lisp/test-org-export.el: Add tests.
2012-02-26 01:38:26 +01:00
Nicolas Goaziou 81cc6dff19 org-e-latex: Allow nested footnotes
* EXPERIMENTAL/org-e-latex.el (org-e-latex-footnote-reference): Allow
  nested footnotes.
* contrib/lisp/org-element.el (org-element-string-restrictions): Allow
  footnote references within a footnote reference.
* testing/contrib/lisp/test-org-export.el: Add a test for nested
  footnotes.
2012-02-25 14:56:37 +01:00
Nicolas Goaziou 5313dc9d09 org-export: Allow user to explicitely ignore parts of parse tree
* contrib/lisp/org-export.el (org-export-collect-tree-properties):
  Do not overwrite any user's ignore list.
* testing/contrib/lisp/test-org-export.el: Add test.

A good way to populate `:ignore-list' is through the use of
`org-export-filter-parse-tree-functions', with the help of
`org-element-map' and `org-export-ignore-element'.  As an example, the
following code will skip every headline containing the word "note"
in its title during a LaTeX export:

(defun user-skip-note-headlines (data backend info)
  ;; For now LaTeX back-end is called `e-latex'.
  (when (eq backend 'test)
    ;; Traverse the parse tree, adding to ignore list any headline
    ;; matching criteria.
    (org-element-map
     data 'headline
     (lambda (headline)
       (when (string-match "\\<note\\>"
                           (org-element-property :raw-value headline))
         (org-export-ignore-element headline info)))
     info))
  ;; Return original DATA.
  data)

Then install it in parse-tree filters:

(add-to-list 'user-skip-note-headlines org-export-filter-parse-tree-functions)

Back-end delevopers will install it via `org-BACKEND-filters-alist'
where BACKEND stands for the name of the back-end considered.  Se
`org-export-filters-alist' for more information.
2012-02-25 14:55:21 +01:00
Nicolas Goaziou 752a531eb5 org-element: Refactor code 2012-02-24 22:33:16 +01:00
Nicolas Goaziou 404ede23fc org-element: Change algorithm for `org-element-at-point'
* contrib/lisp/org-element.el (org-element-at-point): Change
  algorithm.
(org-element-guess-type): Removed function.
(org-element--element-block-types): Removed variable.
(org-element-forward, org-element-backward, org-element-up): Rewrite
functions.
* testing/contrib/lisp/test-org-element.el: Add tests.
2012-02-24 17:52:43 +01:00
Nicolas Goaziou 94185eac92 org-export: Fix bug with recursive file inclusion and relative paths
* contrib/lisp/org-export.el (org-export-expand-include-keyword): Use
  another optional argument to specify the current working directory.
(org-export-as): Apply changes.
* testing/contrib/lisp/test-org-export.el: Add tests.
* testing/examples/include.org: New test file.
* testing/examples/include2.org: New test file.
2012-02-23 21:28:15 +01:00
Nicolas Goaziou 0fa24209cf org-export: Export snippets are not skipped automatically: back-ends decide
* contrib/lisp/org-export.el (org-export-snippet-backend): New
  function.
(org-export--skip-p): Remove automatic skip of export snippets.
* EXPERIMENTAL/org-e-ascii.el (org-e-ascii-export-snippet): Use new
  function.
* EXPERIMENTAL/org-e-html.el (org-e-html-export-snippet): Use new
  function.
* EXPERIMENTAL/org-e-latex.el (org-e-latex-export-snippet): Use new
  function.
* EXPERIMENTAL/org-e-odt.el (org-e-odt-export-snippet): Use new
  function.
* testing/contrib/lisp/test-org-export.el: Add test.

The idea behind this change is that a given back-end may decide to
keep an export snippet not directly targetted at it (i.e. a beamer
back-end that would want to keep latex snippets).  Hence, filtering
snippets is on back-ends side, and a new function is added to help
them in that task.
2012-02-23 18:21:29 +01:00
Nicolas Goaziou 8714fba308 org-element: COMMENT and QUOTE keywords, ARCHIVE tags are case sensitive
* contrib/lisp/org-element.el (org-element-headline-parser): COMMENT
  and QUOTE keywords, ARCHIVE tags are case sensitive.
* testing/contrib/lisp/test-org-element.el: New file.
2012-02-23 16:30:06 +01:00
Nicolas Goaziou 675713c539 org-export: Fix select-tag handling
* contrib/lisp/org-export.el (org-export-collect-tree-properties):
  Remove `:use-select-tags' property.
(org-export-populate-ignore-list): Renamed from
`org-export-get-ignore-list'.
(org-export--selected-trees): Renamed from
`org-export-use-select-tag-p'.
(org-export--skip-p): Use an additional argument to specify list of
trees containing a select tag.
(org-export-select-tags, org-export-exclude-tags,
org-export-with-priority): Change doc-string.
* testing/contrib/lisp/test-org-export.el: Tests modified
  accordingly.
2012-02-23 14:57:16 +01:00
Nicolas Goaziou a87c463818 org-element: Move archived tree handling out of org-element-map
* contrib/lisp/org-element.el: Move archived tree handling out of
  org-element-map.
* contrib/lisp/org-export.el (org-export-get-ignore-list): Properly
  ignore archived with `org-export-with-archived-trees' set to
  `headline'.
* testing/contrib/lisp/test-org-export.el (test-org-export/handle-options):
  Add a test for that.
2012-02-23 11:24:58 +01:00
Nicolas Goaziou a940e3d22c org-export: Fix some small bugs, include tests
* contrib/lisp/org-export.el (org-export-get-inbuffer-options): Fix
  but with incomplete macros returning an error.  Also with behaviour
  `nil', only insert new value if none was defined before.
(org-export-use-select-tags-p): Fix bug preventing it from properly
detecting select-tags.
(org-export--skip-p): Small refactoring
* testing/contrib/lisp/test-org-export.el: New test file.
2012-02-23 00:58:55 +01:00
Eric Schulte deb6e7a61e fixed test case broken by merge 2012-02-19 09:42:29 -07:00
Eric Schulte 3de3c470d8 Merge branch 'origin-maint'
Conflicts:
	contrib/lisp/org-mac-link-grabber.el
	doc/org.texi
	lisp/org-odt.el
	testing/lisp/test-ob.el
2012-02-19 09:36:13 -07:00
Martyn Jago 2189b9ac47 Regression tests regarding code block results and result removal/replacement.
* testing/lisp/test-ob.el:

Regression tests regarding code block results and result removal/replacement

Conflicts:

	testing/lisp/test-ob.el
2012-02-19 09:07:03 -07:00
Martyn Jago 50a35c42db Fix `org-babel-result-end' command to provide consistent result removal where result is type `wrap'.
* lisp/ob.el:

Fix `org-babel-result-end' command to provide consistent result
removal where result is type `wrap'. Prior to this fix
multiple (org-ctrl-c-ctrl-c) commands will add multiple newlines to
the end of results (one newline per block execution).

This fixes the test `test-ob/org-babel-remove-result--results-wrap'

* testing/lisp/test-ob.el:

Uncomment test since it now passes.

Conflicts:

	testing/lisp/test-ob.el
2012-02-19 08:27:56 -07:00
Martyn Jago 059bb972d1 Modify macro `org-test-with-temp-text-in-file' to work on emacs 22. * testing/org-test.el:
In Emacs 22 the `kill-buffer' argument is NOT optional. This change
reflects this and allows the macro `org-test-with-temp-text-in-file'
to work in Emacs 22 for org compatibility. This fixes the test
`test-ob-lob/do-not-eval-lob-lines-in-example-blocks-on-export'
2012-02-19 08:19:14 -07:00
Eric Schulte 2b2e853b1b fixed bug in org-babel-balanced-split when run on Emacs22
Thanks to Martyn Jago for the test case

* lisp/ob.el (org-babel-balanced-split): Explicit checking if list
  before calling member.
* testing/lisp/test-ob.el (test-ob/org-babel-balanced-split): Testing
  the new Emacs22-proof behavior.
2012-02-19 08:01:26 -07:00
Eric Schulte 47eb35bb89 tests of fixed subtree property accumulated behavior 2012-02-15 08:12:35 -07:00
Eric Schulte 571d26e5ca marking test as expected to fail given that it relies on the new export engine
* testing/lisp/test-ob-exp.el (ob-exp/export-from-a-temp-buffer):
  Marking test as expected to fail given that it relies on the new
  export engine
2012-02-03 09:43:43 -07:00
Eric Schulte 72fe32f17b test org-current-export-file->buffer behavior
Conflicts:

	testing/lisp/test-ob-exp.el: Resolving conflicts.
2012-02-03 09:38:28 -07:00
Eric Schulte a3e5f97ee7 New strip-export noweb header argument value
* lisp/ob-exp.el (org-babel-exp-src-block): Strip noweb references on
  export when "strip-export".
* lisp/ob.el (org-babel-common-header-args-w-values): New noweb
  header value.
  (org-babel-merge-params): New noweb header value.
  (org-babel-noweb-p): New noweb header value.
* testing/examples/babel.org (an): Testing new noweb header value.
* testing/lisp/test-ob-exp.el (ob-exp/noweb-strip-export-ensure-strips):
  Testing new noweb header value.
* doc/org.texi (noweb): Document new noweb header value.
2012-02-01 08:19:29 -07:00
Eric Schulte d03b013e2c Merge branch 'origin-maint'
Conflicts:
	testing/lisp/test-ob.el
2012-01-30 09:02:51 -07:00
Eric Schulte eb02808f97 splitting large tests up into smaller units
This make it easier to track down the cause of failing tests.
2012-01-30 08:54:25 -07:00
Eric Schulte 660e30b39c inline src block tests by Martyn Jago
* testing/lisp/test-ob.el (test-org-babel/inline-src_blk-preceded-punct):
  Inline src block tests by Martyn Jago.
2012-01-30 08:51:17 -07:00
Eric Schulte 9fb3e136d8 adding a "troubleshooting" section to the testing README 2012-01-28 15:51:57 -07:00
Eric Schulte 106e1b6477 renamed the testing README 2012-01-28 15:38:19 -07:00
Eric Schulte e1d0311dd4 greatly simplified the testing README 2012-01-28 15:38:03 -07:00
Eric Schulte 85974ce727 killing all of the test buffers 2012-01-24 09:41:21 -07:00
Martyn Jago c82ca2f19a Fix `org-babel-result-end' command to provide consistent result removal where result is type `wrap'.
* lisp/ob.el:

Fix `org-babel-result-end' command to provide consistent result
removal where result is type `wrap'. Prior to this fix
multiple (org-ctrl-c-ctrl-c) commands will add multiple newlines to
the end of results (one newline per block execution).

This fixes the test `test-ob/org-babel-remove-result--results-wrap'

* testing/lisp/test-ob.el:

Uncomment test since it now passes.
2012-01-24 09:36:40 -07:00
Eric Schulte b0eebd1ae1 be a little nicer about burying buffers used in running tests 2012-01-24 09:35:40 -07:00
Eric Schulte 2395c3eff1 Merge branch 'origin-maint' 2012-01-24 00:02:52 -07:00
Eric Schulte a706f42403 update tests 2012-01-24 00:02:33 -07:00
Eric Schulte 527e6844cc optionally export additional information with call lines
* lisp/ob-exp.el (org-babel-exp-call-line-template): Control export of
  additional call line information.
  (org-babel-exp-non-block-elements): Fancier call line export.
* testing/examples/babel.org (an): Example data to test new call line
  export.
* testing/lisp/test-ob-exp.el (ob-exp/export-call-line-information):
  Test new call line export.
2012-01-23 12:53:15 -07:00
Eric Schulte d3538624e7 Merge branch 'origin-maint'
Conflicts:
	lisp/ob-exp.el
	testing/examples/babel.org
2012-01-23 10:46:03 -07:00
Eric Schulte 43abeaa488 evaluate all executables in buffer order on export
* lisp/ob-exp.el (org-babel-exp-non-block-elements): Map over both
  inline src blocks and call lines on export.
2012-01-23 10:39:38 -07:00
Eric Schulte 10f26fb805 Merge branch 'origin-maint' 2012-01-20 12:00:31 -07:00
Litvinov Sergey f92facd890 Map "screen" to shell-script-mode 2012-01-20 11:47:13 -07:00
Eric Schulte 94f10ddfd7 don't always replace <<noweb>> references when :exports both
* lisp/ob-exp.el (org-babel-exp-results): Alter a copy of info.
* testing/examples/babel.org (an): Example data for test behavior.
* testing/lisp/test-ob-exp.el (ob-exp/noweb-no-export-and-exports-both):
  Confirm proper behavior.
2012-01-16 20:39:12 -07:00
Eric Schulte 4ce9b8044c test for customizable code block export 2012-01-14 12:41:40 -07:00
Eric Schulte 7423c15d3e added edbug specs for testing macro
* testing/lisp/test-property-inheritance.el (test-org-in-property-buffer):
  Added edbug spec.
* testing/org-test.el (org-test-at-id): Added edbug spec.
  (org-test-in-example-file): Added edbug spec.
2012-01-11 10:15:20 -07:00
Martyn Jago bd2794f5c1 Regression tests regarding code block results and result removal/replacement.
* testing/lisp/test-ob.el:

Regression tests regarding code block results and result removal/replacement
2012-01-06 13:11:21 -07:00
Martyn Jago 238673a8ae Changes to latest block export tests to suit Emacs 22. * testing/lisp/test-ob-exp.el:
Changes to latest block export tests to suit Emacs 22.
2012-01-06 09:35:03 +01:00
Eric Schulte 4db4fe84a8 Merge branch 'origin-maint' 2012-01-06 00:32:30 -07:00
Martyn Jago d270cfcf74 Fix to test-org-babel/org-babel-get-inline-src-block-matches. * testing/lisp/test-ob.el: Character position offset -=2 to account for removal of trailing spaces 2012-01-06 00:31:33 -07:00
Martyn Jago 3096cc3b61 Bug fix in ob-emacs-lisp.el.
* lisp/ob-emacs-lisp.el: A comment on the last line of an emacs-lisp
code block would cause an error when the block is was executed. This
fix cures this behaviour.

* testing/lisp/test-ob-emacs-lisp.el:  Regression tests for the above
  fix.
2012-01-06 00:31:00 -07:00
Bastien Guerry 6e10d36d92 Fix trailing whitespaces. 2012-01-05 18:17:29 +01:00
Martyn Jago b37be0237a Fixed and suplemented pending tests in `test-ob-exp.el'. * testing/examples/babel.org: examples altered and added to * testing/lisp/test-ob-exp.el: tests fixed and added to 2012-01-05 18:16:57 +01:00
Bastien Guerry 07e31dfa0d Delete trailing whitespaces. 2012-01-04 20:02:10 +01:00
Martyn Jago 2ef6100af5 Modify tests to avoid writing to non-temp test-example files.
* testing/examples/babel.org:
* testing/examples/table.org:
* testing/lisp/test-ob.el:
* testing/lisp/test-org-table.el:

Tests that used to write to a test-example file (ie testing/babel.org)
have been modified to write to temp files instead.

This avoids leaving open and /modified/ tests in Emacs when tests are
run by `org-test-run-all-tests'.
2012-01-04 20:00:08 +01:00
Martyn Jago 49de19ba02 Modify macro `org-test-with-temp-text-in-file' to work on emacs 22. * testing/org-test.el:
In Emacs 22 the `kill-buffer' argument is NOT optional. This change
reflects this and allows the macro `org-test-with-temp-text-in-file'
to work in Emacs 22 for org compatibility. This fixes the test
`test-ob-lob/do-not-eval-lob-lines-in-example-blocks-on-export'
2012-01-04 17:30:13 +01:00
Eric Schulte 2c2e1a5448 fixed bug in org-babel-balanced-split when run on Emacs22
Thanks to Martyn Jago for the test case

* lisp/ob.el (org-babel-balanced-split): Explicit checking if list
  before calling member.
* testing/lisp/test-ob.el (test-ob/org-babel-balanced-split): Testing
  the new Emacs22-proof behavior.
2012-01-03 11:45:27 -07:00
Eric Schulte 8cffe3aabf fixed bug in org-babel-balanced-split when run on Emacs22
Thanks to Martyn Jago for the test case

* lisp/ob.el (org-babel-balanced-split): Explicit checking if list
  before calling member.
* testing/lisp/test-ob.el (test-ob/org-babel-balanced-split): Testing
  the new Emacs22-proof behavior.
2012-01-03 11:44:46 -07:00
Bastien Guerry e44d2975ff Fix copyright (to 2012) year and Org version (to 7.8.03). 2012-01-03 18:47:01 +01:00
Litvinov Sergey 0b7ae6ffb9 ob-octave.el: Add graphical output
* lisp/ob-octave.el: add graphical output to png file

    * testing/examples/ob-octave-test.org: add a test for graphical
      output, and a test for session
2011-12-17 09:04:20 -07:00
Eric Schulte b21da5f5d6 fixed bug in parsing of arguments to code block references
* lisp/ob-ref.el (org-babel-ref-split-args): Now uses
  `org-babel-balanced-split'.
* testing/lisp/test-ob.el (test-ob/splitting-variable-lists-in-references):
  Test new working behavior.
2011-12-12 17:19:40 -07:00
Eric Schulte 3bf8d8fd86 fixed regexp when resolving noweb references
* lisp/ob.el (org-babel-expand-noweb-references): Fixed regexp.
* testing/lisp/test-ob.el (test-ob/noweb-expansion): Test both named
  code block and noweb-ref header argument references.
2011-12-11 12:02:02 -07:00
Litvinov Sergey e6377a8295 Add string input variables to ob-octave.el. Add tests for ob-octave.el 2011-12-10 06:12:29 -07:00
Eric Schulte e0748cdebd tests for the colnames header argument 2011-11-28 11:23:42 -07:00
Eric Schulte a998cae722 the :eval header argument now takes 4(6) possible values
* doc/org.texi (eval): Documenting the full range of :eval header
  argument values.
* lisp/ob.el (org-babel-confirm-evaluate): Adding support for new
  range of :eval header arguments.
* testing/lisp/test-ob.el (test-ob/eval-header-argument): Testing the
  :eval header argument.
2011-11-22 07:32:39 -07:00
Eric Schulte 3693952e3b New option to update intermediate in-buffer results
* lisp/ob-ref.el (org-babel-update-intermediate): New custom variable.
  (org-babel-ref-resolve): Optionally update the in-buffer results of
  code blocks which are evaluated to resolve references.
2011-11-21 10:02:39 -07:00
Eric Schulte 82c0f9bf69 Allow spaces around "=" in code block variable specifications
* lisp/ob.el (org-babel-join-splits-near-ch): Rejoins a list of a
  split string when a character appears on either side of the split.
  (org-babel-parse-multiple-vars): Rejoin splits around "=" signs.
2011-11-20 09:40:08 -07:00
Eric Schulte 41387f4675 marked test as expected to pass, because it is now passing 2011-11-20 09:39:09 -07:00
Eric Schulte f55810593e don't try to evaluate #+call lines in verbatim blocks
* lisp/ob-exp.el (org-babel-exp-lob-one-liners): Don't limit
  in-verbatim check to inline code blocks, do lob code blocks as well.
* testing/lisp/test-ob-lob.el (test-ob-lob/do-not-eval-lob-lines-in-example-blocks-on-export):
  Test ensuring that #+call lines in verbatim blocks are not evaluated
2011-11-18 11:30:59 -07:00
Eric Schulte 1f206ed477 new testing macro for in-file execution with temp text
* testing/org-test.el (org-test-with-temp-text-in-file): A new testing
  macros for temp-text tests which require a file name (e.g., for
  export).
2011-11-18 11:30:59 -07:00
Eric Schulte 7c21098323 Don't match partial names when resolving code or data references
* lisp/ob.el (org-babel-named-src-block-regexp-for-name): Ensure that
  partial names are not matched.
  (org-babel-named-data-regexp-for-name): Ensure that partial names
  are not matched.
* testing/lisp/test-ob.el (test-ob/do-not-resolve-to-partial-names-data):
  Test to ensure that partial names are not matched.
2011-11-16 06:15:31 -07:00
Eric Schulte 19884ab280 resolve named code blocks before named data
* lisp/ob-ref.el (org-babel-ref-resolve): Search for named code blocks
  before named data.
* lisp/ob.el (org-babel-named-data-regexp-for-name): New function for
  finding named data.
* testing/lisp/test-ob.el (test-ob/resolve-code-blocks-before-data-blocks):
  Test to ensure that named references are resolved in the correct
  order.
2011-11-15 20:13:41 -07:00
Eric Schulte 1b6de8fad5 ignore org-id file generated during testing 2011-11-15 11:19:39 -07:00
Eric Schulte c21692506d fix bug missing references to example blocks
* lisp/ob-ref.el (org-babel-ref-resolve): Don't change location when
  looking at the contents.
* testing/lisp/test-ob.el (test-ob/catches-all-references): Test
  enforcing the correct behavior.
2011-11-15 11:18:26 -07:00
Eric Schulte 9702f5520e revert changes to interactive function `org-test-run-all-tests' 2011-11-15 08:56:25 -07:00
Martyn Jago 0440b83ac5 Changes to fix sandboxed tests to suit the standard code block syntax, and some changes to reduce ID testing scope and improve result gathering. * testing/org-test.el: Add org as an executable language for sand-boxed testing to suit the standard code block syntax. Use .org-test-id-locations as ID file temporarily whilst testing. Add `org-test-update-id-locations' to do just that. Clear *Messages* buffer and temporarily set `message-log-max to t to ensure capturing entire test backtrace.
* testing/.gitignore: ignore testing/.org-test-id-locations
2011-11-15 08:56:25 -07:00
Eric Schulte 83dfaa5c8f named code blocks are replaced with their results
* lisp/ob.el (org-babel-find-named-result): Downcase "name" before comparison.
* testing/lisp/test-ob.el (test-ob/does-not-replace-a-block-with-the-results):
  Test that named code blocks are replaced with their results.
2011-11-15 08:56:25 -07:00
Eric Schulte 630b9c80ca Indicate tests with missing dependencies by adding a expected failing test
* testing/lisp/test-ob-R.el (featurep): Signal missing dependencies
  with an error rather than a throw.
* testing/org-test.el (missing-test-dependency): Define the error
  signal for missing dependencies.
  (org-test-for-executable): Signal missing dependencies with an error
  rather than a throw.
  (org-test-load): Define an expected failing test for each file with
  missing dependencies.
2011-11-15 08:56:25 -07:00
Martyn Jago 49d6951caa Fix don't load symlinks (Emacs interlocking files) * testing/org-test.el: During test development various interlocking files may be present in testing/lisp directory (since they are being edited by emacs). Currently org-test-load will attempt to load these 2011-11-15 08:56:25 -07:00
Martyn Jago 0cc18ed120 Avoid loading (and failing) symbolic links (interlocking files) * testing/org-test.el: During test development various interlocking files may be present in testing/lisp directory (since they are being edited by emacs). Currently org-test-load will attempt to load these and fail. 2011-11-15 08:56:25 -07:00
Eric Schulte f98ee77b38 tests protecting nested code blocks
* testing/lisp/test-ob.el (test-org-babel/nested-code-block):
  Evaluation of a nested block.
  (test-org-babel/partial-nested-code-block): Evaluation of a
  partially nested block.
2011-11-15 08:56:25 -07:00
Eric Schulte 1ed12cac1a passing all tests after code block syntax changes
* lisp/ob-exp.el (org-babel-in-example-or-verbatim): Some valid
  execution contexts (e.g., call lines) look like commented lines.
* lisp/ob.el (org-babel-get-src-block-info): Empty match string
  doesn't count.
  (org-babel-process-params): Always process parameters, even if you
  don't to table splitting.
* testing/lisp/test-ob-C.el (ob-C/table): Ignore failures for this C
  test.
* testing/lisp/test-ob-fortran.el (ob-fortran/input-var): Ignore
  failures for this fortran test.
2011-11-15 08:56:24 -07:00
Eric Schulte 3af89e696a property names ending in plus accumulate
This results in the following behavior.

  #+property: var  foo=1
  #+property: var+ bar=2

  #+begin_src emacs-lisp
    (+ foo bar)
  #+end_src

  #+results:
  : 3

  #+begin_src emacs-lisp
    (org-entry-get (point) "var" t)
  #+end_src

  #+results:
  : foo=1 bar=2

  * overwriting a file-wide property
    :PROPERTIES:
    :var:      foo=7
    :END:

  #+begin_src emacs-lisp
    foo
  #+end_src

  #+results:
  : 7

  #+begin_src emacs-lisp
    (org-entry-get (point) "var" t)
  #+end_src

  #+results:
  : foo=7

  * appending to a file-wide property
    :PROPERTIES:
    :var+:      baz=3
    :END:

  #+begin_src emacs-lisp
    (+ foo bar baz)
  #+end_src

  #+results:
  : 6

  #+begin_src emacs-lisp
    (org-entry-get (point) "var" t)
  #+end_src

  #+results:
  : foo=1 bar=2 baz=3

* lisp/org.el (org-update-property-plist): Updates a given property
  list with a property name and a property value.
  (org-set-regexps-and-options): Use org-update-property-plist.
  (org-entry-get): Use org-update-property-plist.
* testing/examples/property-inheritance.org: Example file for testing
  appending property behavior.
* testing/lisp/test-property-inheritance.el: Tests of appending
  property behavior.
* lisp/ob.el (org-babel-balanced-split): Allow splitting on single
  characters as well as groups of two characters.
  (org-babel-parse-multiple-vars): Split variables on single spaces.
2011-11-15 08:56:24 -07:00
Eric Schulte 7e93b90f88 Standardized code block keywords
Nick Dokos <nicholas.dokos@hp.com> writes:

> Eric Schulte <schulte.eric@gmail.com> wrote:
>
>> The attached updated patch fixes a bug in the original.
>>
>
> Minor problem in applying:
>
> ,----
> | $ git apply ~/Mail/inbox/724
> | /home/nick/Mail/inbox/724:671: trailing whitespace.
> | #+name:
> | /home/nick/Mail/inbox/724:599: new blank line at EOF.
> | +
> | warning: 2 lines add whitespace errors.
> `----

The attached version fixes these issues, Thanks -- Eric

>From 0e43d59ee8d46a63f86780a502de726271bc39de Mon Sep 17 00:00:00 2001
From: Eric Schulte <schulte.eric@gmail.com>
Date: Fri, 28 Oct 2011 10:44:21 -0600
Subject: [PATCH] removing code block, results and call-line synonyms -- BREAKING CHANGE

Following a round of on-list discussion many code block synonyms have
been removed, moving forward the following syntax is valid.

- call lines are specified with #+call:
- code blocks are named with #+name:
- results are named with #+name:, however results generated by a code
  block may still be labeled with #+results:, and tables named with
  #+tblname: will be considered to be named results

The following function may be used to update an existing Org-mode
buffer to the new syntax.

  (defun update-org-buffer ()
    "Update an Org-mode buffer to the new data, code block and call line syntax."
    (interactive)
    (save-excursion
      (flet ((to-re (lst) (concat "^[ \t]*#\\+" (regexp-opt lst t)
                                  "\\(\\[\\([[:alnum:]]+\\)\\]\\)?\\:[ \t]*"))
             (update (re new)
                     (goto-char (point-min))
                     (while (re-search-forward re nil t)
                       (replace-match new nil nil nil 1))))
        (let ((old-re (to-re '("RESULTS" "DATA" "SRCNAME" "SOURCE")))
              (lob-re (to-re '("LOB")))
              (case-fold-search t))
          (update old-re "name")
          (update lob-re "call")))))

Note: If an old version of Org-mode (e.g., the one shipped with Emacs)
      is installed on your system many of the important variables will
      be pre-defined with a defvar and *will not* have their values
      automatically updated, these include the following.
      - org-babel-data-names
      - org-babel-result-regexp
      - org-babel-src-block-regexp
      - org-babel-src-name-regexp
      - org-babel-src-name-w-name-regexp
      It may be necessary to either remove the source code of older
      versions of Org-mode, or to explicitly evaluate the ob.el file.

* lisp/ob-exp.el (org-exp-res/src-name-cleanup): Updated
  Documentation.
* lisp/ob-lob.el (org-babel-block-lob-one-liner-regexp): Updated
  regular expression.
  (org-babel-inline-lob-one-liner-regexp): Updated regular expression.
* lisp/ob-ref.el (org-babel-ref-resolve): Notice when something that
  looks like a data results may actually be a code block.
* lisp/ob-table.el: Updated documentation.
* lisp/ob.el (org-babel-src-name-regexp): Simplified regexp.
  (org-babel-get-src-block-info): Updated match strings.
  (org-babel-data-names): Simplified acceptable names.
  (org-babel-find-named-block): Indentation.
  (org-babel-find-named-result): Updated to not return a code block as
  a result.
* lisp/org.el (org-fontify-meta-lines-and-blocks-1): Removing
  references to old syntactic elements.
  (org-additional-option-like-keywords): Removing references to old
  syntactic elements.
* contrib/babel/library-of-babel.org: Updated to make use of the new
  syntax.
* testing/examples/babel-dangerous.org: Updated to make use of the new
  syntax.
* testing/examples/babel.org: Updated to make use of the new syntax.
* testing/examples/ob-awk-test.org: Updated to make use of the new
  syntax.
* testing/examples/ob-fortran-test.org: Updated to make use of the new
  syntax.
* testing/lisp/test-ob.el: Removed two bad tests which tested the
  literal values of old regular expressions rather than their
  behavior.
2011-11-15 08:56:24 -07:00
Eric Schulte 7720786c41 fix whitespace errors 2011-11-08 13:52:11 -07:00
Litvinov Sergey fddd85a172 construct a table from the output of maxima code block
Please consider a patch to construct a table from the output of maxima
code block.

>From a0305117f4e793c93d7d10bc7aab04f96bd62e9c Mon Sep 17 00:00:00 2001
From: Litvinov Sergey <slitvinov@gmail.com>
Date: Sat, 1 Oct 2011 22:29:18 +0200
Subject: [PATCH] [ob-maxima] Construct a table from the output of the code block. Add
 ert tests.
2011-11-08 13:51:27 -07:00
Eric Schulte 7e7ecb6db9 fix whitespace errors 2011-11-08 13:44:23 -07:00
Litvinov Sergey 9154641593 cpp->c++-mode, ob-C mode tests
The first patch maps cpp language code to c++-mode. The second patch
adds tests for ob-C.

>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
2011-11-08 13:41:43 -07:00
Litvinov Sergey 8d3a4da034 Extend ob-maxima: add input variables and graphic output
* lisp/ob-maxima.el (org-babel-tangle-lang-exts): Maxima extension.
  (org-babel-maxima-expand): Add input variables and graphic output.
  (org-babel-execute:maxima): Add input variables and graphic output.
  (org-babel-maxima-var-to-maxima): Add input variables and graphic
  output.
  (org-babel-maxima-graphical-output-file): Add input variables and
  graphic output.
  (org-babel-maxima-elisp-to-maxima): Add input variables and graphic
  output.
* testing/examples/ob-maxima-test.org: Examples for new Maxima
  behavior.
2011-11-08 13:40:23 -07:00
Tassilo Horn 4bbdfd229d Replace org-mode-p with usual (eq major-mode 'org-mode) check
Additionally, replace one

  (or (org-mode-p) (derived-mode-p 'org-mode))

with

  (derived-mode-p 'org-mode)

cause that is reflexive anyway (returns true, if the current mode is
org-mode).

Delete one check testing for org-mode or org derived mode
2011-10-22 11:29:24 +02:00
Eric Schulte 832fd8b415 less hacky check for executables when loading tests
* testing/org-test.el (org-test-for-executable): Less hacky check for
  executables when loading tests.
2011-09-26 06:16:55 -06:00
David Maus d5722a7b6c Use macro to compose html link export tests
* lisp/test-org-html.el (org-test-html/export-link): New
macro. Compose link export test.
(test-org-html/export-link-factory)
(test-org-html/export-link-alist): Remove factory variable and
function, use new macro instead.
2011-09-25 09:49:39 +02:00
David Maus 07d11a6847 Make sure Org mode is turned on after loading the example file
* org-test.el (org-test-in-example-file): Make sure Org mode is turned
on after loading the example file.
2011-09-25 09:26:50 +02:00
Eric Schulte 4446e50e3d org tests using throw/catch rather than errors to avoid loading unsupported tests 2011-09-24 15:57:14 -06:00
Eric Schulte c8c804e917 update function documentation for `org-test-with-temp-text'
* testing/org-test.el (org-test-with-temp-text): Update function documentation.
2011-09-23 15:49:31 -06:00
Eric Schulte 25a066d5b6 catching more general errors during recursive load of test files
* testing/org-test.el (org-test-load): Catching more general errors
  during recursive load.
2011-09-23 09:57:40 -06:00
Eric Schulte b3e322125d testing that results are duplicated -- By Sebastien Vauban
* testing/lisp/test-ob.el (test-org-babel/just-one-results-block):
  Ensure that result blocks are not duplicated.
2011-09-23 09:50:46 -06:00
Eric Schulte 8bff3bfc22 code cleanliness in test-ob.el
* testing/lisp/test-ob.el (test-org-babel/multi-line-header-regexp):
  Code cleanliness.
  (test-org-babel/inline-src_blk-default-results-replace-line-2): Code
  cleanliness.
  (test-org-babel/inline-src_blk-manual-results-replace): Code
  cleanliness.
  (test-org-babel/inline-src_blk-results-silent): Code cleanliness.
  (test-org-babel/inline-src_blk-results-raw): Code cleanliness.
  (test-org-babel/inline-src_blk-results-scalar): Code cleanliness.
  (test-org-babel/inline-src_blk-results-verbatim): Code cleanliness.
  (test-org-babel/no-defaut-value-for-var): Code cleanliness.
2011-09-23 09:50:01 -06:00
Eric Schulte decd7227f6 only load those test files for which the required executables are present
* testing/org-test.el (org-exe-not-found): An error type used to
  signal a missing executable
  (org-test-for-executable): A function used by test files to throw an
  error if a required executable is not present.
  (org-test-load): Simply skip files for which the required
  executables are not present.

* testing/lisp/test-ob-R.el: Conditional loading.
* testing/lisp/test-ob-awk.el: Conditional loading.
* testing/lisp/test-ob-fortran.el: Conditional loading.
2011-09-21 16:41:44 -06:00
Eric Schulte 20e670946e fix leftover cruft in test-ob-R.el 2011-09-21 13:31:38 -06:00
Eric Schulte 12f0fb2d75 adding a file for R tests
* testing/lisp/test-ob-R.el (test-ob-R/simple-session): Simple session
  test.
2011-09-21 09:10:22 -06:00
Martyn Jago cfc019073e Refactor tests to use `org-test-with-temp-text' * testing/lisp/test-ob.el: refactor 2011-09-21 09:10:22 -06:00
Martyn Jago 94c0f143dd Modifications to enable test script to run with emacs-23 and emacs-22 * testing/org-test.el: enable test script to run with emacs-23 and emacs-22 * testing/lisp/test-org-exp.el: added org-ascii requirement 2011-09-20 09:03:41 -06:00
Eric Schulte ded9f87ebc org-test-with-temp-text allows variable inputs holding strings
* testing/org-test.el (org-test-with-temp-text): Allow variable inputs
  holding strings.
2011-09-20 09:01:20 -06:00
Eric Schulte 9da40a0d6e Convenience macro for testing.
* testing/org-test.el (org-test-with-temp-text): Convenience macro for
  testing.
2011-09-19 10:01:32 -06:00
David Maus 56de2cf7a6 Explicitely set coding system for unescaped string
* test-org.el (test-org/org-link-unescape-ascii-extended-char):
Explicitely set coding system for unescaped string.

Needed for Emacs22 to pass these tests. The input string is extended
ASCII which is covered by latin-1 coding system.
2011-09-18 16:40:01 +02:00
David Maus ee957745db Conditionally define `special-mode' for Emacs22
* org-test.el: Conditionally define `special-mode' for Emacs22.

Copied definition from Emacs23's simple.el.
2011-09-18 10:35:50 +02:00
Eric Schulte 15a9eac67e isolating dangerous testing examples
* testing/examples/babel-dangerous.org: To house the dangerous.
* testing/examples/babel.org (an): Removed a trouble maker.
2011-09-16 09:52:34 -06:00
Sebastien Vauban cd05d152cf Add test checking that any variable declared with no default value will generate a proper error message. 2011-09-16 09:52:34 -06:00
Sebastien Vauban fefff8ec87 Add test checking that any variable declared with no default value will generate a proper error message. 2011-09-16 09:52:34 -06:00
David Maus 37db5deea5 Fix check for feature Org mode
* org-test.el: Fix check for feature Org mode.
2011-09-16 06:48:16 +02:00
Eric Schulte 7eaa67260b test the combination of code block results wrapper and type
* testing/examples/babel.org (an): Test the combination of code block
  results wrapper and type.
* testing/lisp/test-ob.el (test-org-babel/combining-scalar-and-raw-result-types):
  Test the combination of code block results wrapper and type.
2011-09-15 15:29:10 -06:00
Eric Schulte dbf0e6d5bc fixed author information
* testing/lisp/test-ob-awk.el: Fixed author information.
* testing/lisp/test-ob-fortran.el: Fixed author information.
2011-09-12 10:42:22 -06:00
Martyn Jago fd1e005e33 Add missing FSF / author headers and org-test dependency to some test files * testing/lisp/test-ob-awk.el: * testing/lisp/test-ob-fortran.el: * testing/lisp/test-ob-lilypond.el: * testing/lisp/test-ob.el: * testing/lisp/test-org-exp.el: Add missing FSF / author headers and org-test dependency to some test files. 2011-09-12 10:39:45 -06:00
Martyn Jago 7f62b224af Remove jump.el dependency from test execution * testing/org-test.el: Remove jump.el dependency from test execution removing the need for a user to install git submodules 2011-09-12 10:37:25 -06:00
Eric Schulte f1fcc592fd re-wrapped test to prevent failure during batch execution
* testing/lisp/test-ob.el (test-org-babel/inline-src-blocks):
  Re-wrapped test to prevent failure during batch execution.
2011-09-11 14:43:32 -06:00
Eric Schulte f78f29ebea all tests should now pass on Emacs23
* testing/lisp/test-ob.el (test-org-babel/org-babel-get-inline-src-block-matches):
  All tests should now pass on Emacs23.
2011-09-11 14:19:02 -06:00
Eric Schulte bae8dfed77 Better Org-mode initialization for batch tests.
Thanks to Martyn Jago for this patch.

* testing/org-test.el (org-test-dir): Better Org-mode initialization
  for batch tests.
2011-09-09 14:31:06 -06:00
Martyn Jago 8fb588d4d3 * testing/lisp/test-ob.el: Fixed typo 2011-09-09 14:31:06 -06:00
Martyn Jago bb0b9709ef * testing/lisp/test-ob.el: More tests for inline source blocks execution via org-ctrl-c-ctrl-c 2011-09-09 14:31:05 -06:00
Eric Schulte 5b98dfb644 adding function for batch test evaluation
* testing/org-test.el (org-test-run-batch-tests): Allows for batch
  evaluation of the Org-mode test suite.
2011-09-08 09:11:50 -06:00
Eric Schulte f1746a5118 test of comma stripping behavior
* testing/examples/org-exp.org: Example file for export tests.
* testing/lisp/test-org-exp.el (test-org-exp/stripping-commas): List
  file for export tests.
2011-09-06 21:58:51 -06:00
Eric Schulte f0d139adfa correctly resolving load-path in testing files
* testing/lisp/test-org.el (testing-lisp-dir): Require all files with
  load-path set.
* testing/lisp/test-ob-lob.el (expand-file-name): Relative load path.
* testing/lisp/test-ob-fortran.el (load-path): Relative load path.
2011-09-06 11:12:29 -06:00
Eric Schulte 09986fa395 commenting out single failing test
* testing/lisp/test-ob-fortran.el: Commenting out single failing test.
2011-09-06 09:09:09 -06:00
Eric Schulte 966ec3f1f1 ensure all tests have unique names
* testing/lisp/test-ob-exp.el (test-ob-exp/org-babel-exp-src-blocks/w-no-headers2):
  Renamed to be unique.
2011-09-06 09:07:00 -06:00
Eric Schulte 242a928646 removing test: shouldn't test a variables value, should test its functionality
* testing/lisp/test-ob.el (test-org-babel/get-header): Removing a
  test, shouldn't test a variables value, should test its
  functionality.
2011-09-06 08:57:10 -06:00
Martyn Jago 223ac13486 Inline source block and test fixes * lisp/ob.el: Fixed late night refactoring error * testing/examples/babel.org: whitespace * testing/lisp/test-ob.el: Fixed test-org-babel/inline-src-block-regexp (regression error) Renamed test-org-babel/parse-header-args2 since duplicate test heading Made test-org-babel/parse-header-args less brittle 2011-09-06 08:53:07 -06:00
Martyn Jago d7d052ec7c Bug fixes to inline source block execution triggering. * lisp/ob.el: Created org-babel-get-inline-src-block-matches() to fix problems with org-ctrl-c-ctrl-c not triggering inline src block execution when point is on or after a space within the inline src block body. Also fixed execution problems where inline src block is on buffer line 1. * testing/examples/babel.org: Test data for org-babel-get-inline-src-block-matches()
* testing/lisp/test-ob.el: Tests for
  org-babel-get-inline-src-block-matches()
2011-09-06 08:52:59 -06:00
Eric Schulte 14c635450a test inline src blocks
* testing/examples/babel.org (an): Adding example inline code blocks.
* testing/lisp/test-ob.el (test-org-babel/inline-src-blocks): Test
  inline code blocks.
2011-08-29 16:14:13 -06:00
Eric Schulte 63faebd64b more robust test execution with `org-test-run-all-tests'
* testing/org-test.el (org-test-touch-all-examples): Open all example
  files -- seems to help resolution of org ids.
  (org-test-run-all-tests): Open all example files before running
  tests.
2011-08-23 08:36:49 -06:00
Sergey Litvinov 55fe477899 Get rid of tmp and backup file in test load 2011-08-05 11:29:41 -06:00
Litvinov Sergey 6b6ab13810 Awk can be called with no in-file: and no :stdin 2011-07-24 14:05:55 -06:00
Litvinov Sergey c65df4aa01 ob-fortran.el: fix bug with string input, add ob-fortran tests with ert 2011-07-21 11:21:33 +02:00
Litvinov Sergey 2249abb8ad Add fortran to babel 2011-07-18 12:11:53 -06:00
Eric Schulte def5a2f567 test: updated babel tangling test to reflect body-parsing change 2011-07-15 09:31:36 -06:00
Martyn Jago 514ed6b79c ob-lilypond: more consistent behavior with other code block languages
>    Hi
>
>    I've added functionality to make ob-lilypond act in a consistent
>    org-babel way by default (think ob-dot).
>
>    The previous modus operandi is now known as arrange-mode and is
>    selected by setting ly-arrange-mode to t
>
>    More details including examples are at
>    http://github.com/mjago/ob-lilypond
2011-07-06 07:17:29 -06:00
Eric Schulte c22c904718 test: adding simple regression test for table formula evaluation 2011-07-04 12:13:41 -06:00
Eric Schulte 20401ecd6d test: small changes to ensure proper setup... passing all tests 2011-07-04 12:04:43 -06:00
Martyn Jago dacf18e80a ob-lilypond: test suite, all tests passing 2011-07-01 12:22:33 -07:00
Eric Schulte b18e0cb117 test: tests for expanding noweb references 2011-06-28 13:04:58 -07:00
Eric Schulte 8348f9cfbb test: another order of arguments test 2011-06-28 13:04:57 -07:00
Eric Schulte ef42f3cc9c ob-lob: inline calls should export even when preceeded by an "="
* lisp/ob-exp.el (org-babel-in-example-or-verbatim): Also check for in
  verbatim emphasis.
  (org-babel-exp-lob-one-liners): Cleaner checking for escaped call
  lines.
2011-06-28 13:04:57 -07:00
Eric Schulte c399484313 test: inline export of raw results 2011-06-28 13:04:57 -07:00
Eric Schulte 214acebac9 test: more tests of exporting call lines in a variety of situations 2011-06-27 11:34:00 -07:00
Eric Schulte 8d7d4428cc test: explicitly testing inline call lines at the beginning of a line 2011-06-25 17:46:57 -07:00
Eric Schulte e28cba02dd tests: ensure un-named variables are assigned in the correct order -- passing all tests 2011-06-25 15:21:02 -07:00
Eric Schulte 328202cf62 tests: more thorough testing of inline call lines -- passing all tests 2011-06-25 15:07:01 -07:00
Eric Schulte 550d24aa8e ob-tests: adding tests of new un-named arguments 2011-06-25 14:41:13 -07:00
Eric Schulte 949dd1606c ob-tests: passing all tests
fixed alignment of code and removed overly strict hashing test
2011-06-25 14:31:50 -07:00
Eric Schulte ff62c5d700 added a test for the new noweb-ref header argument, passing all tests
* testing/examples/babel.org: Example data for new test.
* testing/lisp/test-ob-tangle.el
  (ob-tangle/no-excessive-id-insertion-on-tangle): Safer to narrow,
  and less work.
  (ob-tangle/continued-code-blocks-w-noweb-ref): Testing new
  :noweb-ref header argument.
2011-06-15 21:27:58 -07:00
Eric Schulte 6fe935dd46 Adding instructions for running tests in batch mode.
This makes it easier to test multiple versions of Emacs.

* testing/README.org: Adding instructions for running tests in batch
  mode.
2011-06-14 14:37:11 -07:00
Eric Schulte 978cdf276d Babel: code block may have empty bodies, now passing all tests
* lisp/ob.el (org-babel-src-block-regexp): Babel: code block may have
  empty bodies.
* testing/lisp/test-ob-tangle.el
  (ob-tangle/no-excessive-id-insertion-on-tangle): Updated the ID.
* testing/lisp/test-ob.el (test-org-babel/src-block-regexp): Cleaned
  up the test.
  (test-org-babel/default-header-args): Removed trivial test.
  (test-org-babel/get-header): Indentation.
  (test-org-babel/sha1-hash): Updated Hash for new sorting schema.
2011-06-14 13:41:32 -07:00
Martyn Jago 38bc761e21 Modified testing/README.org to include ERT installation information for Emacs version < 24. Added new tests 2011-03-02 11:46:47 -07:00
Eric Schulte 750502e3bf ignore testing/ert, in case anyone wants to keep ert installed there
This may be useful for testers using older version of Emacs
2011-03-01 10:01:40 -07:00
Martyn Jago ed89b9cdca Changes to suit latest ert structure. ERT is now a part of EMACS and the source of the ERT git submodule is deprecated, as are some files within. Changes testing/README and .gitmodules to suit. 2011-03-01 09:59:01 -07:00
David Maus ada3ff175f Define factory function to create pre-defined link export tests
* lisp/test-org-html.el (test-org-html/export-link-alist): New
variable. Abstract link export test definition.
(test-org-html/export-link-factory): New function. Create tests for
link export.
2011-02-01 06:47:20 +01:00
David Maus 415d4fbf38 New function: Strip text properties
* org-test.el (org-test-strip-text-props): New function. Strip text
properties.
2011-02-01 06:28:34 +01:00
Bastien Guerry cf19aefc4f Add links.org to testing/examples/
This file will help test various links type and the way they are
exported in various backends.
2011-01-17 18:23:45 +01:00
David Maus 048f32d075 Provide tests for table formular format conversion
* test-org-table.el (test-org-table/org-table-convert-refs-to-rc/3)
(test-org-table/org-table-convert-refs-to-rc/2)
(test-org-table/org-table-convert-refs-to-rc/1)
(test-org-table/org-table-convert-refs-to-an/3)
(test-org-table/org-table-convert-refs-to-an/2)
(test-org-table/org-table-convert-refs-to-an/1): Provide tests for
table formular format conversion.
2011-01-11 22:07:33 +01:00
Eric Schulte 8efcd4338d adding test of error when exporting marked subtree with code blocks 2010-12-13 12:41:55 -07:00
David Maus 1b5ff1e341 Add test for escaping and unescaping url with already escaped char
* test-org.el (test-org/org-link-escape-url-with-escaped-char): Add
test for escaping and unescaping url with already escaped char.
2010-11-29 21:04:41 +01:00
Eric Schulte d24b04d82f ob: cleaner parsing of header arguments
Thanks to Charles C. Berry for insisting on this issues existence

  This change is now secured with a unit test

* lisp/ob.el (org-babel-parse-header-arguments): Stripping trailing
  spaces off of header arguments (even the first one).
2010-11-23 09:39:26 -07:00
David Maus 6de7ac6b89 New function: Run all tests for current file
* org-test.el (org-test-current-file): New function.  Run all tests
for current file.
2010-11-22 19:29:05 +01:00
David Maus 47486604a4 New tests for unicode aware percent escaping
* test-org.el (test-org/org-link-escape-ascii-character)
(test-org/org-link-escape-ascii-ctrl-character)
(test-org/org-link-escape-multibyte-character)
(test-org/org-link-escape-custom-table)
(test-org/org-link-escape-custom-table-merge)
(test-org/org-link-unescape-ascii-character)
(test-org/org-link-unescape-ascii-ctrl-character)
(test-org/org-link-unescape-multibyte-character)
(test-org/org-link-unescape-ascii-extended-char): New tests for
unicode aware percent escaping

All tests for escaping/unescaping multibyte characters are expected to
fail at the moment, because org-link-escape/unescape is not yet
unicode aware.
2010-11-21 19:51:50 +01:00
Eric Schulte 68b5ca3989 updated tests to accommodate new #+call: line header arg. pass-through 2010-11-08 14:26:47 -07:00
David Maus f99197e143 `which-function' does not return a list, but the name of the function
* org-test.el (org-test-current-defun): `which-function' does not
return a list, but the name of the function.
2010-11-02 21:11:16 +01:00
Eric Schulte 6599e17654 babel: uncomment test-ob-lob.el test which seems to have stochastic failures 2010-10-21 07:53:33 -06:00
Eric Schulte 09758a4b81 babel: updating tests 2010-10-21 07:11:27 -06:00
Eric Schulte 6fa1ae974a minor test cleanup 2010-10-21 13:06:56 +01:00
Eric Schulte e905dbe0f6 babel hashing now handles more complex types in params
* lisp/ob.el (org-babel-sha1-hash): now handles more complex types in
  params
* testing/examples/babel.org: whitespace
* testing/lisp/test-ob.el (test-org-babel/sha1-hash): new test for
  babel hashing
2010-10-21 13:06:55 +01:00
Eric Schulte fd97cb9386 ob-lob: now working with the new variable resolution setup
* lisp/ob-lob.el (org-babel-lob-execute): now expanding variable
  references before execution

* lisp/ob.el (org-babel-merge-params): better indentation, and finally
  sorted out the proper replacement of conflicting variable
  definitions
2010-10-21 13:06:00 +01:00
Eric Schulte 1412447d61 babel evaluation once again working in tables
* lisp/ob-table.el (sbe): reworking for better indentation and to
  integrate the new variable resolution
2010-10-21 13:06:00 +01:00
Eric Schulte 832dc71f31 ob-lob: now working with the new ob-get-src-block-info
ob-get-src-block-info wasn't correctly returning the name of the
  code block

* lisp/ob-lob.el (org-babel-lob-ingest): now returns the count of
  ingested code blocks

* lisp/ob.el (org-babel-get-src-block-info): walks up possible
  additional header arg lines before checking for the code block name

  (org-babel-merge-params): can now handle empty variables gracefully
2010-10-21 13:06:00 +01:00
Eric Schulte 3ab7f12792 org-test is now ready for the newyears 2010-10-21 13:06:00 +01:00
Eric Schulte 9931dae20a babel: exporting now working with the new ob-get-src-block-info schema
includes a simple export test

* lisp/ob-exp.el (org-babel-exp-in-export-file): wrapper for
  collecting information from within the original export file

  (org-babel-exp-src-blocks): simplified through use of the above
  macro

  (org-babel-exp-code): simplified through the use of new functions
  for parsing header arguments

  (org-babel-exp-results): simpler high-level organization, also this
  is now where the expansion of variable references takes place during
  export

* lisp/ob.el (org-babel-expand-variables): broke variable replacement
  in a parameter list into it's own function

  (org-babel-get-src-block-info): now using the above function
2010-10-21 13:05:59 +01:00
Eric Schulte 9ba9ef99a6 babel: now allows multi-line header arguments with #+headers: before code block
for example, from the test of this functionality
* multi-line header arguments
  :PROPERTIES:
  :ID:       b77c8857-6c76-4ea9-8a61-ddc2648d96c4
  :END:

  (map 'list #'list numbers letters)

| 1 | a |
| 2 | b |
| 3 | c |
| 4 | d |
| 5 | e |
| 6 | f |
| 7 | g |

* lisp/ob.el (org-babel-multi-line-header-regexp): new variable for
  matching header lines preceding code blocks

  (org-babel-src-name-w-name-regexp): now includes possible header
  lines between source name and code block

  (org-babel-get-src-block-info): now also collecting header arguments
  from preceding header lines

  (org-babel-src-block-names): updated match-string to reflect new
  value of org-babel-src-name-w-name-regexp

  (org-babel-merge-params): fixed error in variable string regexp
2010-10-21 13:05:59 +01:00
Eric Schulte 3d2aec3588 adding simple test of variable resolution 2010-10-21 13:05:59 +01:00
Eric Schulte a9f3c9fe11 now using newer version of jump.el -- run $ git submodule update 2010-10-21 13:05:59 +01:00
Eric Schulte c9b017632e ob-sh: no longer fails on empty results
* lisp/ob-sh.el (org-babel-sh-evaluate): no longer assumes that
  results are non-nil
2010-10-15 09:25:33 -06:00
Eric Schulte 1ff357d59f removing old testing file as it can cause errors
the file testing/org-html.el will live on in the git VC history
2010-10-15 09:15:01 -06:00
Eric Schulte d32c8d49e5 ob-tangle: only create links for blocks that will actually tangle
this commit includes a unit test

* lisp/ob-tangle.el (org-babel-tangle-collect-blocks): only create
  links for blocks that will actually tangle
2010-10-14 17:15:11 -06:00
Eric Schulte b04265eabc ob-sh: don't insert extra newlines in the beginning of the body
* lisp/ob-sh.el (org-babel-expand-body:sh): don't insert extra
  newlines in expanded shell bodies
2010-10-14 08:10:23 -06:00
Eric Schulte 38df64b4f6 tests: adding test for eval'd elisp forms in header arguments 2010-10-14 07:32:21 -06:00
Eric Schulte 19efdcca43 added tangle tests exercising new desired tangling behavior 2010-10-06 10:23:50 -06:00
Eric Schulte 462fc24cd3 typo in testing/README.org, once again, thanks Nick Dokos
* testing/README.org: type
2010-10-06 09:04:06 -06:00
Eric Schulte be42b2fb51 ensuring that test files include org-test in their load path
again thanks to Nick Dokos for pointing this out
2010-10-06 09:02:25 -06:00
Eric Schulte 25c9d74352 ensure that the testing/contrib/lisp directory is created
thanks to Nick Dokos for noticing this
2010-10-06 08:58:08 -06:00
Eric Schulte d9e4469c1c updated testing/README.org describing how to get started writing tests 2010-10-05 20:55:45 -06:00
Eric Schulte e1b90eea45 ob-exp: fixed export when headings have links, with tests
also some organization of the test directory

* lisp/ob-exp.el (org-babel-exp-src-blocks): fixed export when
  headings have links, with tests
2010-10-05 11:54:48 -06:00
Eric Schulte 41cde9d9bd test: re-arranging example files into their own directory 2010-10-05 11:54:48 -06:00
Eric Schulte d6143f1e7a added a test ensuring that export works from buffers which aren't visiting files 2010-10-05 11:54:48 -06:00
Eric Schulte 49b22bb57e more permissive selector in `org-test-run-all-tests' 2010-10-05 11:54:48 -06:00
Eric Schulte 5bafe303aa beginning tests for ob-exp, and related improvements to org-test
- fixed issue in creation of new files
  - fixed issue in org-test-in-file
  - new example file w/o any headlines
2010-10-05 11:54:48 -06:00
Eric Schulte 9bd5f511ce improving test-helper macros for better name-spaceing and more flexibility 2010-10-05 11:54:48 -06:00
Eric Schulte 271d1bb986 fixed `org-test-load' so that is recursively loads all test files 2010-10-05 11:54:48 -06:00
Eric Schulte e694d1fe39 requiring ert and jump, and using jump for navigation `org-test-jump' 2010-10-05 11:54:48 -06:00
Eric Schulte 58b0242bcb updating org-testing requires to load ert and jump.el 2010-10-05 11:54:48 -06:00
Eric Schulte 509ee52b53 adding ERT and jump.el as git submodules 2010-10-05 11:54:48 -06:00
Eric Schulte 70ee58a8ab merge ert-testing and schulte-testing, temporarily removing navigation functions 2010-10-05 11:54:48 -06:00
Sebastian Rose, Hannover, Germany 2b52d1911c Create a test file per defun.
* org-test-which-func: New function.  Find name of defun around point.

* org-test-ensure-buffer-emacs-lisp-p: New function.  Ensure a buffer
  hold an elisp file based on filename extension.
2010-10-05 11:54:48 -06:00
Sebastian Rose, Hannover, Germany 399e488146 Initial ERT test: org-test.el 2010-10-05 11:54:48 -06:00
Tom Breton (Tehom) 2db83d6a39 Moved tests into testing/ directory 2010-05-17 18:18:34 -04:00