summaryrefslogtreecommitdiff
path: root/test/pdf-util-test.el
blob: 71f2ce3f4ec10a91d705cad2bf4b27e02c593a54 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
;; -*- lexical-binding: t; -*-

;; * ================================================================== *
;; * 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)))))))