From 69422d4435ba3731f52a8dce59e839c2ddca2559 Mon Sep 17 00:00:00 2001 From: Andreas Politz Date: Fri, 13 Feb 2015 00:07:57 +0100 Subject: Adde more tests. * test/pdf-util.ert: * test/pdf-sync.ert: --- test/pdf-sync.ert | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ test/pdf-util.ert | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 test/pdf-sync.ert create mode 100644 test/pdf-util.ert diff --git a/test/pdf-sync.ert b/test/pdf-sync.ert new file mode 100644 index 0000000..544f99b --- /dev/null +++ b/test/pdf-sync.ert @@ -0,0 +1,50 @@ + + +;; * ================================================================== * +;; * Tests for pdf-sync.el +;; * ================================================================== * + +(require 'ert) +(require 'pdf-sync) + +(ert-deftest pdf-sync-backward--source-strip-comments () + (should-not (cl-remove-if + (lambda (ch) + (memq ch '(?\\ ?\s ?\n))) + (append (pdf-sync-backward--source-strip-comments + (concat "%comment\n" + " %comment\n" + "\\\\%comment\n" + "\\\\ %comment\n" + " \\\\ %comment\n" + " \\\\%comment\n")) + nil))) + (let ((source (concat "\\%comment\n" + " \\%comment\n" + "\\ %comment\n" + " \\ %comment\n" + " \\%comment\n"))) + (should (equal (pdf-sync-backward--source-strip-comments source) + source)))) + +(ert-deftest pdf-sync-backward--get-text-context () + (pdf-test-with-test-pdf + (should (= 3 (length (pdf-sync-backward--get-text-context 1 0.5 0.25)))) + ;; Empty page + (should (equal '(-1 0 nil) + (pdf-sync-backward--get-text-context 6 0.5 0.5))))) + +(ert-deftest pdf-sync-backward--get-source-context () + (with-temp-buffer + (should-not (pdf-sync-backward--get-source-context)) + (insert "\\begin{foo}\nsource\n\\end{foo}") + (should (cl-every 'stringp (pdf-sync-backward--get-source-context))))) + +(ert-deftest pdf-sync-backward--find-position () + (let ((context '(3 2 ("000" "1111" "222222" "333333" "4444" "55555"))) + (prefix "000 XXXX 222222 YYYY 333") + (suffix "333 4444 XXXX")) + (with-temp-buffer + (insert prefix suffix) + (should (progn (pdf-sync-backward--find-position 1 -1 context) + (eq (length prefix) (point))))))) diff --git a/test/pdf-util.ert b/test/pdf-util.ert new file mode 100644 index 0000000..2136e45 --- /dev/null +++ b/test/pdf-util.ert @@ -0,0 +1,44 @@ + + +;; * ================================================================== * +;; * Tests for pdf-util.el +;; * ================================================================== * + +(require 'ert) + +(ert-deftest pdf-util-seq-alignment () + (let ((s1 '(?a ?b ?c)) + (s2 '(?a ?b ?c ?d)) + (s3 '(-1 ?a ?b ?c)) + (s4 '(?e ?f ?g)) + (s5 '(?A ?B ?C)) + (s6 '(?b))) + (should (equal '(2 . ((?a . ?a) (?b . ?b) (?c . ?c) (nil . ?d))) + (pdf-util-seq-alignment s1 s2))) + + (should (equal '(3 . ((?a . ?a) (?b . ?b) (?c . ?c) (nil . ?d))) + (pdf-util-seq-alignment s1 s2 nil 'prefix))) + + (should (equal '(3 . ((nil . -1) (?a . ?a) (?b . ?b) (?c . ?c))) + (pdf-util-seq-alignment s1 s3 nil 'suffix))) + + (should (equal '(3 . ((nil . -1) (?a . ?a) (?b . ?b) (?c . ?c))) + (pdf-util-seq-alignment s1 s3 nil 'infix))) + + (should (equal '(1 . ((nil . ?a) (?b . ?b) (nil . ?c))) + (pdf-util-seq-alignment s6 s1 nil 'infix))) + + (should (equal '(-3 . ((?a . ?e) (?b . ?f) (?c . ?g))) + (pdf-util-seq-alignment s1 s4 nil))) + + (should (equal '(3 . ((?a . ?e) (?b . ?f) (?c . ?g))) + (pdf-util-seq-alignment + s1 s4 (lambda (a b) 1)))) + (should (equal '(3 . ((?A . ?a) (?B . ?b) (?C . ?c))) + (pdf-util-seq-alignment + s5 s1 (lambda (a b) + (if (equal (downcase a) + (downcase b)) + 1 + -1))))))) + -- cgit v1.0