فهرست منبع

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