You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
358 lines
4.8 KiB
358 lines
4.8 KiB
;; Tests for font-locking code -*- lexical-binding: t -*- |
|
|
|
(add-to-list 'load-path ".") |
|
(load "init" nil t) |
|
(init-rst-ert t) |
|
|
|
(ert-deftest font-lock--asserts () |
|
"Check some assertions." |
|
(should (equal ert-Buf-point-char "\^@")) |
|
(should (equal ert-Buf-mark-char "\^?")) |
|
) |
|
|
|
(ert-deftest rst-forward-indented-block () |
|
"Tests `rst-forward-indented-block'." |
|
(should (ert-equal-buffer-return |
|
'(rst-forward-indented-block) |
|
"\^@abc" |
|
t |
|
nil)) |
|
(should (ert-equal-buffer-return |
|
'(rst-forward-indented-block) |
|
(concat " \^@abc |
|
|
|
def") |
|
(concat " abc |
|
\^@ |
|
def") |
|
7)) |
|
(should (ert-equal-buffer-return |
|
'(rst-forward-indented-block) |
|
(concat " \^@abc |
|
def") |
|
(concat " abc |
|
\^@def") |
|
7)) |
|
(should (ert-equal-buffer-return |
|
'(rst-forward-indented-block) |
|
(concat " \^@abc |
|
def |
|
ghi") |
|
(concat " abc |
|
def |
|
\^@ghi") |
|
13)) |
|
(should (ert-equal-buffer-return |
|
'(rst-forward-indented-block) |
|
(concat " \^@abc |
|
def |
|
|
|
ghi") |
|
(concat " abc |
|
def |
|
\^@ |
|
ghi") |
|
13)) |
|
(should (ert-equal-buffer-return |
|
'(rst-forward-indented-block) |
|
(concat " \^@abc |
|
|
|
def |
|
|
|
ghi") |
|
(concat " abc |
|
|
|
def |
|
\^@ |
|
ghi") |
|
14)) |
|
(should (ert-equal-buffer-return |
|
'(rst-forward-indented-block) |
|
(concat " \^@abc |
|
|
|
|
|
def |
|
|
|
|
|
ghi") |
|
(concat " abc |
|
|
|
|
|
def |
|
\^@ |
|
|
|
ghi") |
|
17)) |
|
(should (ert-equal-buffer-return |
|
'(rst-forward-indented-block) |
|
(concat " \^@abc |
|
def |
|
ghi") |
|
(concat " abc |
|
def |
|
\^@ghi") |
|
15)) |
|
(should (ert-equal-buffer-return |
|
'(rst-forward-indented-block) |
|
(concat " \^@abc |
|
|
|
def") |
|
t |
|
nil)) |
|
(should (ert-equal-buffer-return |
|
'(rst-forward-indented-block) |
|
(concat "\^@abc |
|
def |
|
ghi |
|
") |
|
t |
|
nil)) |
|
(should (ert-equal-buffer-return |
|
'(rst-forward-indented-block) |
|
(concat "abc\^@ def |
|
ghi |
|
") |
|
(concat "abc def |
|
\^@ghi |
|
") |
|
9)) |
|
(should (ert-equal-buffer-return |
|
'(rst-forward-indented-block) |
|
(concat "abc\^@ def |
|
ghi") |
|
(concat "abc def |
|
\^@ghi") |
|
9)) |
|
(should (ert-equal-buffer-return |
|
'(rst-forward-indented-block) |
|
(concat ".. \^@abc |
|
def |
|
|
|
ghi |
|
|
|
jkl |
|
") |
|
(concat ".. abc |
|
def |
|
|
|
ghi |
|
\^@ |
|
jkl |
|
") |
|
23)) |
|
) |
|
|
|
(defun extend-region (beg end) |
|
"Wrapper for `rst-font-lock-extend-region-internal'. |
|
Uses and sets region and returns t if region has been changed." |
|
(interactive "r") |
|
(let ((r (rst-font-lock-extend-region-internal beg end))) |
|
(when r |
|
(goto-char (car r)) |
|
(set-mark (cdr r)) |
|
t))) |
|
|
|
(ert-deftest rst-font-lock-extend-region-internal-indent () |
|
"Tests `rst-font-lock-extend-region-internal'." |
|
(should (ert-equal-buffer-return |
|
'(extend-region) |
|
"\^@abc\^?" |
|
t |
|
nil |
|
t)) |
|
(should (ert-equal-buffer-return |
|
'(extend-region) |
|
"\^@ abc\^?" |
|
t |
|
nil |
|
t)) |
|
(should (ert-equal-buffer-return |
|
'(extend-region) |
|
" abc |
|
\^@ def\^?" |
|
"\^@ abc |
|
def\^?" |
|
t |
|
t)) |
|
(should (ert-equal-buffer-return |
|
'(extend-region) |
|
" abc |
|
\^@ def |
|
\^? ghi |
|
uvw" |
|
"\^@ abc |
|
def |
|
ghi |
|
\^?uvw" |
|
t |
|
t)) |
|
(should (ert-equal-buffer-return |
|
'(extend-region) |
|
"xyz |
|
abc |
|
\^@ def |
|
\^? ghi" |
|
"xyz |
|
\^@abc |
|
def |
|
ghi\^?" |
|
t |
|
t)) |
|
(should (ert-equal-buffer-return |
|
'(extend-region) |
|
"xyz |
|
abc:: |
|
\^@ def |
|
\^? ghi |
|
uvw" |
|
"xyz |
|
\^@ abc:: |
|
def |
|
ghi |
|
\^?uvw" |
|
t |
|
t)) |
|
(should (ert-equal-buffer-return |
|
'(extend-region) |
|
"xyz |
|
.. abc |
|
\^@ def |
|
\^?uvw" |
|
"xyz |
|
\^@ .. abc |
|
def |
|
\^?uvw" |
|
t |
|
t)) |
|
(should (ert-equal-buffer-return |
|
'(extend-region) |
|
"xyz |
|
.. abc |
|
123 |
|
\^@ def |
|
\^? |
|
uvw" |
|
"xyz |
|
\^@ .. abc |
|
123 |
|
def |
|
\^? |
|
uvw" |
|
t |
|
t)) |
|
(should (ert-equal-buffer-return |
|
'(extend-region) |
|
"xyz |
|
|
|
.. abc |
|
|
|
123 |
|
|
|
\^@ def |
|
\^? |
|
uvw" |
|
"xyz |
|
|
|
\^@ .. abc |
|
|
|
123 |
|
|
|
def |
|
\^? |
|
uvw" |
|
t |
|
t)) |
|
) |
|
|
|
(ert-deftest rst-font-lock-extend-region-internal-adornment () |
|
"Tests `rst-font-lock-extend-region-internal'." |
|
(should (ert-equal-buffer-return |
|
'(extend-region) |
|
"\^@===\^?" |
|
t |
|
nil |
|
t)) |
|
(should (ert-equal-buffer-return |
|
'(extend-region) |
|
"abc |
|
\^@===\^?" |
|
"\^@abc |
|
===\^?" |
|
t |
|
t)) |
|
(should (ert-equal-buffer-return ; Quite complicated without the trailing newline |
|
'(extend-region) |
|
"\^@abc |
|
\^?===" |
|
t |
|
nil |
|
t)) |
|
(should (ert-equal-buffer-return |
|
'(extend-region) |
|
"\^@abc |
|
\^?=== |
|
" |
|
"\^@abc |
|
=== |
|
\^?" |
|
t |
|
t)) |
|
(should (ert-equal-buffer-return |
|
'(extend-region) |
|
"=== |
|
abc |
|
\^@=== |
|
\^?" |
|
"\^@=== |
|
abc |
|
=== |
|
\^?" |
|
t |
|
t)) |
|
(should (ert-equal-buffer-return |
|
'(extend-region) |
|
"\^@=== |
|
\^?abc |
|
=== |
|
" |
|
"\^@=== |
|
abc |
|
=== |
|
\^?" |
|
t |
|
t)) |
|
(should (ert-equal-buffer-return |
|
'(extend-region) |
|
"def |
|
|
|
=== |
|
\^@abc |
|
=== |
|
\^?" |
|
"def |
|
|
|
\^@=== |
|
abc |
|
=== |
|
\^?" |
|
t |
|
t)) |
|
(should (ert-equal-buffer-return |
|
'(extend-region) |
|
"def |
|
|
|
\^@=== |
|
abc |
|
\^?=== |
|
|
|
xyz" |
|
"def |
|
|
|
\^@=== |
|
abc |
|
=== |
|
\^? |
|
xyz" |
|
t |
|
t)) |
|
)
|
|
|