瀏覽代碼

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 年之前
父節點
當前提交
d5f5c77fcd
共有 2 個文件被更改,包括 34 次插入2 次删除
  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,
 BLOB is an element or object.  Return previous element or object,
 a string, or nil."
 a string, or nil."
   (let ((parent (org-export-get-parent blob)))
   (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)
 (defun org-export-get-next-element (blob)
   "Return next element or object.
   "Return next element or object.
 BLOB is an element or object.  Return next element or object,
 BLOB is an element or object.  Return next element or object,
 a string, or nil."
 a string, or nil."
   (let ((parent (org-export-get-parent blob)))
   (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))))
       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)
 (provide 'test-org-export)
 ;;; test-org-export.el end here
 ;;; test-org-export.el end here