Patch 8.2.0480

9 views
Skip to first unread message

Bram Moolenaar

unread,
Mar 29, 2020, 3:38:56 PM3/29/20
to vim...@googlegroups.com

Patch 8.2.0480
Problem: Vim9: some code is not tested.
Solution: Add more tests.
Files: src/testdir/test_vim9_expr.vim, src/vim9compile.c


*** ../vim-8.2.0479/src/testdir/test_vim9_expr.vim 2020-03-29 18:40:08.853652561 +0200
--- src/testdir/test_vim9_expr.vim 2020-03-29 21:22:24.323875203 +0200
***************
*** 706,714 ****
--- 706,717 ----
assert_equal(g:list_empty, [])
assert_equal(g:list_empty, [ ])
assert_equal(g:list_mixed, [1, 'b', false])
+ assert_equal('b', g:list_mixed[1])

call CheckDefExecFailure("let x = g:anint[3]", 'E714:')
+ call CheckDefFailure("let x = g:list_mixed[xxx]", 'E1001:')
call CheckDefExecFailure("let x = g:list_mixed['xx']", 'E39:')
+ call CheckDefFailure("let x = g:list_mixed[0", 'E111:')
call CheckDefExecFailure("let x = g:list_empty[3]", 'E684:')
enddef

***************
*** 739,744 ****
--- 742,753 ----
call CheckDefExecFailure("let x = g:dict_empty.member", 'E716:')
enddef

+ def Test_expr_member()
+ assert_equal(1, g:dict_one.one)
+
+ call CheckDefFailure("let x = g:dict_one.#$!", 'E1002:')
+ enddef
+
def Test_expr7_option()
" option
set ts=11
***************
*** 778,783 ****
--- 787,816 ----
assert_equal(-6, ---6)
enddef

+ def Test_expr7_negate()
+ assert_equal(-99, -99)
+ assert_equal(99, --99)
+ let nr = 88
+ assert_equal(-88, -nr)
+ assert_equal(88, --nr)
+ enddef
+
+ def Echo(arg): string
+ return arg
+ enddef
+
+ def s:EchoArg(arg): string
+ return arg
+ enddef
+
+ def Test_expr7_call()
+ assert_equal('yes', 'yes'->Echo())
+ assert_equal('yes', 'yes'->s:EchoArg())
+
+ call CheckDefFailure("let x = 'yes'->Echo", 'E107:')
+ enddef
+
+
def Test_expr7_not()
assert_equal(true, !'')
assert_equal(true, ![])
*** ../vim-8.2.0479/src/vim9compile.c 2020-03-28 22:06:07.587491239 +0100
--- src/vim9compile.c 2020-03-29 21:12:03.157113619 +0200
***************
*** 2622,2632 ****
else
{
// method call: list->method()
! for (p = *arg; eval_isnamec1(*p); ++p)
;
if (*p != '(')
{
! semsg(_(e_missing_paren), arg);
return FAIL;
}
// TODO: base value may not be the first argument
--- 2622,2635 ----
else
{
// method call: list->method()
! p = *arg;
! if (ASCII_ISALPHA(*p) && p[1] == ':')
! p += 2;
! for ( ; eval_isnamec1(*p); ++p)
;
if (*p != '(')
{
! semsg(_(e_missing_paren), *arg);
return FAIL;
}
// TODO: base value may not be the first argument
*** ../vim-8.2.0479/src/version.c 2020-03-29 20:51:03.085780722 +0200
--- src/version.c 2020-03-29 21:37:59.669183466 +0200
***************
*** 740,741 ****
--- 740,743 ----
{ /* Add new patch number below this line */
+ /**/
+ 480,
/**/

--
ARTHUR: Ni!
BEDEVERE: Nu!
ARTHUR: No. Ni! More like this. "Ni"!
BEDEVERE: Ni, ni, ni!
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
Reply all
Reply to author
Forward
0 new messages