diff src/testdir/test_lispwords.vim @ 12560:44aa2997239d v8.0.1158

patch 8.0.1158: still old style tests commit https://github.com/vim/vim/commit/db51007108a6ab0671e7f7b4844557cbe647185f Author: Bram Moolenaar <Bram@vim.org> Date: Thu Sep 28 21:52:17 2017 +0200 patch 8.0.1158: still old style tests Problem: Still old style tests. Solution: Convert serveral tests to new style. (Yegappan Lakshmanan)
author Christian Brabandt <cb@256bit.org>
date Thu, 28 Sep 2017 22:00:05 +0200
parents 979f8a595326
children a6a935b3270e
line wrap: on
line diff
--- a/src/testdir/test_lispwords.vim
+++ b/src/testdir/test_lispwords.vim
@@ -14,3 +14,68 @@ func Test_global_local_lispwords()
   call assert_equal('foo,bar,baz', &l:lispwords)
   call assert_equal('foo,bar,baz', &lispwords)
 endfunc
+
+func Test_lisp_indent()
+  enew!
+
+  call append(0, [
+	      \ '(defun html-file (base)',
+	      \ '(format nil "~(~A~).html" base))',
+	      \ '',
+	      \ '(defmacro page (name title &rest body)',
+	      \ '(let ((ti (gensym)))',
+	      \ '`(with-open-file (*standard-output*',
+	      \ '(html-file ,name)',
+	      \ ':direction :output',
+	      \ ':if-exists :supersede)',
+	      \ '(let ((,ti ,title))',
+	      \ '(as title ,ti)',
+	      \ '(with center ',
+	      \ '(as h2 (string-upcase ,ti)))',
+	      \ '(brs 3)',
+	      \ ',@body))))',
+	      \ '',
+	      \ ';;; Utilities for generating links',
+	      \ '',
+	      \ '(defmacro with-link (dest &rest body)',
+	      \ '`(progn',
+	      \ '(format t "<a href=\"~A\">" (html-file ,dest))',
+	      \ ',@body',
+	      \ '(princ "</a>")))'
+	      \ ])
+  set lisp
+  set lispwords&
+  let save_copt = &cpoptions
+  set cpoptions+=p
+  normal 1G=G
+
+  call assert_equal([
+	      \ '(defun html-file (base)',
+	      \ '  (format nil "~(~A~).html" base))',
+	      \ '',
+	      \ '(defmacro page (name title &rest body)',
+	      \ '  (let ((ti (gensym)))',
+	      \ '       `(with-open-file (*standard-output*',
+	      \ '			 (html-file ,name)',
+	      \ '			 :direction :output',
+	      \ '			 :if-exists :supersede)',
+	      \ '			(let ((,ti ,title))',
+	      \ '			     (as title ,ti)',
+	      \ '			     (with center ',
+	      \ '				   (as h2 (string-upcase ,ti)))',
+	      \ '			     (brs 3)',
+	      \ '			     ,@body))))',
+	      \ '',
+	      \ ';;; Utilities for generating links',
+	      \ '',
+	      \ '(defmacro with-link (dest &rest body)',
+	      \ '  `(progn',
+	      \ '    (format t "<a href=\"~A\">" (html-file ,dest))',
+	      \ '    ,@body',
+	      \ '    (princ "</a>")))',
+	      \ ''
+	      \ ], getline(1, "$"))
+
+  enew!
+  let &cpoptions=save_copt
+endfunc