Просмотр исходного кода

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 лет назад
Родитель
Сommit
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