patch 8.0.1302: still too many old style tests

Problem:    Still too many old style tests.
Solution:   Convert a few more tests to new style. (Yegappan Lakshmanan,
            closes #2326)
diff --git a/src/testdir/test_textformat.vim b/src/testdir/test_textformat.vim
new file mode 100644
index 0000000..999566c
--- /dev/null
+++ b/src/testdir/test_textformat.vim
@@ -0,0 +1,168 @@
+" Tests for the various 'formatoptions' settings
+func Test_text_format()
+  enew!
+
+  setl noai tw=2 fo=t
+  call append('$', [
+	      \ '{',
+	      \ '    ',
+	      \ '',
+	      \ '}'])
+  exe "normal /^{/+1\n0"
+  normal gRa b
+  let lnum = line('.')
+  call assert_equal([
+	      \ 'a',
+	      \ 'b'], getline(lnum - 1, lnum))
+
+  normal ggdG
+  setl ai tw=2 fo=tw
+  call append('$', [
+	      \ '{',
+	      \ 'a  b  ',
+	      \ '',
+	      \ 'a    ',
+	      \ '}'])
+  exe "normal /^{/+1\n0"
+  normal gqgqjjllab
+  let lnum = line('.')
+  call assert_equal([
+	      \ 'a  ',
+	      \ 'b  ',
+	      \ '',
+	      \ 'a  ',
+	      \ 'b'], getline(lnum - 4, lnum))
+
+  normal ggdG
+  setl tw=3 fo=t
+  call append('$', [
+	      \ '{',
+	      \ "a \<C-A>",
+	      \ '}'])
+  exe "normal /^{/+1\n0"
+  exe "normal gqgqo\na \<C-V>\<C-A>"
+  let lnum = line('.')
+  call assert_equal([
+	      \ 'a',
+	      \ "\<C-A>",
+	      \ '',
+	      \ 'a',
+	      \ "\<C-A>"], getline(lnum - 4, lnum))
+
+  normal ggdG
+  setl tw=2 fo=tcq1 comments=:#
+  call append('$', [
+	      \ '{',
+	      \ 'a b',
+	      \ '#a b',
+	      \ '}'])
+  exe "normal /^{/+1\n0"
+  exe "normal gqgqjgqgqo\na b\n#a b"
+  let lnum = line('.')
+  call assert_equal([
+	      \ 'a b',
+	      \ '#a b',
+	      \ '',
+	      \ 'a b',
+	      \ '#a b'], getline(lnum - 4, lnum))
+
+  normal ggdG
+  setl tw=5 fo=tcn comments=:#
+  call append('$', [
+	      \ '{',
+	      \ '  1 a',
+	      \ '# 1 a',
+	      \ '}'])
+  exe "normal /^{/+1\n0"
+  exe "normal A b\<Esc>jA b"
+  let lnum = line('.')
+  call assert_equal([
+	      \ '  1 a',
+	      \ '    b',
+	      \ '# 1 a',
+	      \ '#   b'], getline(lnum - 3, lnum))
+
+  normal ggdG
+  setl tw=5 fo=t2a si
+  call append('$', [
+	      \ '{',
+	      \ '',
+	      \ '  x a',
+	      \ '  b',
+	      \ ' c',
+	      \ '',
+	      \ '}'])
+  exe "normal /^{/+3\n0"
+  exe "normal i  \<Esc>A_"
+  let lnum = line('.')
+  call assert_equal([
+	      \ '',
+	      \ '  x a',
+	      \ '    b_',
+	      \ '    c',
+	      \ ''], getline(lnum - 2, lnum + 2))
+
+  normal ggdG
+  setl tw=5 fo=qn comments=:#
+  call append('$', [
+	      \ '{',
+	      \ '# 1 a b',
+	      \ '}'])
+  exe "normal /^{/+1\n5|"
+  normal gwap
+  call assert_equal(5, col('.'))
+  let lnum = line('.')
+  call assert_equal([
+	      \ '# 1 a',
+	      \ '#   b'], getline(lnum, lnum + 1))
+
+  normal ggdG
+  setl tw=5 fo=q2 comments=:#
+  call append('$', [
+	      \ '{',
+	      \ '# x',
+	      \ '#   a b',
+	      \ '}'])
+  exe "normal /^{/+1\n0"
+  normal gwap
+  let lnum = line('.')
+  call assert_equal([
+	      \ '# x a',
+	      \ '#   b'], getline(lnum, lnum + 1))
+
+  normal ggdG
+  setl tw& fo=a
+  call append('$', [
+	      \ '{',
+	      \ '   1aa',
+	      \ '   2bb',
+	      \ '}'])
+  exe "normal /^{/+2\n0"
+  normal I^^
+  call assert_equal('{ 1aa ^^2bb }', getline('.'))
+
+  normal ggdG
+  setl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/
+  call append('$', [
+	      \ '/* abc def ghi jkl ',
+	      \ ' *    mno pqr stu',
+	      \ ' */'])
+  exe "normal /mno pqr/\n"
+  normal A vwx yz
+  let lnum = line('.')
+  call assert_equal([
+	      \ ' *    mno pqr stu ',
+	      \ ' *    vwx yz',
+	      \ ' */'], getline(lnum - 1, lnum + 1))
+
+  normal ggdG
+  setl tw=12 fo=tqnc comments=:#
+  call setline('.', '# 1 xxxxx')
+  normal A foobar
+  call assert_equal([
+	      \ '# 1 xxxxx',
+	      \ '#   foobar'], getline(1, 2))
+
+  setl ai& tw& fo& si& comments&
+  enew!
+endfunc