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.
359 lines
4.8 KiB
359 lines
4.8 KiB
7 years ago
|
;; 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))
|
||
|
)
|