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.
889 lines
8.4 KiB
889 lines
8.4 KiB
7 years ago
|
;; Tests for various movement commands -*- lexical-binding: t -*-
|
||
|
|
||
|
(add-to-list 'load-path ".")
|
||
|
(load "init" nil t)
|
||
|
(init-rst-ert t)
|
||
|
|
||
|
(ert-deftest movement-asserts ()
|
||
|
"Check some assertions."
|
||
|
(should (equal ert-Buf-point-char "\^@"))
|
||
|
(should (equal ert-Buf-mark-char "\^?"))
|
||
|
)
|
||
|
|
||
|
(defun fwd-para ()
|
||
|
"Wrapper to call `forward-paragraph'."
|
||
|
(rst-mode)
|
||
|
(forward-paragraph))
|
||
|
|
||
|
(ert-deftest forward-paragraph ()
|
||
|
"Tests for `forward-paragraph'."
|
||
|
(should (ert-equal-buffer-return
|
||
|
'(fwd-para)
|
||
|
"
|
||
|
:Field: Content
|
||
|
\^@
|
||
|
More content
|
||
|
over several
|
||
|
|
||
|
* An item
|
||
|
with multi
|
||
|
"
|
||
|
"
|
||
|
:Field: Content
|
||
|
|
||
|
More content
|
||
|
over several
|
||
|
\^@
|
||
|
* An item
|
||
|
with multi
|
||
|
"
|
||
|
0
|
||
|
))
|
||
|
|
||
|
|
||
|
(should (ert-equal-buffer-return
|
||
|
'(fwd-para)
|
||
|
"\^@
|
||
|
This is
|
||
|
a short
|
||
|
para"
|
||
|
"
|
||
|
This is
|
||
|
a short
|
||
|
para\^@"
|
||
|
0
|
||
|
))
|
||
|
(should (ert-equal-buffer-return
|
||
|
'(fwd-para)
|
||
|
"\^@
|
||
|
This is
|
||
|
a short
|
||
|
para
|
||
|
"
|
||
|
"
|
||
|
This is
|
||
|
a short
|
||
|
para
|
||
|
\^@"
|
||
|
0
|
||
|
))
|
||
|
(should (ert-equal-buffer-return
|
||
|
'(fwd-para)
|
||
|
"\^@
|
||
|
This is
|
||
|
a short
|
||
|
para
|
||
|
|
||
|
"
|
||
|
"
|
||
|
This is
|
||
|
a short
|
||
|
para
|
||
|
\^@
|
||
|
"
|
||
|
0
|
||
|
))
|
||
|
(should (ert-equal-buffer-return
|
||
|
'(fwd-para)
|
||
|
"\^@
|
||
|
This is
|
||
|
a short
|
||
|
para
|
||
|
|
||
|
|
||
|
"
|
||
|
"
|
||
|
This is
|
||
|
a short
|
||
|
para
|
||
|
\^@
|
||
|
|
||
|
"
|
||
|
0
|
||
|
))
|
||
|
(should (ert-equal-buffer-return
|
||
|
'(fwd-para)
|
||
|
"
|
||
|
\^@This is
|
||
|
a short
|
||
|
para
|
||
|
|
||
|
"
|
||
|
"
|
||
|
This is
|
||
|
a short
|
||
|
para
|
||
|
\^@
|
||
|
"
|
||
|
0
|
||
|
))
|
||
|
(should (ert-equal-buffer-return
|
||
|
'(fwd-para)
|
||
|
"
|
||
|
This is
|
||
|
a short
|
||
|
\^@para
|
||
|
|
||
|
"
|
||
|
"
|
||
|
This is
|
||
|
a short
|
||
|
para
|
||
|
\^@
|
||
|
"
|
||
|
0
|
||
|
))
|
||
|
(should (ert-equal-buffer-return
|
||
|
'(fwd-para)
|
||
|
"
|
||
|
This is
|
||
|
a short
|
||
|
\^@para
|
||
|
|
||
|
"
|
||
|
"
|
||
|
This is
|
||
|
a short
|
||
|
para
|
||
|
\^@
|
||
|
"
|
||
|
0
|
||
|
))
|
||
|
(should (ert-equal-buffer-return
|
||
|
'(fwd-para)
|
||
|
"
|
||
|
This is
|
||
|
\^@a short
|
||
|
para
|
||
|
|
||
|
"
|
||
|
"
|
||
|
This is
|
||
|
a short
|
||
|
para
|
||
|
\^@
|
||
|
"
|
||
|
0
|
||
|
))
|
||
|
(should (ert-equal-buffer-return
|
||
|
'(fwd-para)
|
||
|
"
|
||
|
This is
|
||
|
a short
|
||
|
\^@para
|
||
|
|
||
|
This is
|
||
|
a short
|
||
|
para
|
||
|
|
||
|
"
|
||
|
"
|
||
|
This is
|
||
|
a short
|
||
|
para
|
||
|
\^@
|
||
|
This is
|
||
|
a short
|
||
|
para
|
||
|
|
||
|
"
|
||
|
0
|
||
|
))
|
||
|
(should (ert-equal-buffer-return
|
||
|
'(fwd-para)
|
||
|
"
|
||
|
\^@* An item
|
||
|
|
||
|
* Another item
|
||
|
"
|
||
|
"
|
||
|
* An item
|
||
|
\^@
|
||
|
* Another item
|
||
|
"
|
||
|
0
|
||
|
))
|
||
|
(should (ert-equal-buffer-return
|
||
|
'(fwd-para)
|
||
|
"
|
||
|
\^@* An item
|
||
|
* Another item
|
||
|
"
|
||
|
"
|
||
|
* An item
|
||
|
\^@* Another item
|
||
|
"
|
||
|
0
|
||
|
))
|
||
|
(should (ert-equal-buffer-return
|
||
|
'(fwd-para)
|
||
|
"
|
||
|
\^@:Field: Content
|
||
|
|
||
|
More content
|
||
|
over several
|
||
|
|
||
|
* An item
|
||
|
with multi
|
||
|
"
|
||
|
"
|
||
|
:Field: Content
|
||
|
\^@
|
||
|
More content
|
||
|
over several
|
||
|
|
||
|
* An item
|
||
|
with multi
|
||
|
"
|
||
|
0
|
||
|
))
|
||
|
(should (ert-equal-buffer-return
|
||
|
'(fwd-para)
|
||
|
"
|
||
|
:Field: Content
|
||
|
\^@
|
||
|
More content
|
||
|
over several
|
||
|
|
||
|
* An item
|
||
|
with multi
|
||
|
"
|
||
|
"
|
||
|
:Field: Content
|
||
|
|
||
|
More content
|
||
|
over several
|
||
|
\^@
|
||
|
* An item
|
||
|
with multi
|
||
|
"
|
||
|
0
|
||
|
))
|
||
|
(should (ert-equal-buffer-return
|
||
|
'(fwd-para)
|
||
|
"
|
||
|
:Field: Content
|
||
|
|
||
|
More content
|
||
|
over several
|
||
|
\^@
|
||
|
* An item
|
||
|
with multi
|
||
|
"
|
||
|
"
|
||
|
:Field: Content
|
||
|
|
||
|
More content
|
||
|
over several
|
||
|
|
||
|
* An item
|
||
|
with multi
|
||
|
\^@"
|
||
|
0
|
||
|
))
|
||
|
(should (ert-equal-buffer-return
|
||
|
'(fwd-para)
|
||
|
"\^@
|
||
|
.. |s| d::
|
||
|
:F: Content
|
||
|
|
||
|
More content
|
||
|
over several
|
||
|
* An item
|
||
|
with multi
|
||
|
"
|
||
|
"
|
||
|
.. |s| d::
|
||
|
\^@ :F: Content
|
||
|
|
||
|
More content
|
||
|
over several
|
||
|
* An item
|
||
|
with multi
|
||
|
"
|
||
|
0
|
||
|
))
|
||
|
(should (ert-equal-buffer-return
|
||
|
'(fwd-para)
|
||
|
"
|
||
|
.. |s| d::
|
||
|
\^@ :F: Content
|
||
|
|
||
|
More content
|
||
|
over several
|
||
|
* An item
|
||
|
with multi
|
||
|
"
|
||
|
"
|
||
|
.. |s| d::
|
||
|
:F: Content
|
||
|
\^@
|
||
|
More content
|
||
|
over several
|
||
|
* An item
|
||
|
with multi
|
||
|
"
|
||
|
0
|
||
|
))
|
||
|
(should (ert-equal-buffer-return
|
||
|
'(fwd-para)
|
||
|
"
|
||
|
.. |s| d::
|
||
|
:F: Content
|
||
|
\^@
|
||
|
More content
|
||
|
over several
|
||
|
* An item
|
||
|
with multi
|
||
|
"
|
||
|
"
|
||
|
.. |s| d::
|
||
|
:F: Content
|
||
|
|
||
|
More content
|
||
|
over several
|
||
|
\^@ * An item
|
||
|
with multi
|
||
|
"
|
||
|
0
|
||
|
))
|
||
|
(should (ert-equal-buffer-return
|
||
|
'(fwd-para)
|
||
|
"
|
||
|
.. |s| d::
|
||
|
:F: Content
|
||
|
|
||
|
More content
|
||
|
over several
|
||
|
\^@ * An item
|
||
|
with multi
|
||
|
"
|
||
|
"
|
||
|
.. |s| d::
|
||
|
:F: Content
|
||
|
|
||
|
More content
|
||
|
over several
|
||
|
* An item
|
||
|
with multi
|
||
|
\^@"
|
||
|
0
|
||
|
))
|
||
|
)
|
||
|
|
||
|
(ert-deftest rst-forward-section ()
|
||
|
"Tests for `rst-forward-section'."
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section -1)
|
||
|
"
|
||
|
========
|
||
|
\^@Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
"
|
||
|
"\^@
|
||
|
========
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section 1)
|
||
|
"\^@"
|
||
|
"\^@"))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section 1)
|
||
|
"
|
||
|
Some text\^@
|
||
|
|
||
|
More text
|
||
|
"
|
||
|
"
|
||
|
Some text
|
||
|
|
||
|
More text
|
||
|
\^@"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section 1)
|
||
|
"
|
||
|
Some text
|
||
|
|
||
|
More text
|
||
|
\^@"
|
||
|
"
|
||
|
Some text
|
||
|
|
||
|
More text
|
||
|
\^@"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section -1)
|
||
|
"
|
||
|
Some text
|
||
|
|
||
|
More text
|
||
|
\^@"
|
||
|
"\^@
|
||
|
Some text
|
||
|
|
||
|
More text
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section 1)
|
||
|
"
|
||
|
\^@Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
"
|
||
|
"
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
\^@"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section 1)
|
||
|
"
|
||
|
Header 1\^@
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
"
|
||
|
"
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
\^@"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section 1)
|
||
|
"
|
||
|
Header 1
|
||
|
===\^@=====
|
||
|
|
||
|
Some text
|
||
|
"
|
||
|
"
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
\^@"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section 1)
|
||
|
"
|
||
|
Header 1\^@
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
"
|
||
|
"
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
\^@Header 2
|
||
|
========
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section 1)
|
||
|
"
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
\^@Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
"
|
||
|
"
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
\^@Header 2
|
||
|
========
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section 1)
|
||
|
"
|
||
|
Header 1
|
||
|
========\^@
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
"
|
||
|
"
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
\^@Header 2
|
||
|
========
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section 1)
|
||
|
"
|
||
|
========
|
||
|
\^@Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
"
|
||
|
"
|
||
|
========
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
\^@Header 2
|
||
|
========
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section 1)
|
||
|
"
|
||
|
\^@========
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
"
|
||
|
"
|
||
|
========
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
\^@Header 2
|
||
|
========
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section -1)
|
||
|
"
|
||
|
========
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
\^@Header 2
|
||
|
========
|
||
|
"
|
||
|
"
|
||
|
========
|
||
|
\^@Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
"
|
||
|
))
|
||
|
|
||
|
; ****
|
||
|
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section 2)
|
||
|
"\^@
|
||
|
========
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
"
|
||
|
"
|
||
|
========
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
\^@Header 2
|
||
|
========
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section 3)
|
||
|
"
|
||
|
========
|
||
|
\^@Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
|
||
|
Header 3
|
||
|
========
|
||
|
|
||
|
Header 4
|
||
|
========
|
||
|
"
|
||
|
"
|
||
|
========
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
|
||
|
Header 3
|
||
|
========
|
||
|
|
||
|
\^@Header 4
|
||
|
========
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section 3)
|
||
|
"\^@
|
||
|
========
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
"
|
||
|
"
|
||
|
========
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
\^@"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section 0)
|
||
|
"
|
||
|
========
|
||
|
Header 1\^@
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
"
|
||
|
"
|
||
|
========
|
||
|
\^@Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section 0)
|
||
|
"
|
||
|
========\^@
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
"
|
||
|
"
|
||
|
========
|
||
|
\^@Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section 0)
|
||
|
"
|
||
|
========
|
||
|
Header 1
|
||
|
========\^@
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
"
|
||
|
"
|
||
|
========
|
||
|
\^@Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section 0)
|
||
|
"
|
||
|
========
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text\^@
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
"
|
||
|
"
|
||
|
========
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text\^@
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section -)
|
||
|
"
|
||
|
========
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
\^@Header 2
|
||
|
========
|
||
|
"
|
||
|
"
|
||
|
========
|
||
|
\^@Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
"
|
||
|
t))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section nil)
|
||
|
"
|
||
|
========
|
||
|
\^@Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
"
|
||
|
"
|
||
|
========
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
\^@Header 2
|
||
|
========
|
||
|
"
|
||
|
t
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-forward-section (4))
|
||
|
"\^@
|
||
|
========
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
"
|
||
|
"
|
||
|
========
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
\^@"
|
||
|
t))
|
||
|
(should (ert-equal-buffer
|
||
|
'(rst-backward-section nil)
|
||
|
"
|
||
|
========
|
||
|
Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
\^@Header 2
|
||
|
========
|
||
|
"
|
||
|
"
|
||
|
========
|
||
|
\^@Header 1
|
||
|
========
|
||
|
|
||
|
Some text
|
||
|
|
||
|
Header 2
|
||
|
========
|
||
|
"
|
||
|
t))
|
||
|
)
|