]> code.delx.au - gnu-emacs-elpa/blob - packages/loc-changes/test/test-basic.el
0169b70672ad274e69d5d3884419e2d11f93e922
[gnu-emacs-elpa] / packages / loc-changes / test / test-basic.el
1 (require 'cl)
2 (require 'test-simple)
3 (load-file "../loc-changes.el")
4
5 (test-simple-start)
6
7 (setq sample-buffer (find-file-noselect "./sample.txt"))
8
9 (note "loc-changes-goto-line error conditions")
10 (assert-raises error (loc-changes-goto-line "foo"))
11 (message "buffer %s" (current-buffer))
12 (assert-raises error (loc-changes-goto-line "0"))
13 (assert-raises error (loc-changes-goto-line 0))
14 (assert-raises error (loc-changes-goto-line 10000))
15
16 (note "loc-changes-goto-line")
17 (save-excursion
18 (set-buffer sample-buffer)
19 (loc-changes-goto-line 5)
20 (assert-equal 5 (line-number-at-pos (point))))
21
22 (note "loc-changes-goto-line-with-column")
23 (with-current-buffer sample-buffer
24 (set-buffer sample-buffer)
25 (loc-changes-goto-line 1 3)
26 (assert-equal 1 (line-number-at-pos (point)))
27 ;; FIXME:
28 ;; (assert-equal 2 (current-column))
29 )
30
31 (note "loc-changes-goto-line-invalid-column")
32 (save-excursion
33 (set-buffer sample-buffer)
34 (loc-changes-goto-line 1 300)
35 (assert-equal 1 (line-number-at-pos (point)))
36 ;; FIXME
37 ;; (assert-equal 0 (current-column))
38 (assert-t (or
39 (not (current-message))
40 (string-match "^Column ignored." (current-message))))
41 ;; FIXME:
42 ;; (loc-changes-goto-line 2 -5)
43 ;; (assert-equal 2 (line-number-at-pos (point)))
44 ;; (assert-equal 0 (current-column))
45 ;; (assert-t (or
46 ;; (not (current-message))
47 ;; (string-match "^Column ignored." (current-message))))
48 )
49
50 (note "loc-changes-clear-buffer null")
51 (loc-changes-clear-buffer)
52 (assert-equal '() loc-changes-alist)
53
54 (note "loc-changes-add-and-goto - update")
55 (save-excursion
56 (set-buffer sample-buffer)
57 (loc-changes-add-and-goto 10)
58 (assert-equal 10 (line-number-at-pos)
59 "point should be at line 10")
60 ;; FIXME:
61 ;; (assert-t (assq 10 loc-changes-alist)
62 ;; "Should find 10 in loc-changes-alist")
63 ;; (assert-t (markerp (cdr (assq 10 loc-changes-alist)))
64 ;; "10 in loc-changes-alist should be a marker")
65 )
66
67 (note "loc-changes-goto - update")
68 (save-excursion
69 (set-buffer sample-buffer)
70 (loc-changes-goto 11)
71 (assert-equal 11 (line-number-at-pos)
72 "point should be at line 11")
73 ;; FIXME:
74 ;; (assert-t (assq 11 loc-changes-alist)
75 ;; "Should find 11 in loc-changes-alist")
76 ;; (assert-t (markerp (cdr (assq 11 loc-changes-alist)))
77 ;; "11 in loc-changes-alist should be a marker")
78 )
79
80 (note "loc-changes-goto - no update")
81 (save-excursion
82 (set-buffer sample-buffer)
83 (loc-changes-goto 12 nil 't)
84 (assert-equal 12 (line-number-at-pos)
85 "point should be at line 12")
86 (assert-nil (assq 12 loc-changes-alist)
87 "Should not find 12 in loc-changes-alist")
88 )
89
90 (end-tests)