浏览代码

Fix failing test

* testing/lisp/test-ox-publish.el (test-org-publish/resolve-external-link):
  Rewrite test to prevent race condition which could affect results.
* testing/examples/pub/b.org: Add missing keyword.
Nicolas Goaziou 7 年之前
父节点
当前提交
ee3a9e9a77
共有 2 个文件被更改,包括 21 次插入16 次删除
  1. 3 0
      testing/examples/pub/b.org
  2. 18 16
      testing/lisp/test-ox-publish.el

+ 3 - 0
testing/examples/pub/b.org

@@ -2,5 +2,8 @@
 #+date: <2012-03-29 Thu>
 
 * Headline1
+:PROPERTIES:
+:CUSTOM_ID: b1
+:END:
 
 [[file:a.org::#a1]]

+ 18 - 16
testing/lisp/test-ox-publish.el

@@ -366,27 +366,29 @@ Unless set otherwise in PROPERTIES, `:base-directory' is set to
   ;; instead of internal reference, whenever possible.
   (should
    (equal
-    "a1"
+    '("a1" "b1")
     (let* ((ids nil)
+	   (link-transcoder
+	    (lambda (l c i)
+	      (let ((option (org-element-property :search-option l))
+		    (path (org-element-property :path l)))
+		(push (org-publish-resolve-external-link option path t)
+		      ids)
+		"")))
 	   (backend
 	    (org-export-create-backend
-	     :transcoders
-	     '((headline . (lambda (h c i) c))
-	       (paragraph . (lambda (p c i) c))
-	       (section . (lambda (s c i) c))
-	       (link . (lambda (l c i)
-			 (let ((option (org-element-property :search-option l))
-			       (path (org-element-property :path l)))
-			   (when option
-			     (throw :exit (org-publish-resolve-external-link
-					   option path t)))))))))
+	     :transcoders `((headline . (lambda (h c i) c))
+			    (paragraph . (lambda (p c i) c))
+			    (section . (lambda (s c i) c))
+			    (link . ,link-transcoder))))
 	   (publish
 	    (lambda (plist filename pub-dir)
-	      (push (catch :exit
-		      (org-publish-org-to backend filename ".test" plist pub-dir))
-		    ids))))
-      (org-test-publish (list :publishing-function (list publish)) #'ignore)
-      (car ids)))))
+	      (org-publish-org-to backend filename ".test" plist pub-dir))))
+      (org-test-publish (list :publishing-function (list publish)
+			      :exclude "."
+			      :include '("a.org" "b.org"))
+	#'ignore)
+      (sort ids #'string<)))))
 
 
 ;;; Tools