1 ;; Tests for various functions around shifting text -*- lexical-binding: t -*-
3 (add-to-list 'load-path
".")
7 (ert-deftest shift-asserts
()
8 "Check some assertions."
9 (should (equal ert-Buf-point-char
"\^@"))
10 (should (equal ert-Buf-mark-char
"\^?"))
13 (defun string-insert (s col char
)
14 "Insert CHAR at position COL in S. Return S."
16 (c (char-to-string char
)))
18 (concat s
(make-string (- col l
) ?
) c
)
19 (concat (substring s
0 col
) c
(substring s
(1+ col
))))))
22 "Wrapper to call `rst-line-tabs' creating a readable result."
23 (let ((tabs (rst-line-tabs))
27 (delete-region (point-min) (point-max))
30 (if (cdr tab
) (setq c
(+ c
(- ?a ?A
))))
31 (setq s
(string-insert s
(car tab
) c
))
35 (ert-deftest rst-line-tabs
()
36 "Tests for `rst-line-tabs'."
37 (let ((rst-indent-width 2)
39 (rst-indent-literal-normal 3)
40 (rst-indent-literal-minimized 2)
41 (rst-indent-comment 3))
42 (should (ert-equal-buffer
48 (should (ert-equal-buffer
55 (should (ert-equal-buffer
62 (should (ert-equal-buffer
69 (should (ert-equal-buffer
76 (should (ert-equal-buffer
83 (should (ert-equal-buffer
89 (should (ert-equal-buffer
95 (should (ert-equal-buffer
98 :Field: Content on same line\^@"
102 (should (ert-equal-buffer
109 (let ((rst-indent-field 0))
110 (should (ert-equal-buffer
113 :Field: Content on same line\^@"
117 (should (ert-equal-buffer
124 (should (ert-equal-buffer
127 .. dir:: Content on same line\^@"
131 (should (ert-equal-buffer
138 (should (ert-equal-buffer
141 .. |sub| dir:: Content on same line\^@"
145 (should (ert-equal-buffer
152 (should (ert-equal-buffer
155 .. [CIT] citation\^@"
159 (should (ert-equal-buffer
162 .. [#FN] Footnote\^@"
166 (should (ert-equal-buffer
173 (should (ert-equal-buffer
180 (should (ert-equal-buffer
187 (should (ert-equal-buffer
194 (should (ert-equal-buffer
201 (should (ert-equal-buffer
208 (should (ert-equal-buffer
217 (defun compute-tabs ()
218 "Wrapper to call `rst-compute-tabs' creating a readable result."
219 (let ((tabs (rst-compute-tabs (point)))
222 (delete-region (point-min) (point-max))
224 (setq s
(string-insert s tab
(+ ?A cnt
)))
228 (ert-deftest rst-compute-tabs
()
229 "Tests for `rst-compute-tabs'."
230 (let ((rst-indent-width 2)
232 (rst-indent-literal-normal 3)
233 (rst-indent-literal-minimized 2)
234 (rst-indent-comment 3))
235 (should (ert-equal-buffer
241 (should (ert-equal-buffer
249 (should (ert-equal-buffer
258 (should (ert-equal-buffer
268 (should (ert-equal-buffer
277 (should (ert-equal-buffer
286 (should (ert-equal-buffer
297 (should (ert-equal-buffer
309 (should (ert-equal-buffer
319 (should (ert-equal-buffer
328 (should (ert-equal-buffer
335 (should (ert-equal-buffer
344 (should (ert-equal-buffer
355 (should (ert-equal-buffer
358 :Field: Content on same line
363 (should (ert-equal-buffer
366 :Field: Content on same line
367 but continued differently
372 (should (ert-equal-buffer
375 :Field: Content on same line
376 but continued differently
381 (should (ert-equal-buffer
391 (should (ert-equal-buffer
394 :Field: Starts on same line
401 (should (ert-equal-buffer
404 .. dir:: Content on same line
409 (should (ert-equal-buffer
419 (should (ert-equal-buffer
429 (should (ert-equal-buffer
439 (should (ert-equal-buffer
442 .. |sub| dir:: Content on same line
447 (should (ert-equal-buffer
457 (should (ert-equal-buffer
467 (should (ert-equal-buffer
477 (should (ert-equal-buffer
489 (should (ert-equal-buffer
501 (should (ert-equal-buffer
513 (should (ert-equal-buffer
525 (should (ert-equal-buffer
537 (should (ert-equal-buffer
551 (should (ert-equal-buffer
559 (should (ert-equal-buffer
567 (should (ert-equal-buffer
577 (should (ert-equal-buffer
587 (should (ert-equal-buffer
605 (should (ert-equal-buffer
613 (should (ert-equal-buffer
623 (should (ert-equal-buffer
633 (should (ert-equal-buffer
651 (should (ert-equal-buffer
659 (should (ert-equal-buffer
668 (should (ert-equal-buffer
684 (ert-deftest rst-shift-region-right
()
685 "Tests for `rst-shift-region' to the right."
686 (let ((rst-indent-width 2)) ; Set relevant variables
687 (should (ert-equal-buffer
688 '(rst-shift-region 1)
696 (should (ert-equal-buffer
697 '(rst-shift-region 1)
705 (should (ert-equal-buffer
706 '(rst-shift-region 1)
716 (should (ert-equal-buffer
717 '(rst-shift-region 1)
729 (should (ert-equal-buffer
730 '(rst-shift-region 1)
742 (should (ert-equal-buffer
743 '(rst-shift-region 1)
757 (should (ert-equal-buffer
758 '(rst-shift-region 1)
770 (should (ert-equal-buffer
771 '(rst-shift-region 2)
785 (ert-deftest rst-shift-region-left
()
786 "Tests for `rst-shift-region' to the left."
787 (let ((rst-indent-width 2)) ; Set relevant variables
788 (should (ert-equal-buffer
789 '(rst-shift-region -
1)
801 (should (ert-equal-buffer
802 '(rst-shift-region -
1)
810 (should (ert-equal-buffer
811 '(rst-shift-region -
1)
819 (should (ert-equal-buffer
820 '(rst-shift-region -
1)
830 (should (ert-equal-buffer
831 '(rst-shift-region -
1)
843 (should (ert-equal-buffer
844 '(rst-shift-region -
1)
858 (should (ert-equal-buffer
859 '(rst-shift-region -
1)
871 (should (ert-equal-buffer
872 '(rst-shift-region 0)
886 (should (ert-equal-buffer
887 '(rst-shift-region -
1)
901 (should (ert-equal-buffer
902 '(rst-shift-region -
2)