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.
 
 
 
 
 
 

888 lines
8.4 KiB

;; 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))
)