Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
207f235e
Commit
207f235e
authored
Oct 24, 2015
by
Artur Malabarba
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* test/automated/simple-test.el: New file
Define tests for `newline' and `open-line'.
parent
bd4f04f8
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
183 additions
and
0 deletions
+183
-0
test/automated/simple-test.el
test/automated/simple-test.el
+183
-0
No files found.
test/automated/simple-test.el
0 → 100644
View file @
207f235e
;;; simple-test.el --- Tests for simple.el -*- lexical-binding: t; -*-
;; Copyright (C) 2015 Free Software Foundation, Inc.
;; Author: Artur Malabarba <bruce.connor.am@gmail.com>
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;; Code:
(
require
'ert
)
(
defmacro
simple-test--dummy-buffer
(
&rest
body
)
(
declare
(
indent
0
)
(
debug
t
))
`
(
with-temp-buffer
(
emacs-lisp-mode
)
(
insert
"(a b"
)
(
save-excursion
(
insert
" c d)"
))
,@
body
(
cons
(
buffer-substring
(
point-min
)
(
point
))
(
buffer-substring
(
point
)
(
point-max
)))))
;;; `newline'
(
ert-deftest
newline
()
(
should-error
(
newline
-1
))
(
should
(
equal
(
simple-test--dummy-buffer
(
newline
1
))
'
(
"(a b\n"
.
" c d)"
)))
(
should
(
equal
(
simple-test--dummy-buffer
(
electric-indent-mode
-1
)
(
call-interactively
#'
newline
))
'
(
"(a b\n"
.
" c d)"
)))
(
should
(
equal
(
simple-test--dummy-buffer
(
let
((
current-prefix-arg
5
))
(
call-interactively
#'
newline
)))
'
(
"(a b\n\n\n\n\n"
.
" c d)"
)))
(
should
(
equal
(
simple-test--dummy-buffer
(
newline
5
))
'
(
"(a b\n\n\n\n\n"
.
" c d)"
)))
(
should
(
equal
(
simple-test--dummy-buffer
(
forward-char
1
)
(
newline
1
))
'
(
"(a b \n"
.
"c d)"
))))
(
ert-deftest
newline-indent
()
(
should
(
equal
(
simple-test--dummy-buffer
(
electric-indent-local-mode
1
)
(
newline
1
))
'
(
"(a b\n"
.
" c d)"
)))
(
should
(
equal
(
simple-test--dummy-buffer
(
electric-indent-local-mode
1
)
(
newline
1
'interactive
))
'
(
"(a b\n "
.
"c d)"
)))
(
should
(
equal
(
simple-test--dummy-buffer
(
electric-indent-local-mode
1
)
(
let
((
current-prefix-arg
nil
))
(
call-interactively
#'
newline
)
(
call-interactively
#'
newline
)))
'
(
"(a b\n\n "
.
"c d)"
)))
(
should
(
equal
(
simple-test--dummy-buffer
(
electric-indent-local-mode
1
)
(
newline
5
'interactive
))
'
(
"(a b\n\n\n\n\n "
.
"c d)"
)))
(
should
(
equal
(
simple-test--dummy-buffer
(
electric-indent-local-mode
1
)
(
let
((
current-prefix-arg
5
))
(
call-interactively
#'
newline
)))
'
(
"(a b\n\n\n\n\n "
.
"c d)"
)))
(
should
(
equal
(
simple-test--dummy-buffer
(
forward-char
1
)
(
electric-indent-local-mode
1
)
(
newline
1
'interactive
))
'
(
"(a b\n "
.
"c d)"
))))
;;; `open-line'
(
ert-deftest
open-line
()
(
should-error
(
open-line
-1
))
(
should-error
(
open-line
))
(
should
(
equal
(
simple-test--dummy-buffer
(
open-line
1
))
'
(
"(a b"
.
"\n c d)"
)))
(
should
(
equal
(
simple-test--dummy-buffer
(
electric-indent-mode
-1
)
(
call-interactively
#'
open-line
))
'
(
"(a b"
.
"\n c d)"
)))
(
should
(
equal
(
simple-test--dummy-buffer
(
let
((
current-prefix-arg
5
))
(
call-interactively
#'
open-line
)))
'
(
"(a b"
.
"\n\n\n\n\n c d)"
)))
(
should
(
equal
(
simple-test--dummy-buffer
(
open-line
5
))
'
(
"(a b"
.
"\n\n\n\n\n c d)"
)))
(
should
(
equal
(
simple-test--dummy-buffer
(
forward-char
1
)
(
open-line
1
))
'
(
"(a b "
.
"\nc d)"
))))
(
ert-deftest
open-line-margin-and-prefix
()
(
should
(
equal
(
simple-test--dummy-buffer
(
let
((
left-margin
10
))
(
open-line
3
)))
'
(
"(a b"
.
"\n\n\n c d)"
)))
(
should
(
equal
(
simple-test--dummy-buffer
(
forward-line
0
)
(
let
((
left-margin
2
))
(
open-line
1
)))
'
(
" "
.
"\n (a b c d)"
)))
(
should
(
equal
(
simple-test--dummy-buffer
(
let
((
fill-prefix
"- - "
))
(
open-line
1
)))
'
(
"(a b"
.
"\n c d)"
)))
(
should
(
equal
(
simple-test--dummy-buffer
(
forward-line
0
)
(
let
((
fill-prefix
"- - "
))
(
open-line
1
)))
'
(
"- - "
.
"\n(a b c d)"
))))
(
ert-deftest
open-line-indent
()
(
should
(
equal
(
simple-test--dummy-buffer
(
electric-indent-local-mode
1
)
(
open-line
1
))
'
(
"(a b"
.
"\n c d)"
)))
(
should
(
equal
(
simple-test--dummy-buffer
(
electric-indent-local-mode
1
)
(
open-line
1
'interactive
))
'
(
"(a b"
.
"\n c d)"
)))
(
should
(
equal
(
simple-test--dummy-buffer
(
electric-indent-local-mode
1
)
(
let
((
current-prefix-arg
nil
))
(
call-interactively
#'
open-line
)
(
call-interactively
#'
open-line
)))
'
(
"(a b"
.
"\n\n c d)"
)))
(
should
(
equal
(
simple-test--dummy-buffer
(
electric-indent-local-mode
1
)
(
open-line
5
'interactive
))
'
(
"(a b"
.
"\n\n\n\n\n c d)"
)))
(
should
(
equal
(
simple-test--dummy-buffer
(
electric-indent-local-mode
1
)
(
let
((
current-prefix-arg
5
))
(
call-interactively
#'
open-line
)))
'
(
"(a b"
.
"\n\n\n\n\n c d)"
)))
(
should
(
equal
(
simple-test--dummy-buffer
(
forward-char
1
)
(
electric-indent-local-mode
1
)
(
open-line
1
'interactive
))
'
(
"(a b"
.
"\n c d)"
))))
(
ert-deftest
open-line-hook
()
(
let*
((
x
0
)
(
inc
(
lambda
()
(
setq
x
(
1+
x
)))))
(
simple-test--dummy-buffer
(
add-hook
'post-self-insert-hook
inc
nil
'local
)
(
open-line
1
))
(
should
(
=
x
0
))
(
simple-test--dummy-buffer
(
add-hook
'post-self-insert-hook
inc
nil
'local
)
(
open-line
1
'interactive
))
(
should
(
=
x
1
))
(
unwind-protect
(
progn
(
add-hook
'post-self-insert-hook
inc
)
(
simple-test--dummy-buffer
(
open-line
1
))
(
should
(
=
x
1
))
(
simple-test--dummy-buffer
(
open-line
10
'interactive
))
(
should
(
=
x
2
)))
(
remove-hook
'post-self-insert-hook
inc
))))
(
provide
'simple-test
)
;;; simple-test.el ends here
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment