To: vim_dev@googlegroups.com Subject: Patch 8.0.0168 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.0.0168 Problem: Still some float functionality is not covered by tests. Solution: Add more tests. (Dominique Pelle, closes #1364) Files: src/testdir/test_float_func.vim *** ../vim-8.0.0167/src/testdir/test_float_func.vim 2017-01-10 16:12:11.732767042 +0100 --- src/testdir/test_float_func.vim 2017-01-10 16:19:06.413651860 +0100 *************** *** 13,18 **** --- 13,22 ---- call assert_equal('inf', string(abs(1.0/0.0))) call assert_equal('inf', string(abs(-1.0/0.0))) call assert_equal('nan', string(abs(0.0/0.0))) + call assert_equal('12', string(abs('-12abc'))) + call assert_fails("call abs([])", 'E745:') + call assert_fails("call abs({})", 'E728:') + call assert_fails("call abs(function('string'))", 'E703:') endfunc func Test_sqrt() *************** *** 21,26 **** --- 25,31 ---- call assert_equal('inf', string(sqrt(1.0/0.0))) call assert_equal('nan', string(sqrt(-1.0))) call assert_equal('nan', string(sqrt(0.0/0.0))) + call assert_fails('call sqrt("")', 'E808:') endfunc func Test_log() *************** *** 30,35 **** --- 35,41 ---- call assert_equal('nan', string(log(-1.0))) call assert_equal('inf', string(log(1.0/0.0))) call assert_equal('nan', string(log(0.0/0.0))) + call assert_fails('call log("")', 'E808:') endfunc func Test_log10() *************** *** 40,45 **** --- 46,52 ---- call assert_equal('nan', string(log10(-1.0))) call assert_equal('inf', string(log10(1.0/0.0))) call assert_equal('nan', string(log10(0.0/0.0))) + call assert_fails('call log10("")', 'E808:') endfunc func Test_exp() *************** *** 49,54 **** --- 56,62 ---- call assert_equal('inf', string(exp(1.0/0.0))) call assert_equal('0.0', string(exp(-1.0/0.0))) call assert_equal('nan', string(exp(0.0/0.0))) + call assert_fails('call exp("")', 'E808:') endfunc func Test_sin() *************** *** 59,64 **** --- 67,73 ---- call assert_equal('nan', string(sin(1.0/0.0))) call assert_equal('0.0', string(sin(1.0/(1.0/0.0)))) call assert_equal('-0.0', string(sin(-1.0/(1.0/0.0)))) + call assert_fails('call sin("")', 'E808:') endfunc func Test_asin() *************** *** 68,73 **** --- 77,83 ---- call assert_equal('nan', string(asin(1.1))) call assert_equal('nan', string(asin(1.0/0.0))) call assert_equal('nan', string(asin(0.0/0.0))) + call assert_fails('call asin("")', 'E808:') endfunc func Test_sinh() *************** *** 77,82 **** --- 87,93 ---- call assert_equal('inf', string(sinh(1.0/0.0))) call assert_equal('-inf', string(sinh(-1.0/0.0))) call assert_equal('nan', string(sinh(0.0/0.0))) + call assert_fails('call sinh("")', 'E808:') endfunc func Test_cos() *************** *** 85,90 **** --- 96,102 ---- call assert_equal('0.877583', string(cos(-0.5))) call assert_equal('nan', string(cos(0.0/0.0))) call assert_equal('nan', string(cos(1.0/0.0))) + call assert_fails('call cos("")', 'E808:') endfunc func Test_acos() *************** *** 95,100 **** --- 107,113 ---- call assert_equal('nan', string(acos(1.1))) call assert_equal('nan', string(acos(1.0/0.0))) call assert_equal('nan', string(acos(0.0/0.0))) + call assert_fails('call acos("")', 'E808:') endfunc func Test_cosh() *************** *** 103,108 **** --- 116,122 ---- call assert_equal('inf', string(cosh(1.0/0.0))) call assert_equal('inf', string(cosh(-1.0/0.0))) call assert_equal('nan', string(cosh(0.0/0.0))) + call assert_fails('call cosh("")', 'E808:') endfunc func Test_tan() *************** *** 113,118 **** --- 127,133 ---- call assert_equal('nan', string(cos(0.0/0.0))) call assert_equal('0.0', string(tan(1.0/(1.0/0.0)))) call assert_equal('-0.0', string(tan(-1.0/(1.0/0.0)))) + call assert_fails('call tan("")', 'E808:') endfunc func Test_atan() *************** *** 122,127 **** --- 137,143 ---- call assert_equal('1.570796', string(atan(1.0/0.0))) call assert_equal('-1.570796', string(atan(-1.0/0.0))) call assert_equal('nan', string(atan(0.0/0.0))) + call assert_fails('call atan("")', 'E808:') endfunc func Test_atan2() *************** *** 130,135 **** --- 146,153 ---- call assert_equal('0.0', string(atan2(1.0, 1.0/0.0))) call assert_equal('1.570796', string(atan2(1.0/0.0, 1.0))) call assert_equal('nan', string(atan2(0.0/0.0, 1.0))) + call assert_fails('call atan2("", -1)', 'E808:') + call assert_fails('call atan2(-1, "")', 'E808:') endfunc func Test_tanh() *************** *** 139,144 **** --- 157,163 ---- call assert_equal('1.0', string(tanh(1.0/0.0))) call assert_equal('-1.0', string(tanh(-1.0/0.0))) call assert_equal('nan', string(tanh(0.0/0.0))) + call assert_fails('call tanh("")', 'E808:') endfunc func Test_fmod() *************** *** 151,156 **** --- 170,177 ---- call assert_equal('1.0', res) endif call assert_equal('nan', string(fmod(1.0, 0.0))) + call assert_fails("call fmod('', 1.22)", 'E808:') + call assert_fails("call fmod(12.33, '')", 'E808:') endfunc func Test_pow() *************** *** 161,166 **** --- 182,189 ---- call assert_equal('nan', string(pow(0.0/0.0, 3.0))) call assert_equal('inf', string(pow(2.0, 1.0/0.0))) call assert_equal('inf', string(pow(1.0/0.0, 3.0))) + call assert_fails("call pow('', 2.0)", 'E808:') + call assert_fails("call pow(2.0, '')", 'E808:') endfunc func Test_str2float() *************** *** 170,175 **** --- 193,200 ---- call assert_equal('1.23', string(str2float('1.23'))) call assert_equal('1.23', string(str2float('1.23abc'))) call assert_equal('1.0e40', string(str2float('1e40'))) + call assert_equal('-1.23', string(str2float('-1.23'))) + call assert_equal('1.23', string(str2float(' + 1.23 '))) call assert_equal('1.0', string(str2float('+1'))) call assert_equal('1.0', string(str2float('+1'))) *************** *** 181,192 **** --- 206,227 ---- call assert_equal('-1.0', string(str2float(' -1 '))) call assert_equal('-1.0', string(str2float(' - 1 '))) + call assert_equal('0.0', string(str2float('+0.0'))) + call assert_equal('-0.0', string(str2float('-0.0'))) call assert_equal('inf', string(str2float('1e1000'))) call assert_equal('inf', string(str2float('inf'))) call assert_equal('-inf', string(str2float('-inf'))) + call assert_equal('inf', string(str2float('+inf'))) call assert_equal('inf', string(str2float('Inf'))) + call assert_equal('inf', string(str2float(' +inf '))) call assert_equal('nan', string(str2float('nan'))) call assert_equal('nan', string(str2float('NaN'))) + call assert_equal('nan', string(str2float(' nan '))) + + call assert_fails("call str2float(1.2)", 'E806:') + call assert_fails("call str2float([])", 'E730:') + call assert_fails("call str2float({})", 'E731:') + call assert_fails("call str2float(function('string'))", 'E729:') endfunc func Test_floor() *************** *** 198,203 **** --- 233,239 ---- call assert_equal('nan', string(floor(0.0/0.0))) call assert_equal('inf', string(floor(1.0/0.0))) call assert_equal('-inf', string(floor(-1.0/0.0))) + call assert_fails("call floor('')", 'E808:') endfunc func Test_ceil() *************** *** 209,214 **** --- 245,251 ---- call assert_equal('nan', string(ceil(0.0/0.0))) call assert_equal('inf', string(ceil(1.0/0.0))) call assert_equal('-inf', string(ceil(-1.0/0.0))) + call assert_fails("call ceil('')", 'E808:') endfunc func Test_round() *************** *** 221,226 **** --- 258,264 ---- call assert_equal('nan', string(round(0.0/0.0))) call assert_equal('inf', string(round(1.0/0.0))) call assert_equal('-inf', string(round(-1.0/0.0))) + call assert_fails("call round('')", 'E808:') endfunc func Test_trunc() *************** *** 233,238 **** --- 271,277 ---- call assert_equal('nan', string(trunc(0.0/0.0))) call assert_equal('inf', string(trunc(1.0/0.0))) call assert_equal('-inf', string(trunc(-1.0/0.0))) + call assert_fails("call trunc('')", 'E808:') endfunc func Test_isnan() *************** *** 241,244 **** --- 280,284 ---- call assert_equal(0, isnan(1.0/0.0)) call assert_equal(0, isnan('a')) call assert_equal(0, isnan([])) + call assert_equal(0, isnan({})) endfunc *** ../vim-8.0.0167/src/version.c 2017-01-10 16:12:11.736767011 +0100 --- src/version.c 2017-01-10 16:30:39.444474802 +0100 *************** *** 766,767 **** --- 766,769 ---- { /* Add new patch number below this line */ + /**/ + 168, /**/ -- "Marriage is when a man and woman become as one; the trouble starts when they try to decide which one" /// Bram Moolenaar -- Bram@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 ///