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