forked from mirrors/org-mode
5313dc9d09
* 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. |
||
---|---|---|
.. | ||
contrib/lisp | ||
examples | ||
jump@820bb7d81b | ||
lisp | ||
.gitignore | ||
org-test-ob-consts.el | ||
org-test.el | ||
README |
# -*- mode:org -*- #+Title: Org-mode Testing #+Property: results silent * dependencies The only dependency is [[http://www.emacswiki.org/emacs/ErtTestLibrary][ERT]] the Emacs testing library which ships with Emacs24. If you are running an older version of Emacs and don't already have ERT installed it can be installed from its old [[https://github.com/ohler/ert][git repository]]. * non-interactive batch testing from the command line The simplest way to run the Org-mode test suite is from the command line with the following invocation. Note that the paths below are relative to the base of the Org-mode directory. #+BEGIN_SRC sh emacs -Q --batch -l lisp/org.el -l testing/org-test.el \ --eval "(progn (org-reload) (setq org-confirm-babel-evaluate nil))" \ -f org-test-run-batch-tests #+END_SRC The options in the above command are explained below. | -Q | ignores any personal configuration ensuring a vanilla Emacs instance is used | | --batch | runs Emacs in "batch" mode with no gui and termination after execution | | -l | loads Org-mode and the org mode test suite defined in testing/org-test.el | | --eval | reloads Org-mode and allows evaluation of code blocks by the tests | | -f | actually runs the tests using the `org-test-run-batch-tests' function | * interactive testing from within Emacs To run the Org-mode test suite from a current Emacs instance simply load and run the test suite with the following commands. 1) First load the test suite. #+BEGIN_SRC emacs-lisp :var here=(buffer-file-name) (add-to-list 'load-path (file-name-directory here)) (require 'org-test) #+END_SRC 2) Then run the test suite. #+BEGIN_SRC emacs-lisp (org-test-run-all-tests) #+END_SRC * troubleshooting - If the value of the =org-babel-no-eval-on-ctrl-c-ctrl-c= is non-nil then it will result in some test failure, as there are tests which rely on this behavior.