From 09eefbe92ce83e81b6e9c80681152a41ed011d56 Mon Sep 17 00:00:00 2001 From: James McCoy Date: Sun, 4 Jun 2017 22:19:43 -0400 Subject: vim-patch:8.0.0156 Problem: Several float functions are not covered by tests. Solution: Add float tests. (Dominique Pelle) https://github.com/vim/vim/commit/453b576ee5d32e9b8e6876712748ae01f9be68dd --- src/nvim/testdir/test_float_func.vim | 228 +++++++++++++++++++++++++++++++++++ 1 file changed, 228 insertions(+) create mode 100644 src/nvim/testdir/test_float_func.vim (limited to 'src/nvim/testdir/test_float_func.vim') diff --git a/src/nvim/testdir/test_float_func.vim b/src/nvim/testdir/test_float_func.vim new file mode 100644 index 0000000000..57ab9bac99 --- /dev/null +++ b/src/nvim/testdir/test_float_func.vim @@ -0,0 +1,228 @@ +" test float functions + +if !has('float') + finish +end + +func Test_abs() + call assert_equal(string(abs(1.23)), '1.23') + call assert_equal(string(abs(-1.23)), '1.23') + call assert_equal(string(abs(0.0)), '0.0') + call assert_equal(string(abs(1.0/(1.0/0.0))), '0.0') + call assert_equal(string(abs(-1.0/(1.0/0.0))), '0.0') + call assert_equal(string(abs(1.0/0.0)), "str2float('inf')") + call assert_equal(string(abs(-1.0/0.0)), "str2float('inf')") + call assert_equal(string(abs(0.0/0.0)), "str2float('nan')") +endfunc + +func Test_sqrt() + call assert_equal(string(sqrt(0.0)), '0.0') + call assert_equal(string(sqrt(2.0)), '1.414214') + call assert_equal(string(sqrt(1.0/0.0)), "str2float('inf')") + call assert_equal(string(sqrt(-1.0)), "str2float('nan')") + call assert_equal(string(sqrt(0.0/0.0)), "str2float('nan')") +endfunc + +func Test_log() + call assert_equal(string(log(1.0)), '0.0') + call assert_equal(string(log(0.5)), '-0.693147') + call assert_equal(string(log(0.0)), "-str2float('inf')") + call assert_equal(string(log(-1.0)), "str2float('nan')") + call assert_equal(string(log(1.0/0.0)), "str2float('inf')") + call assert_equal(string(log(0.0/0.0)), "str2float('nan')") +endfunc + +func Test_log10() + call assert_equal(string(log10(1.0)), '0.0') + call assert_equal(string(log10(100.0)), '2.0') + call assert_equal(string(log10(120.0)), '2.079181') + call assert_equal(string(log10(0.0)), "-str2float('inf')") + call assert_equal(string(log10(-1.0)), "str2float('nan')") + call assert_equal(string(log10(1.0/0.0)), "str2float('inf')") + call assert_equal(string(log10(0.0/0.0)), "str2float('nan')") +endfunc + +func Test_exp() + call assert_equal(string(exp(0.0)), '1.0') + call assert_equal(string(exp(2.0)), '7.389056') + call assert_equal(string(exp(-1.0)),'0.367879') + call assert_equal(string(exp(1.0/0.0)), "str2float('inf')") + call assert_equal(string(exp(-1.0/0.0)), '0.0') + call assert_equal(string(exp(0.0/0.0)), "str2float('nan')") +endfunc + +func Test_sin() + call assert_equal(string(sin(0.0)), '0.0') + call assert_equal(string(sin(1.0)), '0.841471') + call assert_equal(string(sin(-0.5)), '-0.479426') + call assert_equal(string(sin(0.0/0.0)), "str2float('nan')") + call assert_equal(string(sin(1.0/0.0)), "str2float('nan')") + call assert_equal(string(sin(1.0/(1.0/0.0))), '0.0') + call assert_equal(string(sin(-1.0/(1.0/0.0))), '-0.0') +endfunc + +func Test_asin() + call assert_equal(string(asin(0.0)), '0.0') + call assert_equal(string(asin(1.0)), '1.570796') + call assert_equal(string(asin(-0.5)), '-0.523599') + call assert_equal(string(asin(1.1)), "str2float('nan')") + call assert_equal(string(asin(1.0/0.0)), "str2float('nan')") + call assert_equal(string(asin(0.0/0.0)), "str2float('nan')") +endfunc + +func Test_sinh() + call assert_equal(string(sinh(0.0)), '0.0') + call assert_equal(string(sinh(0.5)), '0.521095') + call assert_equal(string(sinh(-0.9)), '-1.026517') + call assert_equal(string(sinh(1.0/0.0)), "str2float('inf')") + call assert_equal(string(sinh(-1.0/0.0)), "-str2float('inf')") + call assert_equal(string(sinh(0.0/0.0)), "str2float('nan')") +endfunc + +func Test_cos() + call assert_equal(string(cos(0.0)), '1.0') + call assert_equal(string(cos(1.0)), '0.540302') + call assert_equal(string(cos(-0.5)), '0.877583') + call assert_equal(string(cos(0.0/0.0)), "str2float('nan')") + call assert_equal(string(cos(1.0/0.0)), "str2float('nan')") +endfunc + +func Test_acos() + call assert_equal(string(acos(0.0)), '1.570796') + call assert_equal(string(acos(1.0)), '0.0') + call assert_equal(string(acos(-1.0)), '3.141593') + call assert_equal(string(acos(-0.5)), '2.094395') + call assert_equal(string(acos(1.1)), "str2float('nan')") + call assert_equal(string(acos(1.0/0.0)), "str2float('nan')") + call assert_equal(string(acos(0.0/0.0)), "str2float('nan')") +endfunc + +func Test_cosh() + call assert_equal(string(cosh(0.0)), '1.0') + call assert_equal(string(cosh(0.5)), '1.127626') + call assert_equal(string(cosh(1.0/0.0)), "str2float('inf')") + call assert_equal(string(cosh(-1.0/0.0)), "str2float('inf')") + call assert_equal(string(cosh(0.0/0.0)), "str2float('nan')") +endfunc + +func Test_tan() + call assert_equal(string(tan(0.0)), '0.0') + call assert_equal(string(tan(0.5)), '0.546302') + call assert_equal(string(tan(-0.5)), '-0.546302') + call assert_equal(string(tan(1.0/0.0)), "str2float('nan')") + call assert_equal(string(cos(0.0/0.0)), "str2float('nan')") + call assert_equal(string(tan(1.0/(1.0/0.0))), '0.0') + call assert_equal(string(tan(-1.0/(1.0/0.0))), '-0.0') +endfunc + +func Test_atan() + call assert_equal(string(atan(0.0)), '0.0') + call assert_equal(string(atan(0.5)), '0.463648') + call assert_equal(string(atan(-1.0)), '-0.785398') + call assert_equal(string(atan(1.0/0.0)), '1.570796') + call assert_equal(string(atan(-1.0/0.0)), '-1.570796') + call assert_equal(string(atan(0.0/0.0)), "str2float('nan')") +endfunc + +func Test_atan2() + call assert_equal(string(atan2(-1, -1)), '-2.356194') + call assert_equal(string(atan2(1, -1)), '2.356194') + call assert_equal(string(atan2(1.0, 1.0/0.0)), '0.0') + call assert_equal(string(atan2(1.0/0.0, 1.0)), '1.570796') + call assert_equal(string(atan2(0.0/0.0, 1.0)), "str2float('nan')") +endfunc + +func Test_tanh() + call assert_equal(string(tanh(0.0)), '0.0') + call assert_equal(string(tanh(0.5)), '0.462117') + call assert_equal(string(tanh(-1.0)), '-0.761594') + call assert_equal(string(tanh(1.0/0.0)), '1.0') + call assert_equal(string(tanh(-1.0/0.0)), '-1.0') + call assert_equal(string(tanh(0.0/0.0)), "str2float('nan')") +endfunc + +func Test_fmod() + call assert_equal(string(fmod(12.33, 1.22)), '0.13') + call assert_equal(string(fmod(-12.33, 1.22)), '-0.13') + call assert_equal(string(fmod(1.0/0.0, 1.0)), "str2float('nan')") + call assert_equal(string(fmod(1.0, 1.0/0.0)), '1.0') + call assert_equal(string(fmod(1.0, 0.0)), "str2float('nan')") +endfunc + +func Test_pow() + call assert_equal(string(pow(0.0, 0.0)), '1.0') + call assert_equal(string(pow(2.0, 3.0)), '8.0') + call assert_equal(string(pow(2.0, 0.0/0.0)), "str2float('nan')") + call assert_equal(string(pow(0.0/0.0, 3.0)), "str2float('nan')") + call assert_equal(string(pow(0.0/0.0, 3.0)), "str2float('nan')") + call assert_equal(string(pow(2.0, 1.0/0.0)), "str2float('inf')") + call assert_equal(string(pow(1.0/0.0, 3.0)), "str2float('inf')") +endfunc + +func Test_str2float() + call assert_equal(string(str2float('1')), '1.0') + call assert_equal(string(str2float('1.23')), '1.23') + call assert_equal(string(str2float('1.23abc')), '1.23') + call assert_equal(string(str2float('1e40')), '1.0e40') + call assert_equal(string(str2float('1e1000')), "str2float('inf')") + call assert_equal(string(str2float('inf')), "str2float('inf')") + call assert_equal(string(str2float('-inf')), "-str2float('inf')") + call assert_equal(string(str2float('Inf')), "str2float('inf')") + call assert_equal(string(str2float('nan')), "str2float('nan')") + call assert_equal(string(str2float('NaN')), "str2float('nan')") +endfunc + +func Test_floor() + call assert_equal(string(floor(2.0)), '2.0') + call assert_equal(string(floor(2.11)), '2.0') + call assert_equal(string(floor(2.99)), '2.0') + call assert_equal(string(floor(-2.11)), '-3.0') + call assert_equal(string(floor(-2.99)), '-3.0') + call assert_equal(string(floor(0.0/0.0)), "str2float('nan')") + call assert_equal(string(floor(1.0/0.0)), "str2float('inf')") + call assert_equal(string(floor(-1.0/0.0)), "-str2float('inf')") +endfunc + +func Test_ceil() + call assert_equal(string(ceil(2.0)), '2.0') + call assert_equal(string(ceil(2.11)), '3.0') + call assert_equal(string(ceil(2.99)), '3.0') + call assert_equal(string(ceil(-2.11)), '-2.0') + call assert_equal(string(ceil(-2.99)), '-2.0') + call assert_equal(string(ceil(0.0/0.0)), "str2float('nan')") + call assert_equal(string(ceil(1.0/0.0)), "str2float('inf')") + call assert_equal(string(ceil(-1.0/0.0)), "-str2float('inf')") +endfunc + +func Test_round() + call assert_equal(string(round(2.1)), '2.0') + call assert_equal(string(round(2.5)), '3.0') + call assert_equal(string(round(2.9)), '3.0') + call assert_equal(string(round(-2.1)), '-2.0') + call assert_equal(string(round(-2.5)), '-3.0') + call assert_equal(string(round(-2.9)), '-3.0') + call assert_equal(string(round(0.0/0.0)), "str2float('nan')") + call assert_equal(string(round(1.0/0.0)), "str2float('inf')") + call assert_equal(string(round(-1.0/0.0)), "-str2float('inf')") +endfunc + +func Test_trunc() + call assert_equal(string(trunc(2.1)), '2.0') + call assert_equal(string(trunc(2.5)), '2.0') + call assert_equal(string(trunc(2.9)), '2.0') + call assert_equal(string(trunc(-2.1)), '-2.0') + call assert_equal(string(trunc(-2.5)), '-2.0') + call assert_equal(string(trunc(-2.9)), '-2.0') + call assert_equal(string(trunc(0.0/0.0)), "str2float('nan')") + call assert_equal(string(trunc(1.0/0.0)), "str2float('inf')") + call assert_equal(string(trunc(-1.0/0.0)), "-str2float('inf')") +endfunc + +func Test_isnan() + throw 'skipped: Nvim does not support isnan()' + call assert_equal(isnan(1.0), 0) + call assert_equal(isnan(0.0/0.0), 1) + call assert_equal(isnan(1.0/0.0), 0) + call assert_equal(isnan('a'), 0) + call assert_equal(isnan([]), 0) +endfunc -- cgit From b1d4ef2b420b1fa9826a9e79344adaf71ad27e18 Mon Sep 17 00:00:00 2001 From: James McCoy Date: Mon, 5 Jun 2017 21:58:33 -0400 Subject: vim-patch:8.0.0158 Problem: On MS-Windows some float functions return a different value when passed unusual values. strtod() doesn't work for "inf" and "nan". Solution: Accept both results. Fix str2float() for MS-Windows. Also reorder assert function arguments. https://github.com/vim/vim/commit/6247361101dcccc0c877e90ad67cd0cc83df7c68 --- src/nvim/testdir/test_float_func.vim | 310 ++++++++++++++++++----------------- 1 file changed, 157 insertions(+), 153 deletions(-) (limited to 'src/nvim/testdir/test_float_func.vim') diff --git a/src/nvim/testdir/test_float_func.vim b/src/nvim/testdir/test_float_func.vim index 57ab9bac99..8600ce5b60 100644 --- a/src/nvim/testdir/test_float_func.vim +++ b/src/nvim/testdir/test_float_func.vim @@ -5,224 +5,228 @@ if !has('float') end func Test_abs() - call assert_equal(string(abs(1.23)), '1.23') - call assert_equal(string(abs(-1.23)), '1.23') - call assert_equal(string(abs(0.0)), '0.0') - call assert_equal(string(abs(1.0/(1.0/0.0))), '0.0') - call assert_equal(string(abs(-1.0/(1.0/0.0))), '0.0') - call assert_equal(string(abs(1.0/0.0)), "str2float('inf')") - call assert_equal(string(abs(-1.0/0.0)), "str2float('inf')") - call assert_equal(string(abs(0.0/0.0)), "str2float('nan')") + call assert_equal('1.23', string(abs(1.23))) + call assert_equal('1.23', string(abs(-1.23))) + call assert_equal('0.0', string(abs(0.0))) + call assert_equal('0.0', string(abs(1.0/(1.0/0.0)))) + call assert_equal('0.0', string(abs(-1.0/(1.0/0.0)))) + call assert_equal("str2float('inf')", string(abs(1.0/0.0))) + call assert_equal("str2float('inf')", string(abs(-1.0/0.0))) + call assert_equal("str2float('nan')", string(abs(0.0/0.0))) endfunc func Test_sqrt() - call assert_equal(string(sqrt(0.0)), '0.0') - call assert_equal(string(sqrt(2.0)), '1.414214') - call assert_equal(string(sqrt(1.0/0.0)), "str2float('inf')") - call assert_equal(string(sqrt(-1.0)), "str2float('nan')") - call assert_equal(string(sqrt(0.0/0.0)), "str2float('nan')") + call assert_equal('0.0', string(sqrt(0.0))) + call assert_equal('1.414214', string(sqrt(2.0))) + call assert_equal("str2float('inf')", string(sqrt(1.0/0.0))) + call assert_equal("str2float('nan')", string(sqrt(-1.0))) + call assert_equal("str2float('nan')", string(sqrt(0.0/0.0))) endfunc func Test_log() - call assert_equal(string(log(1.0)), '0.0') - call assert_equal(string(log(0.5)), '-0.693147') - call assert_equal(string(log(0.0)), "-str2float('inf')") - call assert_equal(string(log(-1.0)), "str2float('nan')") - call assert_equal(string(log(1.0/0.0)), "str2float('inf')") - call assert_equal(string(log(0.0/0.0)), "str2float('nan')") + call assert_equal('0.0', string(log(1.0))) + call assert_equal('-0.693147', string(log(0.5))) + call assert_equal("-str2float('inf')", string(log(0.0))) + call assert_equal("str2float('nan')", string(log(-1.0))) + call assert_equal("str2float('inf')", string(log(1.0/0.0))) + call assert_equal("str2float('nan')", string(log(0.0/0.0))) endfunc func Test_log10() - call assert_equal(string(log10(1.0)), '0.0') - call assert_equal(string(log10(100.0)), '2.0') - call assert_equal(string(log10(120.0)), '2.079181') - call assert_equal(string(log10(0.0)), "-str2float('inf')") - call assert_equal(string(log10(-1.0)), "str2float('nan')") - call assert_equal(string(log10(1.0/0.0)), "str2float('inf')") - call assert_equal(string(log10(0.0/0.0)), "str2float('nan')") + call assert_equal('0.0', string(log10(1.0))) + call assert_equal('2.0', string(log10(100.0))) + call assert_equal('2.079181', string(log10(120.0))) + call assert_equal("-str2float('inf')", string(log10(0.0))) + call assert_equal("str2float('nan')", string(log10(-1.0))) + call assert_equal("str2float('inf')", string(log10(1.0/0.0))) + call assert_equal("str2float('nan')", string(log10(0.0/0.0))) endfunc func Test_exp() - call assert_equal(string(exp(0.0)), '1.0') - call assert_equal(string(exp(2.0)), '7.389056') - call assert_equal(string(exp(-1.0)),'0.367879') - call assert_equal(string(exp(1.0/0.0)), "str2float('inf')") - call assert_equal(string(exp(-1.0/0.0)), '0.0') - call assert_equal(string(exp(0.0/0.0)), "str2float('nan')") + call assert_equal('1.0', string(exp(0.0))) + call assert_equal('7.389056', string(exp(2.0))) + call assert_equal('0.367879', string(exp(-1.0))) + call assert_equal("str2float('inf')", string(exp(1.0/0.0))) + call assert_equal('0.0', string(exp(-1.0/0.0))) + call assert_equal("str2float('nan')", string(exp(0.0/0.0))) endfunc func Test_sin() - call assert_equal(string(sin(0.0)), '0.0') - call assert_equal(string(sin(1.0)), '0.841471') - call assert_equal(string(sin(-0.5)), '-0.479426') - call assert_equal(string(sin(0.0/0.0)), "str2float('nan')") - call assert_equal(string(sin(1.0/0.0)), "str2float('nan')") - call assert_equal(string(sin(1.0/(1.0/0.0))), '0.0') - call assert_equal(string(sin(-1.0/(1.0/0.0))), '-0.0') + call assert_equal('0.0', string(sin(0.0))) + call assert_equal('0.841471', string(sin(1.0))) + call assert_equal('-0.479426', string(sin(-0.5))) + call assert_equal("str2float('nan')", string(sin(0.0/0.0))) + call assert_equal("str2float('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)))) endfunc func Test_asin() - call assert_equal(string(asin(0.0)), '0.0') - call assert_equal(string(asin(1.0)), '1.570796') - call assert_equal(string(asin(-0.5)), '-0.523599') - call assert_equal(string(asin(1.1)), "str2float('nan')") - call assert_equal(string(asin(1.0/0.0)), "str2float('nan')") - call assert_equal(string(asin(0.0/0.0)), "str2float('nan')") + call assert_equal('0.0', string(asin(0.0))) + call assert_equal('1.570796', string(asin(1.0))) + call assert_equal('-0.523599', string(asin(-0.5))) + call assert_equal("str2float('nan')", string(asin(1.1))) + call assert_equal("str2float('nan')", string(asin(1.0/0.0))) + call assert_equal("str2float('nan')", string(asin(0.0/0.0))) endfunc func Test_sinh() - call assert_equal(string(sinh(0.0)), '0.0') - call assert_equal(string(sinh(0.5)), '0.521095') - call assert_equal(string(sinh(-0.9)), '-1.026517') - call assert_equal(string(sinh(1.0/0.0)), "str2float('inf')") - call assert_equal(string(sinh(-1.0/0.0)), "-str2float('inf')") - call assert_equal(string(sinh(0.0/0.0)), "str2float('nan')") + call assert_equal('0.0', string(sinh(0.0))) + call assert_equal('0.521095', string(sinh(0.5))) + call assert_equal('-1.026517', string(sinh(-0.9))) + call assert_equal("str2float('inf')", string(sinh(1.0/0.0))) + call assert_equal("-str2float('inf')", string(sinh(-1.0/0.0))) + call assert_equal("str2float('nan')", string(sinh(0.0/0.0))) endfunc func Test_cos() - call assert_equal(string(cos(0.0)), '1.0') - call assert_equal(string(cos(1.0)), '0.540302') - call assert_equal(string(cos(-0.5)), '0.877583') - call assert_equal(string(cos(0.0/0.0)), "str2float('nan')") - call assert_equal(string(cos(1.0/0.0)), "str2float('nan')") + call assert_equal('1.0', string(cos(0.0))) + call assert_equal('0.540302', string(cos(1.0))) + call assert_equal('0.877583', string(cos(-0.5))) + call assert_equal("str2float('nan')", string(cos(0.0/0.0))) + call assert_equal("str2float('nan')", string(cos(1.0/0.0))) endfunc func Test_acos() - call assert_equal(string(acos(0.0)), '1.570796') - call assert_equal(string(acos(1.0)), '0.0') - call assert_equal(string(acos(-1.0)), '3.141593') - call assert_equal(string(acos(-0.5)), '2.094395') - call assert_equal(string(acos(1.1)), "str2float('nan')") - call assert_equal(string(acos(1.0/0.0)), "str2float('nan')") - call assert_equal(string(acos(0.0/0.0)), "str2float('nan')") + call assert_equal('1.570796', string(acos(0.0))) + call assert_equal('0.0', string(acos(1.0))) + call assert_equal('3.141593', string(acos(-1.0))) + call assert_equal('2.094395', string(acos(-0.5))) + call assert_equal("str2float('nan')", string(acos(1.1))) + call assert_equal("str2float('nan')", string(acos(1.0/0.0))) + call assert_equal("str2float('nan')", string(acos(0.0/0.0))) endfunc func Test_cosh() - call assert_equal(string(cosh(0.0)), '1.0') - call assert_equal(string(cosh(0.5)), '1.127626') - call assert_equal(string(cosh(1.0/0.0)), "str2float('inf')") - call assert_equal(string(cosh(-1.0/0.0)), "str2float('inf')") - call assert_equal(string(cosh(0.0/0.0)), "str2float('nan')") + call assert_equal('1.0', string(cosh(0.0))) + call assert_equal('1.127626', string(cosh(0.5))) + call assert_equal("str2float('inf')", string(cosh(1.0/0.0))) + call assert_equal("str2float('inf')", string(cosh(-1.0/0.0))) + call assert_equal("str2float('nan')", string(cosh(0.0/0.0))) endfunc func Test_tan() - call assert_equal(string(tan(0.0)), '0.0') - call assert_equal(string(tan(0.5)), '0.546302') - call assert_equal(string(tan(-0.5)), '-0.546302') - call assert_equal(string(tan(1.0/0.0)), "str2float('nan')") - call assert_equal(string(cos(0.0/0.0)), "str2float('nan')") - call assert_equal(string(tan(1.0/(1.0/0.0))), '0.0') - call assert_equal(string(tan(-1.0/(1.0/0.0))), '-0.0') + call assert_equal('0.0', string(tan(0.0))) + call assert_equal('0.546302', string(tan(0.5))) + call assert_equal('-0.546302', string(tan(-0.5))) + call assert_equal("str2float('nan')", string(tan(1.0/0.0))) + call assert_equal("str2float('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)))) endfunc func Test_atan() - call assert_equal(string(atan(0.0)), '0.0') - call assert_equal(string(atan(0.5)), '0.463648') - call assert_equal(string(atan(-1.0)), '-0.785398') - call assert_equal(string(atan(1.0/0.0)), '1.570796') - call assert_equal(string(atan(-1.0/0.0)), '-1.570796') - call assert_equal(string(atan(0.0/0.0)), "str2float('nan')") + call assert_equal('0.0', string(atan(0.0))) + call assert_equal('0.463648', string(atan(0.5))) + call assert_equal('-0.785398', string(atan(-1.0))) + 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("str2float('nan')", string(atan(0.0/0.0))) endfunc func Test_atan2() - call assert_equal(string(atan2(-1, -1)), '-2.356194') - call assert_equal(string(atan2(1, -1)), '2.356194') - call assert_equal(string(atan2(1.0, 1.0/0.0)), '0.0') - call assert_equal(string(atan2(1.0/0.0, 1.0)), '1.570796') - call assert_equal(string(atan2(0.0/0.0, 1.0)), "str2float('nan')") + call assert_equal('-2.356194', string(atan2(-1, -1))) + call assert_equal('2.356194', string(atan2(1, -1))) + 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("str2float('nan')", string(atan2(0.0/0.0, 1.0))) endfunc func Test_tanh() - call assert_equal(string(tanh(0.0)), '0.0') - call assert_equal(string(tanh(0.5)), '0.462117') - call assert_equal(string(tanh(-1.0)), '-0.761594') - call assert_equal(string(tanh(1.0/0.0)), '1.0') - call assert_equal(string(tanh(-1.0/0.0)), '-1.0') - call assert_equal(string(tanh(0.0/0.0)), "str2float('nan')") + call assert_equal('0.0', string(tanh(0.0))) + call assert_equal('0.462117', string(tanh(0.5))) + call assert_equal('-0.761594', string(tanh(-1.0))) + 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("str2float('nan')", string(tanh(0.0/0.0))) endfunc func Test_fmod() - call assert_equal(string(fmod(12.33, 1.22)), '0.13') - call assert_equal(string(fmod(-12.33, 1.22)), '-0.13') - call assert_equal(string(fmod(1.0/0.0, 1.0)), "str2float('nan')") - call assert_equal(string(fmod(1.0, 1.0/0.0)), '1.0') - call assert_equal(string(fmod(1.0, 0.0)), "str2float('nan')") + call assert_equal('0.13', string(fmod(12.33, 1.22))) + call assert_equal('-0.13', string(fmod(-12.33, 1.22))) + call assert_equal("str2float('nan')", string(fmod(1.0/0.0, 1.0))) + " On Windows we get "nan" instead of 1.0, accept both. + let res = string(fmod(1.0, 1.0/0.0)) + if res != "str2float('nan')" + call assert_equal('1.0', res) + endif + call assert_equal("str2float('nan')", string(fmod(1.0, 0.0))) endfunc func Test_pow() - call assert_equal(string(pow(0.0, 0.0)), '1.0') - call assert_equal(string(pow(2.0, 3.0)), '8.0') - call assert_equal(string(pow(2.0, 0.0/0.0)), "str2float('nan')") - call assert_equal(string(pow(0.0/0.0, 3.0)), "str2float('nan')") - call assert_equal(string(pow(0.0/0.0, 3.0)), "str2float('nan')") - call assert_equal(string(pow(2.0, 1.0/0.0)), "str2float('inf')") - call assert_equal(string(pow(1.0/0.0, 3.0)), "str2float('inf')") + call assert_equal('1.0', string(pow(0.0, 0.0))) + call assert_equal('8.0', string(pow(2.0, 3.0))) + call assert_equal("str2float('nan')", string(pow(2.0, 0.0/0.0))) + call assert_equal("str2float('nan')", string(pow(0.0/0.0, 3.0))) + call assert_equal("str2float('nan')", string(pow(0.0/0.0, 3.0))) + call assert_equal("str2float('inf')", string(pow(2.0, 1.0/0.0))) + call assert_equal("str2float('inf')", string(pow(1.0/0.0, 3.0))) endfunc func Test_str2float() - call assert_equal(string(str2float('1')), '1.0') - call assert_equal(string(str2float('1.23')), '1.23') - call assert_equal(string(str2float('1.23abc')), '1.23') - call assert_equal(string(str2float('1e40')), '1.0e40') - call assert_equal(string(str2float('1e1000')), "str2float('inf')") - call assert_equal(string(str2float('inf')), "str2float('inf')") - call assert_equal(string(str2float('-inf')), "-str2float('inf')") - call assert_equal(string(str2float('Inf')), "str2float('inf')") - call assert_equal(string(str2float('nan')), "str2float('nan')") - call assert_equal(string(str2float('NaN')), "str2float('nan')") + call assert_equal('1.0', string(str2float('1'))) + 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("str2float('inf')", string(str2float('1e1000'))) + call assert_equal("str2float('inf')", string(str2float('inf'))) + call assert_equal("-str2float('inf')", string(str2float('-inf'))) + call assert_equal("str2float('inf')", string(str2float('Inf'))) + call assert_equal("str2float('nan')", string(str2float('nan'))) + call assert_equal("str2float('nan')", string(str2float('NaN'))) endfunc func Test_floor() - call assert_equal(string(floor(2.0)), '2.0') - call assert_equal(string(floor(2.11)), '2.0') - call assert_equal(string(floor(2.99)), '2.0') - call assert_equal(string(floor(-2.11)), '-3.0') - call assert_equal(string(floor(-2.99)), '-3.0') - call assert_equal(string(floor(0.0/0.0)), "str2float('nan')") - call assert_equal(string(floor(1.0/0.0)), "str2float('inf')") - call assert_equal(string(floor(-1.0/0.0)), "-str2float('inf')") + call assert_equal('2.0', string(floor(2.0))) + call assert_equal('2.0', string(floor(2.11))) + call assert_equal('2.0', string(floor(2.99))) + call assert_equal('-3.0', string(floor(-2.11))) + call assert_equal('-3.0', string(floor(-2.99))) + call assert_equal("str2float('nan')", string(floor(0.0/0.0))) + call assert_equal("str2float('inf')", string(floor(1.0/0.0))) + call assert_equal("-str2float('inf')", string(floor(-1.0/0.0))) endfunc func Test_ceil() - call assert_equal(string(ceil(2.0)), '2.0') - call assert_equal(string(ceil(2.11)), '3.0') - call assert_equal(string(ceil(2.99)), '3.0') - call assert_equal(string(ceil(-2.11)), '-2.0') - call assert_equal(string(ceil(-2.99)), '-2.0') - call assert_equal(string(ceil(0.0/0.0)), "str2float('nan')") - call assert_equal(string(ceil(1.0/0.0)), "str2float('inf')") - call assert_equal(string(ceil(-1.0/0.0)), "-str2float('inf')") + call assert_equal('2.0', string(ceil(2.0))) + call assert_equal('3.0', string(ceil(2.11))) + call assert_equal('3.0', string(ceil(2.99))) + call assert_equal('-2.0', string(ceil(-2.11))) + call assert_equal('-2.0', string(ceil(-2.99))) + call assert_equal("str2float('nan')", string(ceil(0.0/0.0))) + call assert_equal("str2float('inf')", string(ceil(1.0/0.0))) + call assert_equal("-str2float('inf')", string(ceil(-1.0/0.0))) endfunc func Test_round() - call assert_equal(string(round(2.1)), '2.0') - call assert_equal(string(round(2.5)), '3.0') - call assert_equal(string(round(2.9)), '3.0') - call assert_equal(string(round(-2.1)), '-2.0') - call assert_equal(string(round(-2.5)), '-3.0') - call assert_equal(string(round(-2.9)), '-3.0') - call assert_equal(string(round(0.0/0.0)), "str2float('nan')") - call assert_equal(string(round(1.0/0.0)), "str2float('inf')") - call assert_equal(string(round(-1.0/0.0)), "-str2float('inf')") + call assert_equal('2.0', string(round(2.1))) + call assert_equal('3.0', string(round(2.5))) + call assert_equal('3.0', string(round(2.9))) + call assert_equal('-2.0', string(round(-2.1))) + call assert_equal('-3.0', string(round(-2.5))) + call assert_equal('-3.0', string(round(-2.9))) + call assert_equal("str2float('nan')", string(round(0.0/0.0))) + call assert_equal("str2float('inf')", string(round(1.0/0.0))) + call assert_equal("-str2float('inf')", string(round(-1.0/0.0))) endfunc func Test_trunc() - call assert_equal(string(trunc(2.1)), '2.0') - call assert_equal(string(trunc(2.5)), '2.0') - call assert_equal(string(trunc(2.9)), '2.0') - call assert_equal(string(trunc(-2.1)), '-2.0') - call assert_equal(string(trunc(-2.5)), '-2.0') - call assert_equal(string(trunc(-2.9)), '-2.0') - call assert_equal(string(trunc(0.0/0.0)), "str2float('nan')") - call assert_equal(string(trunc(1.0/0.0)), "str2float('inf')") - call assert_equal(string(trunc(-1.0/0.0)), "-str2float('inf')") + call assert_equal('2.0', string(trunc(2.1))) + call assert_equal('2.0', string(trunc(2.5))) + call assert_equal('2.0', string(trunc(2.9))) + call assert_equal('-2.0', string(trunc(-2.1))) + call assert_equal('-2.0', string(trunc(-2.5))) + call assert_equal('-2.0', string(trunc(-2.9))) + call assert_equal("str2float('nan')", string(trunc(0.0/0.0))) + call assert_equal("str2float('inf')", string(trunc(1.0/0.0))) + call assert_equal("-str2float('inf')", string(trunc(-1.0/0.0))) endfunc func Test_isnan() throw 'skipped: Nvim does not support isnan()' - call assert_equal(isnan(1.0), 0) - call assert_equal(isnan(0.0/0.0), 1) - call assert_equal(isnan(1.0/0.0), 0) - call assert_equal(isnan('a'), 0) - call assert_equal(isnan([]), 0) + call assert_equal(0, isnan(1.0)) + call assert_equal(1, isnan(0.0/0.0)) + call assert_equal(0, isnan(1.0/0.0)) + call assert_equal(0, isnan('a')) + call assert_equal(0, isnan([])) endfunc -- cgit From 17d616037d9312be6fb99ab559861175a1bc35e6 Mon Sep 17 00:00:00 2001 From: James McCoy Date: Mon, 5 Jun 2017 22:39:09 -0400 Subject: vim-patch:8.0.0167 Problem: str2nr() and str2float() do not always work with negative values. Solution: Be more flexible about handling signs. (LemonBoy, closes vim/vim#1332) Add more tests. https://github.com/vim/vim/commit/08243d26d22ad44a857d02c90071578577b8a55d --- src/nvim/testdir/test_float_func.vim | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/nvim/testdir/test_float_func.vim') diff --git a/src/nvim/testdir/test_float_func.vim b/src/nvim/testdir/test_float_func.vim index 8600ce5b60..21a156e3d8 100644 --- a/src/nvim/testdir/test_float_func.vim +++ b/src/nvim/testdir/test_float_func.vim @@ -165,9 +165,22 @@ endfunc func Test_str2float() call assert_equal('1.0', string(str2float('1'))) + call assert_equal('1.0', string(str2float(' 1 '))) + call assert_equal('1.0', string(str2float(' 1.0 '))) 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.0', string(str2float('+1'))) + call assert_equal('1.0', string(str2float('+1'))) + call assert_equal('1.0', string(str2float(' +1 '))) + call assert_equal('1.0', string(str2float(' + 1 '))) + + call assert_equal('-1.0', string(str2float('-1'))) + call assert_equal('-1.0', string(str2float('-1'))) + call assert_equal('-1.0', string(str2float(' -1 '))) + call assert_equal('-1.0', string(str2float(' - 1 '))) + call assert_equal("str2float('inf')", string(str2float('1e1000'))) call assert_equal("str2float('inf')", string(str2float('inf'))) call assert_equal("-str2float('inf')", string(str2float('-inf'))) -- cgit From 0088ed0f1a73dcf85ce35733f2f6b2c1e84dcfef Mon Sep 17 00:00:00 2001 From: James McCoy Date: Mon, 5 Jun 2017 22:53:20 -0400 Subject: vim-patch:8.0.0168 Problem: Still some float functionality is not covered by tests. Solution: Add more tests. (Dominique Pelle, closes vim/vim#1364) https://github.com/vim/vim/commit/872004132f25cabe59352912889e042d6c7e6b4e --- src/nvim/testdir/test_float_func.vim | 40 ++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'src/nvim/testdir/test_float_func.vim') diff --git a/src/nvim/testdir/test_float_func.vim b/src/nvim/testdir/test_float_func.vim index 21a156e3d8..07ffe96129 100644 --- a/src/nvim/testdir/test_float_func.vim +++ b/src/nvim/testdir/test_float_func.vim @@ -13,6 +13,10 @@ func Test_abs() call assert_equal("str2float('inf')", string(abs(1.0/0.0))) call assert_equal("str2float('inf')", string(abs(-1.0/0.0))) call assert_equal("str2float('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,6 +25,7 @@ func Test_sqrt() call assert_equal("str2float('inf')", string(sqrt(1.0/0.0))) call assert_equal("str2float('nan')", string(sqrt(-1.0))) call assert_equal("str2float('nan')", string(sqrt(0.0/0.0))) + call assert_fails('call sqrt("")', 'E808:') endfunc func Test_log() @@ -30,6 +35,7 @@ func Test_log() call assert_equal("str2float('nan')", string(log(-1.0))) call assert_equal("str2float('inf')", string(log(1.0/0.0))) call assert_equal("str2float('nan')", string(log(0.0/0.0))) + call assert_fails('call log("")', 'E808:') endfunc func Test_log10() @@ -40,6 +46,7 @@ func Test_log10() call assert_equal("str2float('nan')", string(log10(-1.0))) call assert_equal("str2float('inf')", string(log10(1.0/0.0))) call assert_equal("str2float('nan')", string(log10(0.0/0.0))) + call assert_fails('call log10("")', 'E808:') endfunc func Test_exp() @@ -49,6 +56,7 @@ func Test_exp() call assert_equal("str2float('inf')", string(exp(1.0/0.0))) call assert_equal('0.0', string(exp(-1.0/0.0))) call assert_equal("str2float('nan')", string(exp(0.0/0.0))) + call assert_fails('call exp("")', 'E808:') endfunc func Test_sin() @@ -59,6 +67,7 @@ func Test_sin() call assert_equal("str2float('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,6 +77,7 @@ func Test_asin() call assert_equal("str2float('nan')", string(asin(1.1))) call assert_equal("str2float('nan')", string(asin(1.0/0.0))) call assert_equal("str2float('nan')", string(asin(0.0/0.0))) + call assert_fails('call asin("")', 'E808:') endfunc func Test_sinh() @@ -77,6 +87,7 @@ func Test_sinh() call assert_equal("str2float('inf')", string(sinh(1.0/0.0))) call assert_equal("-str2float('inf')", string(sinh(-1.0/0.0))) call assert_equal("str2float('nan')", string(sinh(0.0/0.0))) + call assert_fails('call sinh("")', 'E808:') endfunc func Test_cos() @@ -85,6 +96,7 @@ func Test_cos() call assert_equal('0.877583', string(cos(-0.5))) call assert_equal("str2float('nan')", string(cos(0.0/0.0))) call assert_equal("str2float('nan')", string(cos(1.0/0.0))) + call assert_fails('call cos("")', 'E808:') endfunc func Test_acos() @@ -95,6 +107,7 @@ func Test_acos() call assert_equal("str2float('nan')", string(acos(1.1))) call assert_equal("str2float('nan')", string(acos(1.0/0.0))) call assert_equal("str2float('nan')", string(acos(0.0/0.0))) + call assert_fails('call acos("")', 'E808:') endfunc func Test_cosh() @@ -103,6 +116,7 @@ func Test_cosh() call assert_equal("str2float('inf')", string(cosh(1.0/0.0))) call assert_equal("str2float('inf')", string(cosh(-1.0/0.0))) call assert_equal("str2float('nan')", string(cosh(0.0/0.0))) + call assert_fails('call cosh("")', 'E808:') endfunc func Test_tan() @@ -113,6 +127,7 @@ func Test_tan() call assert_equal("str2float('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,6 +137,7 @@ func Test_atan() 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("str2float('nan')", string(atan(0.0/0.0))) + call assert_fails('call atan("")', 'E808:') endfunc func Test_atan2() @@ -130,6 +146,8 @@ func Test_atan2() 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("str2float('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,6 +157,7 @@ func Test_tanh() 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("str2float('nan')", string(tanh(0.0/0.0))) + call assert_fails('call tanh("")', 'E808:') endfunc func Test_fmod() @@ -151,6 +170,8 @@ func Test_fmod() call assert_equal('1.0', res) endif call assert_equal("str2float('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,6 +182,8 @@ func Test_pow() call assert_equal("str2float('nan')", string(pow(0.0/0.0, 3.0))) call assert_equal("str2float('inf')", string(pow(2.0, 1.0/0.0))) call assert_equal("str2float('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,6 +193,8 @@ func Test_str2float() 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,12 +206,22 @@ func Test_str2float() 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("str2float('inf')", string(str2float('1e1000'))) call assert_equal("str2float('inf')", string(str2float('inf'))) call assert_equal("-str2float('inf')", string(str2float('-inf'))) + call assert_equal("str2float('inf')", string(str2float('+inf'))) call assert_equal("str2float('inf')", string(str2float('Inf'))) + call assert_equal("str2float('inf')", string(str2float(' +inf '))) call assert_equal("str2float('nan')", string(str2float('nan'))) call assert_equal("str2float('nan')", string(str2float('NaN'))) + call assert_equal("str2float('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,6 +233,7 @@ func Test_floor() call assert_equal("str2float('nan')", string(floor(0.0/0.0))) call assert_equal("str2float('inf')", string(floor(1.0/0.0))) call assert_equal("-str2float('inf')", string(floor(-1.0/0.0))) + call assert_fails("call floor('')", 'E808:') endfunc func Test_ceil() @@ -209,6 +245,7 @@ func Test_ceil() call assert_equal("str2float('nan')", string(ceil(0.0/0.0))) call assert_equal("str2float('inf')", string(ceil(1.0/0.0))) call assert_equal("-str2float('inf')", string(ceil(-1.0/0.0))) + call assert_fails("call ceil('')", 'E808:') endfunc func Test_round() @@ -221,6 +258,7 @@ func Test_round() call assert_equal("str2float('nan')", string(round(0.0/0.0))) call assert_equal("str2float('inf')", string(round(1.0/0.0))) call assert_equal("-str2float('inf')", string(round(-1.0/0.0))) + call assert_fails("call round('')", 'E808:') endfunc func Test_trunc() @@ -233,6 +271,7 @@ func Test_trunc() call assert_equal("str2float('nan')", string(trunc(0.0/0.0))) call assert_equal("str2float('inf')", string(trunc(1.0/0.0))) call assert_equal("-str2float('inf')", string(trunc(-1.0/0.0))) + call assert_fails("call trunc('')", 'E808:') endfunc func Test_isnan() @@ -242,4 +281,5 @@ func Test_isnan() 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 -- cgit From 6757c503bd6c8715cee38475c329f7daee7a760f Mon Sep 17 00:00:00 2001 From: James McCoy Date: Tue, 6 Jun 2017 07:34:25 -0400 Subject: vim-patch:8.0.0614 Problem: float2nr() is not exactly right. Solution: Make float2nr() more accurate. Turn test64 into a new style test. (Hirohito Higashi, closes vim/vim#1688) https://github.com/vim/vim/commit/863e80b4451b5102b41bebf9ddca3a420de746fa --- src/nvim/testdir/test_float_func.vim | 47 ++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'src/nvim/testdir/test_float_func.vim') diff --git a/src/nvim/testdir/test_float_func.vim b/src/nvim/testdir/test_float_func.vim index 07ffe96129..5ea5192994 100644 --- a/src/nvim/testdir/test_float_func.vim +++ b/src/nvim/testdir/test_float_func.vim @@ -224,6 +224,20 @@ func Test_str2float() call assert_fails("call str2float(function('string'))", 'E729:') endfunc +func Test_float2nr() + call assert_equal(1, float2nr(1.234)) + call assert_equal(123, float2nr(1.234e2)) + call assert_equal(12, float2nr(123.4e-1)) + let max_number = 1/0 + let min_number = -max_number + call assert_equal(max_number/2+1, float2nr(pow(2, 62))) + call assert_equal(max_number, float2nr(pow(2, 63))) + call assert_equal(max_number, float2nr(pow(2, 64))) + call assert_equal(min_number/2-1, float2nr(-pow(2, 62))) + call assert_equal(min_number, float2nr(-pow(2, 63))) + call assert_equal(min_number, float2nr(-pow(2, 64))) +endfunc + func Test_floor() call assert_equal('2.0', string(floor(2.0))) call assert_equal('2.0', string(floor(2.11))) @@ -283,3 +297,36 @@ func Test_isnan() call assert_equal(0, isnan([])) call assert_equal(0, isnan({})) endfunc + +" This was converted from test65 +func Test_float_misc() + call assert_equal('123.456000', printf('%f', 123.456)) + call assert_equal('1.234560e+02', printf('%e', 123.456)) + call assert_equal('123.456', printf('%g', 123.456)) + " += + let v = 1.234 + let v += 6.543 + call assert_equal('7.777', printf('%g', v)) + let v = 1.234 + let v += 5 + call assert_equal('6.234', printf('%g', v)) + let v = 5 + let v += 3.333 + call assert_equal('8.333', string(v)) + " == + let v = 1.234 + call assert_true(v == 1.234) + call assert_false(v == 1.2341) + " add-subtract + call assert_equal('5.234', printf('%g', 4 + 1.234)) + call assert_equal('-6.766', printf('%g', 1.234 - 8)) + " mult-div + call assert_equal('4.936', printf('%g', 4 * 1.234)) + call assert_equal('0.003241', printf('%g', 4.0 / 1234)) + " dict + call assert_equal("{'x': 1.234, 'y': -2.0e20}", string({'x': 1.234, 'y': -2.0e20})) + " list + call assert_equal('[-123.4, 2.0e-20]', string([-123.4, 2.0e-20])) +endfunc + +" vim: shiftwidth=2 sts=2 expandtab -- cgit