(eval-when-compile (require 'cl)) (require 'ert) (require 'ein-output-area) (defun ein:testing-insert-html--fix-urls-do-test (source desired) (setq source (ein:xml-parse-html-string source)) (setq desired (ein:xml-parse-html-string desired)) (ein:insert-html--fix-urls source 8888) (should (equal source desired))) (defmacro ein:testing-insert-html--fix-urls-deftests (args-list) `(progn ,@(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))))) (when (require 'shr nil t) (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

") )))