blob: 4a4a74be749b1aed0d72c637dbeec1e2ce083e92 (
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
;; -*- lexical-binding: t -*-
(require 'pdf-view)
(require 'ert)
;; Tests for pdf-view-register struct and cl-defmethod implementations.
;; These tests use mock bookmark data because the actual pdf-view-registerv-make
;; function requires a window context which isn't available in batch mode.
(ert-deftest pdf-view-register-struct-creation ()
"Test that pdf-view-register struct can be created."
(let* ((mock-bookmark '("test.pdf"
(filename . "/path/to/test.pdf")
(page . 1)
(origin . (0.0 . 0.0))
(handler . pdf-view-bookmark-jump-handler)))
(reg (pdf-view-register--make mock-bookmark)))
;; Should return non-nil
(should reg)
;; Should be a pdf-view-register struct
(should (pdf-view-register-p reg))
;; Should store the bookmark
(should (equal (pdf-view-register-bookmark reg) mock-bookmark))))
(ert-deftest pdf-view-register-val-describe ()
"Test that register-val-describe works for PDF register entries."
(let* ((mock-bookmark '("test.pdf"
(filename . "/path/to/test.pdf")
(page . 5)
(origin . (0.0 . 0.5))
(handler . pdf-view-bookmark-jump-handler)))
(reg (pdf-view-register--make mock-bookmark)))
;; register-val-describe should return a non-empty string
(should (stringp
(with-output-to-string
(register-val-describe reg nil))))
;; The description should mention the page number
(should (string-match-p "page 5"
(with-output-to-string
(register-val-describe reg nil))))))
(ert-deftest pdf-view-register-val-insert ()
"Test that register-val-insert works for PDF register entries."
(let* ((mock-bookmark '("test.pdf"
(filename . "/path/to/test.pdf")
(page . 1)
(handler . pdf-view-bookmark-jump-handler)))
(reg (pdf-view-register--make mock-bookmark)))
;; register-val-insert should insert text without error
(with-temp-buffer
(register-val-insert reg)
(should (> (buffer-size) 0)))))
(ert-deftest pdf-view-handle-archived-file ()
:expected-result :failed
(skip-unless (executable-find "gzip"))
(let ((tramp-verbose 0)
(temp
(make-temp-file "pdf-test")))
(unwind-protect
(progn
(copy-file "test.pdf" temp t)
(call-process "gzip" nil nil nil temp)
(setq temp (concat temp ".gz"))
(should (numberp (pdf-info-number-of-pages temp)))))
(when (file-exists-p temp)
(delete-file temp))))
|