]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 8.2.2161: arguments -T and -x not tested yet v8.2.2161
authorBram Moolenaar <Bram@vim.org>
Sat, 19 Dec 2020 12:32:07 +0000 (13:32 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 19 Dec 2020 12:32:07 +0000 (13:32 +0100)
Problem:    Arguments -T and -x not tested yet.
Solution:   Add a test. (Dominique PellĂ©, closes #7490

src/testdir/test_startup.vim
src/version.c

index 8b9b7e401bcbd4fb2624e7c3a111a45b16d3ffd3..72c43eac900a6e384259c7f8fefa2b88538c5496 100644 (file)
@@ -741,6 +741,53 @@ func Test_t_arg()
   call delete('Xfile1')
 endfunc
 
+" Test the '-T' argument which sets the 'term' option.
+func Test_T_arg()
+  CheckNotGui
+  let after =<< trim [CODE]
+    call writefile([&term], "Xtest_T_arg")
+    qall
+  [CODE]
+
+  for t in ['builtin_dumb', 'builtin_ansi']
+    if RunVim([], after, '-T ' .. t)
+      let lines = readfile('Xtest_T_arg')
+      call assert_equal([t], lines)
+    endif
+  endfor
+
+  call delete('Xtest_T_arg')
+endfunc
+
+" Test the '-x' argument to read/write encrypted files.
+func Test_x_arg()
+  CheckRunVimInTerminal
+  CheckFeature cryptv
+
+  " Create an encrypted file Xtest_x_arg.
+  let buf = RunVimInTerminal('-n -x Xtest_x_arg', #{rows: 10, wait_for_ruler: 0})
+  call WaitForAssert({-> assert_match('^Enter encryption key: ', term_getline(buf, 10))})
+  call term_sendkeys(buf, "foo\n")
+  call WaitForAssert({-> assert_match('^Enter same key again: ', term_getline(buf, 10))})
+  call term_sendkeys(buf, "foo\n")
+  call WaitForAssert({-> assert_match(' All$', term_getline(buf, 10))})
+  call term_sendkeys(buf, "itest\<Esc>:w\<Enter>")
+  call WaitForAssert({-> assert_match('"Xtest_x_arg" \[New\]\[blowfish2\] 1L, 5B written',
+        \            term_getline(buf, 10))})
+  call StopVimInTerminal(buf)
+
+  " Read the encrypted file and check that it contains the expected content "test"
+  let buf = RunVimInTerminal('-n -x Xtest_x_arg', #{rows: 10, wait_for_ruler: 0})
+  call WaitForAssert({-> assert_match('^Enter encryption key: ', term_getline(buf, 10))})
+  call term_sendkeys(buf, "foo\n")
+  call WaitForAssert({-> assert_match('^Enter same key again: ', term_getline(buf, 10))})
+  call term_sendkeys(buf, "foo\n")
+  call WaitForAssert({-> assert_match('^test', term_getline(buf, 1))})
+  call StopVimInTerminal(buf)
+
+  call delete('Xtest_x_arg')
+endfunc
+
 " Test for entering the insert mode on startup
 func Test_start_insertmode()
   let before =<< trim [CODE]
index 69ec791d004eabb10e3ccc900b1a6ec2bce85ada..9d2632b09f6c1dde80ce10d902a68f20c4706ae7 100644 (file)
@@ -750,6 +750,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2161,
 /**/
     2160,
 /**/