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.
584 lines
10 KiB
584 lines
10 KiB
7 years ago
|
;; Tests for functions around filling -*- lexical-binding: t -*-
|
||
|
|
||
|
(add-to-list 'load-path ".")
|
||
|
(load "init" nil t)
|
||
|
(init-rst-ert t)
|
||
|
|
||
|
(ert-deftest fill-asserts ()
|
||
|
"Check some assertions."
|
||
|
(should (equal ert-Buf-point-char "\^@"))
|
||
|
(should (equal ert-Buf-mark-char "\^?"))
|
||
|
)
|
||
|
|
||
|
(defun auto-fill ()
|
||
|
"Wrapper to do auto fill."
|
||
|
(let ((fc fill-column))
|
||
|
(rst-mode)
|
||
|
(setq fill-column fc)
|
||
|
(auto-fill-mode 1)
|
||
|
(funcall auto-fill-function)))
|
||
|
|
||
|
(ert-deftest auto-fill ()
|
||
|
"Tests for auto fill."
|
||
|
(let ((rst-indent-width 2)
|
||
|
(rst-indent-field 2)
|
||
|
(rst-indent-literal-normal 3)
|
||
|
(rst-indent-literal-minimized 2)
|
||
|
(rst-indent-comment 3)
|
||
|
(fill-column 20))
|
||
|
(should (ert-equal-buffer
|
||
|
'(auto-fill)
|
||
|
"
|
||
|
* This is a test with a fill column of 20\^@"
|
||
|
"
|
||
|
* This is a test
|
||
|
with a fill column
|
||
|
of 20\^@"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(auto-fill)
|
||
|
"
|
||
|
* This is a test
|
||
|
with a fill column of 20\^@"
|
||
|
"
|
||
|
* This is a test
|
||
|
with a fill column
|
||
|
of 20\^@"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(auto-fill)
|
||
|
"
|
||
|
:Field: Does this work for fields?\^@"
|
||
|
"
|
||
|
:Field: Does this
|
||
|
work for
|
||
|
fields?\^@"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(auto-fill)
|
||
|
"
|
||
|
:Field: Does this
|
||
|
work for fields?\^@"
|
||
|
"
|
||
|
:Field: Does this
|
||
|
work for
|
||
|
fields?\^@"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(auto-fill)
|
||
|
"
|
||
|
.. dir:: Yes, quite fine\^@"
|
||
|
"
|
||
|
.. dir:: Yes, quite
|
||
|
fine\^@"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(auto-fill)
|
||
|
"
|
||
|
.. dir:: Yes, quite fine\^@
|
||
|
:f: Field"
|
||
|
"
|
||
|
.. dir:: Yes, quite
|
||
|
fine\^@
|
||
|
:f: Field"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(auto-fill)
|
||
|
"
|
||
|
.. |s| r:: Dir ectives had problems\^@"
|
||
|
"
|
||
|
.. |s| r:: Dir
|
||
|
ectives
|
||
|
had
|
||
|
problems\^@"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(auto-fill)
|
||
|
"
|
||
|
.. |s| r:: Dir
|
||
|
ectives
|
||
|
had problems\^@"
|
||
|
"
|
||
|
.. |s| r:: Dir
|
||
|
ectives
|
||
|
had
|
||
|
problems\^@"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(auto-fill)
|
||
|
"
|
||
|
.. [CIT] X cit is citations are also filled\^@"
|
||
|
"
|
||
|
.. [CIT] X cit is
|
||
|
citations
|
||
|
are also
|
||
|
filled\^@"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(auto-fill)
|
||
|
"
|
||
|
.. [CIT] X cit is
|
||
|
citations
|
||
|
are also filled\^@"
|
||
|
"
|
||
|
.. [CIT] X cit is
|
||
|
citations
|
||
|
are also
|
||
|
filled\^@"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(auto-fill)
|
||
|
"
|
||
|
.. Comments should also fill nicely\^@"
|
||
|
"
|
||
|
.. Comments should
|
||
|
also fill nicely\^@"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(auto-fill)
|
||
|
"
|
||
|
Normal text should also fill as expected\^@"
|
||
|
"
|
||
|
Normal text should
|
||
|
also fill as
|
||
|
expected\^@"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(auto-fill)
|
||
|
"
|
||
|
Normal text should also fill as expected\^@"
|
||
|
"
|
||
|
Normal text should
|
||
|
also fill as
|
||
|
expected\^@"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(auto-fill)
|
||
|
"
|
||
|
Normal text should also fill \^@as expected"
|
||
|
"
|
||
|
Normal text should
|
||
|
also fill \^@as expected"
|
||
|
))
|
||
|
))
|
||
|
|
||
|
(defun explicit-fill ()
|
||
|
"Wrapper for `fill-paragraph'."
|
||
|
(let ((fc fill-column))
|
||
|
(rst-mode)
|
||
|
(setq fill-column fc)
|
||
|
(fill-paragraph)
|
||
|
(untabify (point-min) (point-max))))
|
||
|
|
||
|
(ert-deftest fill-paragraph ()
|
||
|
"Tests for `fill-paragraph'."
|
||
|
(let ((rst-indent-width 2)
|
||
|
(rst-indent-field 2)
|
||
|
(rst-indent-literal-normal 3)
|
||
|
(rst-indent-literal-minimized 2)
|
||
|
(rst-indent-comment 3)
|
||
|
(fill-column 20))
|
||
|
(should (ert-equal-buffer
|
||
|
'(explicit-fill)
|
||
|
"
|
||
|
* This is a test with a fill column of 20\^@
|
||
|
"
|
||
|
"
|
||
|
* This is a test
|
||
|
with a fill column
|
||
|
of 20\^@
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(explicit-fill)
|
||
|
"
|
||
|
* This is a test \^@with a fill column
|
||
|
of 20
|
||
|
"
|
||
|
"
|
||
|
* This is a test
|
||
|
\^@with a fill column
|
||
|
of 20
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(explicit-fill)
|
||
|
"
|
||
|
:Field: Does this work for fields?\^@
|
||
|
"
|
||
|
"
|
||
|
:Field: Does this
|
||
|
work for
|
||
|
fields?\^@
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(explicit-fill)
|
||
|
"
|
||
|
:Field: Does this work\^@ for
|
||
|
fields?
|
||
|
"
|
||
|
"
|
||
|
:Field: Does this
|
||
|
work\^@ for
|
||
|
fields?
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(explicit-fill)
|
||
|
"
|
||
|
.. dir:: Yes, quite fine\^@
|
||
|
"
|
||
|
"
|
||
|
.. dir:: Yes, quite
|
||
|
fine\^@
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(explicit-fill)
|
||
|
"
|
||
|
\^@.. dir:: Yes, quite
|
||
|
fine
|
||
|
"
|
||
|
"
|
||
|
\^@.. dir:: Yes, quite
|
||
|
fine
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(explicit-fill)
|
||
|
"
|
||
|
.. dir:: Yes, quite fine\^@
|
||
|
:f: Field
|
||
|
"
|
||
|
"
|
||
|
.. dir:: Yes, quite
|
||
|
fine\^@
|
||
|
:f: Field
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(explicit-fill)
|
||
|
"
|
||
|
.. [CIT] X cit is citations are also filled\^@
|
||
|
"
|
||
|
"
|
||
|
.. [CIT] X cit is
|
||
|
citations
|
||
|
are also
|
||
|
filled\^@
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(explicit-fill)
|
||
|
"
|
||
|
.. [CIT] X cit is
|
||
|
citations are also filled\^@
|
||
|
"
|
||
|
"
|
||
|
.. [CIT] X cit is
|
||
|
citations are
|
||
|
also filled\^@
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(explicit-fill)
|
||
|
"
|
||
|
.. [CIT] X cit is
|
||
|
citations are also filled\^@
|
||
|
"
|
||
|
"
|
||
|
.. [CIT] X cit is
|
||
|
citations are
|
||
|
also filled\^@
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(explicit-fill)
|
||
|
"
|
||
|
.. |s| r:: Dir ectives had problems\^@
|
||
|
"
|
||
|
"
|
||
|
.. |s| r:: Dir
|
||
|
ectives
|
||
|
had
|
||
|
problems\^@
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(explicit-fill)
|
||
|
"
|
||
|
\^@.. |s| r:: Dir ectives had problems
|
||
|
"
|
||
|
"
|
||
|
\^@.. |s| r:: Dir
|
||
|
ectives
|
||
|
had
|
||
|
problems
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(explicit-fill)
|
||
|
"
|
||
|
.. |s| r:: Dir
|
||
|
ectives had problems\^@
|
||
|
"
|
||
|
"
|
||
|
.. |s| r:: Dir
|
||
|
ectives had
|
||
|
problems\^@
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(explicit-fill)
|
||
|
"
|
||
|
Normal \^@text should also fill as expected
|
||
|
"
|
||
|
"
|
||
|
Normal \^@text should
|
||
|
also fill as
|
||
|
expected
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(explicit-fill)
|
||
|
"
|
||
|
\^@Normal text should also fill as expected
|
||
|
"
|
||
|
"
|
||
|
\^@Normal text should
|
||
|
also fill as
|
||
|
expected
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(explicit-fill)
|
||
|
"
|
||
|
Normal text should also fill as expected\^@
|
||
|
"
|
||
|
"
|
||
|
Normal text should
|
||
|
also fill as
|
||
|
expected\^@
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(explicit-fill)
|
||
|
"
|
||
|
Normal text should also fill as expected
|
||
|
|
||
|
Normal text should also fill as expected\^@
|
||
|
"
|
||
|
"
|
||
|
Normal text should also fill as expected
|
||
|
|
||
|
Normal text should
|
||
|
also fill as
|
||
|
expected\^@
|
||
|
"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(explicit-fill)
|
||
|
"
|
||
|
\^@Normal text should
|
||
|
also fill as
|
||
|
expected
|
||
|
"
|
||
|
"
|
||
|
\^@Normal text should
|
||
|
also fill as
|
||
|
expected
|
||
|
"
|
||
|
))
|
||
|
))
|
||
|
|
||
|
(ert-deftest fill-paragraph-fixme ()
|
||
|
"Tests for `fill-paragraph'."
|
||
|
:expected-result :failed
|
||
|
(let ((rst-indent-width 2)
|
||
|
(rst-indent-field 2)
|
||
|
(rst-indent-literal-normal 3)
|
||
|
(rst-indent-literal-minimized 2)
|
||
|
(rst-indent-comment 3)
|
||
|
(fill-column 20))
|
||
|
(should (ert-equal-buffer
|
||
|
'(explicit-fill)
|
||
|
"
|
||
|
\^@Normal text should
|
||
|
also fill as
|
||
|
expected
|
||
|
"
|
||
|
"
|
||
|
\^@Normal text should
|
||
|
also fill as
|
||
|
expected
|
||
|
"
|
||
|
))
|
||
|
))
|
||
|
|
||
|
(defun explicit-fill-region ()
|
||
|
"Wrapper for `fill-region'."
|
||
|
(let ((fc fill-column))
|
||
|
(rst-mode)
|
||
|
(setq fill-column fc)
|
||
|
(call-interactively 'fill-region)
|
||
|
(untabify (point-min) (point-max))))
|
||
|
|
||
|
(ert-deftest fill-region ()
|
||
|
"Tests for `fill-region'."
|
||
|
(let ((rst-indent-width 2)
|
||
|
(rst-indent-field 2)
|
||
|
(rst-indent-literal-normal 3)
|
||
|
(rst-indent-literal-minimized 2)
|
||
|
(rst-indent-comment 3)
|
||
|
(fill-column 20))
|
||
|
(should (ert-equal-buffer
|
||
|
'(explicit-fill-region)
|
||
|
"\^@
|
||
|
* This is a test with a fill column of 20
|
||
|
|
||
|
* This is a test with a fill column
|
||
|
of 20
|
||
|
|
||
|
:Field: Does this work for fields?
|
||
|
|
||
|
:Field: Does this work for
|
||
|
fields?
|
||
|
|
||
|
.. dir:: Yes, quite fine
|
||
|
|
||
|
.. dir:: Yes, quite
|
||
|
fine
|
||
|
|
||
|
.. dir:: Yes, quite fine
|
||
|
:f: Field for a directive
|
||
|
|
||
|
.. [CIT] X cit is citations are also filled
|
||
|
|
||
|
.. |s| r:: Dir ectives had problems
|
||
|
|
||
|
.. |s| r:: Dir ectives had problems
|
||
|
|
||
|
Normal text should also fill as expected
|
||
|
|
||
|
Normal text should also fill as expected
|
||
|
\^?"
|
||
|
"\^@
|
||
|
* This is a test
|
||
|
with a fill column
|
||
|
of 20
|
||
|
|
||
|
* This is a test
|
||
|
with a fill column
|
||
|
of 20
|
||
|
|
||
|
:Field: Does this
|
||
|
work for
|
||
|
fields?
|
||
|
|
||
|
:Field: Does this
|
||
|
work for
|
||
|
fields?
|
||
|
|
||
|
.. dir:: Yes, quite
|
||
|
fine
|
||
|
|
||
|
.. dir:: Yes, quite
|
||
|
fine
|
||
|
|
||
|
.. dir:: Yes, quite
|
||
|
fine
|
||
|
:f: Field for a
|
||
|
directive
|
||
|
|
||
|
.. [CIT] X cit is
|
||
|
citations
|
||
|
are also
|
||
|
filled
|
||
|
|
||
|
.. |s| r:: Dir
|
||
|
ectives
|
||
|
had
|
||
|
problems
|
||
|
|
||
|
.. |s| r:: Dir
|
||
|
ectives
|
||
|
had
|
||
|
problems
|
||
|
|
||
|
Normal text should
|
||
|
also fill as
|
||
|
expected
|
||
|
|
||
|
Normal text should
|
||
|
also fill as
|
||
|
expected
|
||
|
\^?"
|
||
|
))
|
||
|
(should (ert-equal-buffer
|
||
|
'(explicit-fill-region)
|
||
|
"\^@
|
||
|
* This is a test with a fill column of 20
|
||
|
* This is a test with a fill column
|
||
|
of 20
|
||
|
:Field: Does this work for fields?
|
||
|
:Field: Does this work for
|
||
|
fields?
|
||
|
.. dir:: Yes, quite fine
|
||
|
.. dir:: Yes, quite
|
||
|
fine
|
||
|
.. dir:: Yes, quite fine
|
||
|
:f: Field for a directive
|
||
|
.. [CIT] X cit is citations are also filled
|
||
|
.. |s| r:: Dir ectives had problems
|
||
|
.. |s| r:: Dir ectives had problems
|
||
|
|
||
|
Normal text should also fill as expected
|
||
|
|
||
|
Normal text should also fill as expected
|
||
|
\^?"
|
||
|
"\^@
|
||
|
* This is a test
|
||
|
with a fill column
|
||
|
of 20
|
||
|
* This is a test
|
||
|
with a fill column
|
||
|
of 20
|
||
|
:Field: Does this
|
||
|
work for
|
||
|
fields?
|
||
|
:Field: Does this
|
||
|
work for
|
||
|
fields?
|
||
|
.. dir:: Yes, quite
|
||
|
fine
|
||
|
.. dir:: Yes, quite
|
||
|
fine
|
||
|
.. dir:: Yes, quite
|
||
|
fine
|
||
|
:f: Field for a
|
||
|
directive
|
||
|
.. [CIT] X cit is
|
||
|
citations
|
||
|
are also
|
||
|
filled
|
||
|
.. |s| r:: Dir
|
||
|
ectives
|
||
|
had
|
||
|
problems
|
||
|
.. |s| r:: Dir
|
||
|
ectives
|
||
|
had
|
||
|
problems
|
||
|
|
||
|
Normal text should
|
||
|
also fill as
|
||
|
expected
|
||
|
|
||
|
Normal text should
|
||
|
also fill as
|
||
|
expected
|
||
|
\^?"
|
||
|
))
|
||
|
))
|