]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 8.2.0893: assert_equalfile() does not take a third argument v8.2.0893
authorBram Moolenaar <Bram@vim.org>
Wed, 3 Jun 2020 17:55:35 +0000 (19:55 +0200)
committerBram Moolenaar <Bram@vim.org>
Wed, 3 Jun 2020 17:55:35 +0000 (19:55 +0200)
Problem:    Assert_equalfile() does not take a third argument.
Solution:   Implement the third argument. (Gary Johnson)

runtime/doc/eval.txt
runtime/doc/testing.txt
src/evalfunc.c
src/testdir/test_assert.vim
src/testing.c
src/version.c

index 7c4c59a8cc831a18712879404117fc72285a4668..62a5172b955096f8422c55b007689235159ff8a2 100644 (file)
@@ -2324,11 +2324,12 @@ argidx()                        Number  current index in the argument list
 arglistid([{winnr} [, {tabnr}]]) Number        argument list id
 argv({nr} [, {winid}])         String  {nr} entry of the argument list
 argv([-1, {winid}])            List    the argument list
+asin({expr})                   Float   arc sine of {expr}
 assert_beeps({cmd})            Number  assert {cmd} causes a beep
 assert_equal({exp}, {act} [, {msg}])
                                Number  assert {exp} is equal to {act}
-assert_equalfile({fname-one}, {fname-two})
-                               Number  assert file contents is equal
+assert_equalfile({fname-one}, {fname-two} [, {msg}])
+                               Number  assert file contents are equal
 assert_exception({error} [, {msg}])
                                Number  assert {error} is in v:exception
 assert_fails({cmd} [, {error} [, {msg}]])
index 9c87cba642e8eca9d276433b00d4fce453c86cce..19fb321745926cd6f469ade0f3a0d42d821d4e72 100644 (file)
@@ -263,9 +263,8 @@ assert_equal({expected}, {actual} [, {msg}])
                Can also be used as a |method|: >
                        mylist->assert_equal([1, 2, 3])
 
-
 <                                                      *assert_equalfile()*
-assert_equalfile({fname-one}, {fname-two})
+assert_equalfile({fname-one}, {fname-two} [, {msg}])
                When the files {fname-one} and {fname-two} do not contain
                exactly the same text an error message is added to |v:errors|.
                Also see |assert-return|.
@@ -276,7 +275,6 @@ assert_equalfile({fname-one}, {fname-two})
                Can also be used as a |method|: >
                        GetLog()->assert_equalfile('expected.log')
 
-
 assert_exception({error} [, {msg}])                    *assert_exception()*
                When v:exception does not contain the string {error} an error
                message is added to |v:errors|.  Also see |assert-return|.
index d8e88e5c692f6d12cbf98df5856daf0f92e6bf38..247d2ea203b9b8fdedf5420cbb41ac02f301fc63 100644 (file)
@@ -419,7 +419,7 @@ static funcentry_T global_functions[] =
     {"asin",           1, 1, FEARG_1,    ret_float,    FLOAT_FUNC(f_asin)},
     {"assert_beeps",   1, 2, FEARG_1,    ret_number,   f_assert_beeps},
     {"assert_equal",   2, 3, FEARG_2,    ret_number,   f_assert_equal},
-    {"assert_equalfile", 2, 2, FEARG_1,          ret_number,   f_assert_equalfile},
+    {"assert_equalfile", 2, 3, FEARG_1,          ret_number,   f_assert_equalfile},
     {"assert_exception", 1, 2, 0,        ret_number,   f_assert_exception},
     {"assert_fails",   1, 3, FEARG_1,    ret_number,   f_assert_fails},
     {"assert_false",   1, 2, FEARG_1,    ret_number,   f_assert_false},
index 762f12ff536dac801186b17d8f6d79f8a45980a9..5037d87b8a03b6ee817296dca289839cf593252d 100644 (file)
@@ -81,6 +81,10 @@ func Test_assert_equalfile()
   call assert_match("difference at byte 4", v:errors[0])
   call remove(v:errors, 0)
 
+  call assert_equal(1, assert_equalfile('Xone', 'Xtwo', 'a message'))
+  call assert_match("a message: difference at byte 4", v:errors[0])
+  call remove(v:errors, 0)
+
   call delete('Xone')
   call delete('Xtwo')
 endfunc
index 604d39b74c3e89b04cd55ce6fa8e642ecc323992..fa8cc42418648815aea6e889768cc05c72979246 100644 (file)
@@ -362,6 +362,15 @@ assert_equalfile(typval_T *argvars)
     if (IObuff[0] != NUL)
     {
        prepare_assert_error(&ga);
+       if (argvars[2].v_type != VAR_UNKNOWN)
+       {
+           char_u      numbuf[NUMBUFLEN];
+           char_u      *tofree;
+
+           ga_concat(&ga, echo_string(&argvars[2], &tofree, numbuf, 0));
+           vim_free(tofree);
+           ga_concat(&ga, (char_u *)": ");
+       }
        ga_concat(&ga, IObuff);
        assert_error(&ga);
        ga_clear(&ga);
@@ -371,7 +380,7 @@ assert_equalfile(typval_T *argvars)
 }
 
 /*
- * "assert_equalfile(fname-one, fname-two)" function
+ * "assert_equalfile(fname-one, fname-two[, msg])" function
  */
     void
 f_assert_equalfile(typval_T *argvars, typval_T *rettv)
index a241fa0a2a938a9b22fca0b407531fa5e746694b..fc6d897bab321fcd0d0abcf71ed0a8053a163b87 100644 (file)
@@ -746,6 +746,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    893,
 /**/
     892,
 /**/