Browse Source

org-export: Small refactoring

* contrib/lisp/org-export.el (org-export-get-previous-element,
  org-export-get-next-element): Small refactoring.
* testing/lisp/test-org-export.el: Add tests.
Nicolas Goaziou 13 years ago
parent
commit
d5f5c77fcd
2 changed files with 34 additions and 2 deletions
  1. 2 2
      contrib/lisp/org-export.el
  2. 32 0
      testing/lisp/test-org-export.el

+ 2 - 2
contrib/lisp/org-export.el

@@ -4010,14 +4010,14 @@ OBJECT is either a `table-cell' or `table-element' type object."
 BLOB is an element or object.  Return previous element or object,
 a string, or nil."
   (let ((parent (org-export-get-parent blob)))
-    (cadr (member blob (reverse (org-element-contents parent))))))
+    (cadr (memq blob (reverse (org-element-contents parent))))))
 
 (defun org-export-get-next-element (blob)
   "Return next element or object.
 BLOB is an element or object.  Return next element or object,
 a string, or nil."
   (let ((parent (org-export-get-parent blob)))
-    (cadr (member blob (org-element-contents parent)))))
+    (cadr (memq blob (org-element-contents parent)))))
 
 
 

+ 32 - 0
testing/lisp/test-org-export.el

@@ -1577,5 +1577,37 @@ Another text. (ref:text)
       info))))
 
 
+
+;;; Topology
+
+(ert-deftest test-org-export/get-next-element ()
+  "Test `org-export-get-next-element' specifications."
+  ;; Standard test.
+  (should
+   (equal "b"
+	  (org-test-with-parsed-data "* Headline\n*a* b"
+	    (org-export-get-next-element
+	     (org-element-map tree 'bold 'identity info t)))))
+  ;; Return nil when no previous element.
+  (should-not
+   (org-test-with-parsed-data "* Headline\na *b*"
+     (org-export-get-next-element
+      (org-element-map tree 'bold 'identity info t)))))
+
+(ert-deftest test-org-export/get-previous-element ()
+  "Test `org-export-get-previous-element' specifications."
+  ;; Standard test.
+  (should
+   (equal "a "
+	  (org-test-with-parsed-data "* Headline\na *b*"
+	    (org-export-get-previous-element
+	     (org-element-map tree 'bold 'identity info t)))))
+  ;; Return nil when no previous element.
+  (should-not
+   (org-test-with-parsed-data "* Headline\n*a* b"
+     (org-export-get-previous-element
+      (org-element-map tree 'bold 'identity info t)))))
+
+
 (provide 'test-org-export)
 ;;; test-org-export.el end here