Kaynağa Gözat

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 yıl önce
ebeveyn
işleme
d5f5c77fcd
2 değiştirilmiş dosya ile 34 ekleme ve 2 silme
  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