(eval-when-compile (require 'cl)) (require 'ert) (require 'ein-output-area) (defun ein:testing-insert-html--fix-urls-do-test (source desired) (let ((s (ein:xml-parse-html-string source)) (d (ein:xml-parse-html-string desired))) (ein:insert-html--fix-urls s 8888) (should (equal s d)))) (defmacro ein:testing-insert-html--fix-urls-deftests (args-list) `(progn ,@(cl-loop for i from 0 for args in args-list for test = (intern (format "ein:insert-html--fix-urls/%s" i)) collect `(ert-deftest ,test () (ein:testing-insert-html--fix-urls-do-test ,@args))))) (ein:testing-insert-html--fix-urls-deftests (;; Simple replaces ("text" "text") ("text" "text") ("" "") ("" "") ;; Do not modify dom in these cases: ("text" "text") ("text" "text") ("" "") ;; Bit more complicated cases: ("

link normal

" "

link normal

") (" normal

" " normal

")))