forked from aniani/vim
patch 9.0.0491: no good reason to build without the float feature
Problem: No good reason to build without the float feature. Solution: Remove configure check for float and "#ifdef FEAT_FLOAT".
This commit is contained in:
@@ -18,9 +18,7 @@ def Test_expr1_ternary()
|
||||
assert_equal('one', 1 ?
|
||||
'one' :
|
||||
'two')
|
||||
if has('float')
|
||||
assert_equal('one', !!0.1 ? 'one' : 'two')
|
||||
endif
|
||||
assert_equal('one', !!0.1 ? 'one' : 'two')
|
||||
assert_equal('one', !!'x' ? 'one' : 'two')
|
||||
assert_equal('one', !!'x'
|
||||
? 'one'
|
||||
@@ -33,9 +31,7 @@ def Test_expr1_ternary()
|
||||
|
||||
assert_equal('two', false ? 'one' : 'two')
|
||||
assert_equal('two', 0 ? 'one' : 'two')
|
||||
if has('float')
|
||||
assert_equal('two', !!0.0 ? 'one' : 'two')
|
||||
endif
|
||||
assert_equal('two', !!0.0 ? 'one' : 'two')
|
||||
assert_equal('two', !!'' ? 'one' : 'two')
|
||||
assert_equal('two', !!0z ? 'one' : 'two')
|
||||
assert_equal('two', !![] ? 'one' : 'two')
|
||||
@@ -208,9 +204,7 @@ func Test_expr1_ternary_fails()
|
||||
call v9.CheckDefExecAndScriptFailure(["var x = true ? xxx : 'foo'"], ['E1001:', 'E121:'], 1)
|
||||
call v9.CheckDefExecAndScriptFailure(["var x = false ? 'foo' : xxx"], ['E1001:', 'E121:'], 1)
|
||||
|
||||
if has('float')
|
||||
call v9.CheckDefAndScriptFailure(["var x = 0.1 ? 'one' : 'two'"], 'E805:', 1)
|
||||
endif
|
||||
call v9.CheckDefAndScriptFailure(["var x = 0.1 ? 'one' : 'two'"], 'E805:', 1)
|
||||
|
||||
" missing argument detected even when common type is used
|
||||
call v9.CheckDefAndScriptFailure([
|
||||
@@ -227,18 +221,14 @@ def Test_expr1_falsy()
|
||||
assert_equal('yes', 'yes' ?? 456)
|
||||
assert_equal([1], [1] ?? 456)
|
||||
assert_equal({one: 1}, {one: 1} ?? 456)
|
||||
if has('float')
|
||||
assert_equal(0.1, 0.1 ?? 456)
|
||||
endif
|
||||
assert_equal(0.1, 0.1 ?? 456)
|
||||
|
||||
assert_equal(456, v:false ?? 456)
|
||||
assert_equal(456, 0 ?? 456)
|
||||
assert_equal(456, '' ?? 456)
|
||||
assert_equal(456, [] ?? 456)
|
||||
assert_equal(456, {} ?? 456)
|
||||
if has('float')
|
||||
assert_equal(456, 0.0 ?? 456)
|
||||
endif
|
||||
assert_equal(456, 0.0 ?? 456)
|
||||
END
|
||||
v9.CheckDefAndScriptSuccess(lines)
|
||||
|
||||
@@ -567,9 +557,7 @@ let anull = v:null
|
||||
let anint = 10
|
||||
let theone = 1
|
||||
let thefour = 4
|
||||
if has('float')
|
||||
let afloat = 0.1
|
||||
endif
|
||||
let afloat = 0.1
|
||||
let astring = 'asdf'
|
||||
let ablob = 0z01ab
|
||||
let alist = [2, 3, 4]
|
||||
@@ -605,20 +593,18 @@ def Test_expr4_equal()
|
||||
assert_equal(true, g:anint == 10)
|
||||
assert_equal(false, 61 == g:anint)
|
||||
|
||||
if has('float')
|
||||
var ff = 0.3
|
||||
assert_equal(true, ff == 0.3)
|
||||
assert_equal(false, 0.4 == ff)
|
||||
assert_equal(true, 0.1 == g:afloat)
|
||||
assert_equal(false, g:afloat == 0.3)
|
||||
var ff = 0.3
|
||||
assert_equal(true, ff == 0.3)
|
||||
assert_equal(false, 0.4 == ff)
|
||||
assert_equal(true, 0.1 == g:afloat)
|
||||
assert_equal(false, g:afloat == 0.3)
|
||||
|
||||
ff = 3.0
|
||||
assert_equal(true, ff == 3)
|
||||
assert_equal(true, 3 == ff)
|
||||
ff = 3.1
|
||||
assert_equal(false, ff == 3)
|
||||
assert_equal(false, 3 == ff)
|
||||
endif
|
||||
ff = 3.0
|
||||
assert_equal(true, ff == 3)
|
||||
assert_equal(true, 3 == ff)
|
||||
ff = 3.1
|
||||
assert_equal(false, ff == 3)
|
||||
assert_equal(false, 3 == ff)
|
||||
|
||||
assert_equal(true, 'abc' == 'abc')
|
||||
assert_equal(false, 'xyz' == 'abc')
|
||||
@@ -706,20 +692,18 @@ def Test_expr4_equal()
|
||||
v9.CheckScriptFailure(lines, 'E1030: Using a String as a Number: "3"')
|
||||
assert_true(g:notReached)
|
||||
|
||||
if has('float')
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
var n: any = 2.2
|
||||
def Compare()
|
||||
eval n == '3'
|
||||
g:notReached = false
|
||||
enddef
|
||||
g:notReached = true
|
||||
Compare()
|
||||
END
|
||||
v9.CheckScriptFailure(lines, 'E892: Using a String as a Float')
|
||||
assert_true(g:notReached)
|
||||
endif
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
var n: any = 2.2
|
||||
def Compare()
|
||||
eval n == '3'
|
||||
g:notReached = false
|
||||
enddef
|
||||
g:notReached = true
|
||||
Compare()
|
||||
END
|
||||
v9.CheckScriptFailure(lines, 'E892: Using a String as a Float')
|
||||
assert_true(g:notReached)
|
||||
|
||||
unlet g:notReached
|
||||
enddef
|
||||
@@ -746,16 +730,14 @@ def Test_expr4_compare_null()
|
||||
assert_true(null != 123)
|
||||
assert_true(null != 0)
|
||||
|
||||
if has('float')
|
||||
assert_false(12.3 == null)
|
||||
assert_false(0.0 == null)
|
||||
assert_false(null == 12.3)
|
||||
assert_false(null == 0.0)
|
||||
assert_true(12.3 != null)
|
||||
assert_true(0.0 != null)
|
||||
assert_true(null != 12.3)
|
||||
assert_true(null != 0.0)
|
||||
endif
|
||||
assert_false(12.3 == null)
|
||||
assert_false(0.0 == null)
|
||||
assert_false(null == 12.3)
|
||||
assert_false(null == 0.0)
|
||||
assert_true(12.3 != null)
|
||||
assert_true(0.0 != null)
|
||||
assert_true(null != 12.3)
|
||||
assert_true(null != 0.0)
|
||||
|
||||
assert_true(test_null_blob() == v:null)
|
||||
assert_true(null_blob == null)
|
||||
@@ -1077,20 +1059,18 @@ def Test_expr4_notequal()
|
||||
assert_equal(false, g:anint != 10)
|
||||
assert_equal(true, 61 != g:anint)
|
||||
|
||||
if has('float')
|
||||
var ff = 0.3
|
||||
assert_equal(false, 0.3 != ff)
|
||||
assert_equal(true, 0.4 != ff)
|
||||
assert_equal(false, 0.1 != g:afloat)
|
||||
assert_equal(true, g:afloat != 0.3)
|
||||
var ff = 0.3
|
||||
assert_equal(false, 0.3 != ff)
|
||||
assert_equal(true, 0.4 != ff)
|
||||
assert_equal(false, 0.1 != g:afloat)
|
||||
assert_equal(true, g:afloat != 0.3)
|
||||
|
||||
ff = 3.0
|
||||
assert_equal(false, ff != 3)
|
||||
assert_equal(false, 3 != ff)
|
||||
ff = 3.1
|
||||
assert_equal(true, ff != 3)
|
||||
assert_equal(true, 3 != ff)
|
||||
endif
|
||||
ff = 3.0
|
||||
assert_equal(false, ff != 3)
|
||||
assert_equal(false, 3 != ff)
|
||||
ff = 3.1
|
||||
assert_equal(true, ff != 3)
|
||||
assert_equal(true, 3 != ff)
|
||||
|
||||
assert_equal(false, 'abc' != 'abc')
|
||||
assert_equal(true, 'xyz' != 'abc')
|
||||
@@ -1149,13 +1129,11 @@ def Test_expr4_greater()
|
||||
assert_false(nr2 > 2)
|
||||
assert_false(nr2
|
||||
> 3)
|
||||
if has('float')
|
||||
var ff = 2.0
|
||||
assert_true(ff > 0.0)
|
||||
assert_true(ff > 1.0)
|
||||
assert_false(ff > 2.0)
|
||||
assert_false(ff > 3.0)
|
||||
endif
|
||||
var ff = 2.0
|
||||
assert_true(ff > 0.0)
|
||||
assert_true(ff > 1.0)
|
||||
assert_false(ff > 2.0)
|
||||
assert_false(ff > 3.0)
|
||||
END
|
||||
v9.CheckDefAndScriptSuccess(lines)
|
||||
enddef
|
||||
@@ -1171,12 +1149,10 @@ def Test_expr4_greaterequal()
|
||||
assert_true(nr2 >= 0)
|
||||
assert_true(nr2 >= 2)
|
||||
assert_false(nr2 >= 3)
|
||||
if has('float')
|
||||
var ff = 2.0
|
||||
assert_true(ff >= 0.0)
|
||||
assert_true(ff >= 2.0)
|
||||
assert_false(ff >= 3.0)
|
||||
endif
|
||||
var ff = 2.0
|
||||
assert_true(ff >= 0.0)
|
||||
assert_true(ff >= 2.0)
|
||||
assert_false(ff >= 3.0)
|
||||
END
|
||||
v9.CheckDefAndScriptSuccess(lines)
|
||||
enddef
|
||||
@@ -1193,12 +1169,10 @@ def Test_expr4_smaller()
|
||||
assert_false(nr2 < 0)
|
||||
assert_false(nr2 < 2)
|
||||
assert_true(nr2 < 3)
|
||||
if has('float')
|
||||
var ff = 2.0
|
||||
assert_false(ff < 0.0)
|
||||
assert_false(ff < 2.0)
|
||||
assert_true(ff < 3.0)
|
||||
endif
|
||||
var ff = 2.0
|
||||
assert_false(ff < 0.0)
|
||||
assert_false(ff < 2.0)
|
||||
assert_true(ff < 3.0)
|
||||
END
|
||||
v9.CheckDefAndScriptSuccess(lines)
|
||||
enddef
|
||||
@@ -1217,13 +1191,11 @@ def Test_expr4_smallerequal()
|
||||
assert_false(nr2 <= 1)
|
||||
assert_true(nr2 <= 2)
|
||||
assert_true(nr2 <= 3)
|
||||
if has('float')
|
||||
var ff = 2.0
|
||||
assert_false(ff <= 0.0)
|
||||
assert_false(ff <= 1.0)
|
||||
assert_true(ff <= 2.0)
|
||||
assert_true(ff <= 3.0)
|
||||
endif
|
||||
var ff = 2.0
|
||||
assert_false(ff <= 0.0)
|
||||
assert_false(ff <= 1.0)
|
||||
assert_true(ff <= 2.0)
|
||||
assert_true(ff <= 3.0)
|
||||
END
|
||||
v9.CheckDefAndScriptSuccess(lines)
|
||||
enddef
|
||||
@@ -1456,10 +1428,8 @@ func Test_expr4_fails()
|
||||
call v9.CheckDefAndScriptFailure(["var x = v:none isnot v:null"], 'Cannot use "isnot" with special', 1)
|
||||
call v9.CheckDefAndScriptFailure(["var x = 123 is 123"], 'Cannot use "is" with number', 1)
|
||||
call v9.CheckDefAndScriptFailure(["var x = 123 isnot 123"], 'Cannot use "isnot" with number', 1)
|
||||
if has('float')
|
||||
call v9.CheckDefAndScriptFailure(["var x = 1.3 is 1.3"], 'Cannot use "is" with float', 1)
|
||||
call v9.CheckDefAndScriptFailure(["var x = 1.3 isnot 1.3"], 'Cannot use "isnot" with float', 1)
|
||||
endif
|
||||
call v9.CheckDefAndScriptFailure(["var x = 1.3 is 1.3"], 'Cannot use "is" with float', 1)
|
||||
call v9.CheckDefAndScriptFailure(["var x = 1.3 isnot 1.3"], 'Cannot use "isnot" with float', 1)
|
||||
|
||||
call v9.CheckDefAndScriptFailure(["var x = 0za1 > 0z34"], 'Cannot compare blob with blob', 1)
|
||||
call v9.CheckDefAndScriptFailure(["var x = 0za1 >= 0z34"], 'Cannot compare blob with blob', 1)
|
||||
@@ -1518,9 +1488,7 @@ def Test_expr6()
|
||||
assert_equal('afalse', 'a' .. false)
|
||||
assert_equal('anull', 'a' .. v:null)
|
||||
assert_equal('av:none', 'a' .. v:none)
|
||||
if has('float')
|
||||
assert_equal('a0.123', 'a' .. 0.123)
|
||||
endif
|
||||
assert_equal('a0.123', 'a' .. 0.123)
|
||||
|
||||
assert_equal(3, 1 + [2, 3, 4][0])
|
||||
assert_equal(5, 2 + {key: 3}['key'])
|
||||
@@ -1719,31 +1687,27 @@ def Test_expr6_vim9script_channel()
|
||||
enddef
|
||||
|
||||
def Test_expr6_float()
|
||||
if !has('float')
|
||||
MissingFeature 'float'
|
||||
else
|
||||
var lines =<< trim END
|
||||
assert_equal(66.0, 60.0 + 6.0)
|
||||
assert_equal(66.0, 60.0 + 6)
|
||||
assert_equal(66.0, 60 +
|
||||
6.0)
|
||||
assert_equal(5.1, g:afloat
|
||||
+ 5)
|
||||
assert_equal(8.1, 8 + g:afloat)
|
||||
assert_equal(10.1, g:anint + g:afloat)
|
||||
assert_equal(10.1, g:afloat + g:anint)
|
||||
var lines =<< trim END
|
||||
assert_equal(66.0, 60.0 + 6.0)
|
||||
assert_equal(66.0, 60.0 + 6)
|
||||
assert_equal(66.0, 60 +
|
||||
6.0)
|
||||
assert_equal(5.1, g:afloat
|
||||
+ 5)
|
||||
assert_equal(8.1, 8 + g:afloat)
|
||||
assert_equal(10.1, g:anint + g:afloat)
|
||||
assert_equal(10.1, g:afloat + g:anint)
|
||||
|
||||
assert_equal(54.0, 60.0 - 6.0)
|
||||
assert_equal(54.0, 60.0
|
||||
- 6)
|
||||
assert_equal(54.0, 60 - 6.0)
|
||||
assert_equal(-4.9, g:afloat - 5)
|
||||
assert_equal(7.9, 8 - g:afloat)
|
||||
assert_equal(9.9, g:anint - g:afloat)
|
||||
assert_equal(-9.9, g:afloat - g:anint)
|
||||
END
|
||||
v9.CheckDefAndScriptSuccess(lines)
|
||||
endif
|
||||
assert_equal(54.0, 60.0 - 6.0)
|
||||
assert_equal(54.0, 60.0
|
||||
- 6)
|
||||
assert_equal(54.0, 60 - 6.0)
|
||||
assert_equal(-4.9, g:afloat - 5)
|
||||
assert_equal(7.9, 8 - g:afloat)
|
||||
assert_equal(9.9, g:anint - g:afloat)
|
||||
assert_equal(-9.9, g:afloat - g:anint)
|
||||
END
|
||||
v9.CheckDefAndScriptSuccess(lines)
|
||||
enddef
|
||||
|
||||
func Test_expr6_fails()
|
||||
@@ -1852,14 +1816,12 @@ def Test_expr7()
|
||||
var y = [3]
|
||||
assert_equal(5, x[0] + y[0])
|
||||
assert_equal(6, x[0] * y[0])
|
||||
if has('float')
|
||||
var xf = [2.0]
|
||||
var yf = [3.0]
|
||||
assert_equal(5.0, xf[0]
|
||||
+ yf[0])
|
||||
assert_equal(6.0, xf[0]
|
||||
* yf[0])
|
||||
endif
|
||||
var xf = [2.0]
|
||||
var yf = [3.0]
|
||||
assert_equal(5.0, xf[0]
|
||||
+ yf[0])
|
||||
assert_equal(6.0, xf[0]
|
||||
* yf[0])
|
||||
END
|
||||
v9.CheckDefAndScriptSuccess(lines)
|
||||
|
||||
@@ -1874,13 +1836,11 @@ def Test_expr7()
|
||||
v9.CheckDefExecFailure(['echo 123 / g:zero'], 'E1154: Divide by zero')
|
||||
v9.CheckDefExecFailure(['echo 123 % g:zero'], 'E1154: Divide by zero')
|
||||
|
||||
if has('float')
|
||||
v9.CheckDefExecAndScriptFailure([
|
||||
'g:one = 1.0',
|
||||
'g:two = 2.0',
|
||||
'echo g:one % g:two',
|
||||
], 'E804', 3)
|
||||
endif
|
||||
v9.CheckDefExecAndScriptFailure([
|
||||
'g:one = 1.0',
|
||||
'g:two = 2.0',
|
||||
'echo g:one % g:two',
|
||||
], 'E804', 3)
|
||||
|
||||
lines =<< trim END
|
||||
var n = 0
|
||||
@@ -1948,36 +1908,32 @@ def Test_expr7_vim9script()
|
||||
enddef
|
||||
|
||||
def Test_expr7_float()
|
||||
if !has('float')
|
||||
MissingFeature 'float'
|
||||
else
|
||||
var lines =<< trim END
|
||||
assert_equal(36.0, 6.0 * 6)
|
||||
assert_equal(36.0, 6 *
|
||||
6.0)
|
||||
assert_equal(36.0, 6.0 * 6.0)
|
||||
assert_equal(1.0, g:afloat * g:anint)
|
||||
var lines =<< trim END
|
||||
assert_equal(36.0, 6.0 * 6)
|
||||
assert_equal(36.0, 6 *
|
||||
6.0)
|
||||
assert_equal(36.0, 6.0 * 6.0)
|
||||
assert_equal(1.0, g:afloat * g:anint)
|
||||
|
||||
assert_equal(10.0, 60 / 6.0)
|
||||
assert_equal(10.0, 60.0 /
|
||||
6)
|
||||
assert_equal(10.0, 60.0 / 6.0)
|
||||
assert_equal(0.01, g:afloat / g:anint)
|
||||
assert_equal(10.0, 60 / 6.0)
|
||||
assert_equal(10.0, 60.0 /
|
||||
6)
|
||||
assert_equal(10.0, 60.0 / 6.0)
|
||||
assert_equal(0.01, g:afloat / g:anint)
|
||||
|
||||
assert_equal(4.0, 6.0 * 4 / 6)
|
||||
assert_equal(4.0, 6 *
|
||||
4.0 /
|
||||
6)
|
||||
assert_equal(4.0, 6 * 4 / 6.0)
|
||||
assert_equal(4.0, 6.0 * 4.0 / 6)
|
||||
assert_equal(4.0, 6 * 4.0 / 6.0)
|
||||
assert_equal(4.0, 6.0 * 4 / 6.0)
|
||||
assert_equal(4.0, 6.0 * 4.0 / 6.0)
|
||||
assert_equal(4.0, 6.0 * 4 / 6)
|
||||
assert_equal(4.0, 6 *
|
||||
4.0 /
|
||||
6)
|
||||
assert_equal(4.0, 6 * 4 / 6.0)
|
||||
assert_equal(4.0, 6.0 * 4.0 / 6)
|
||||
assert_equal(4.0, 6 * 4.0 / 6.0)
|
||||
assert_equal(4.0, 6.0 * 4 / 6.0)
|
||||
assert_equal(4.0, 6.0 * 4.0 / 6.0)
|
||||
|
||||
assert_equal(4.0, 6.0 * 4.0 / 6.0)
|
||||
END
|
||||
v9.CheckDefAndScriptSuccess(lines)
|
||||
endif
|
||||
assert_equal(4.0, 6.0 * 4.0 / 6.0)
|
||||
END
|
||||
v9.CheckDefAndScriptSuccess(lines)
|
||||
enddef
|
||||
|
||||
func Test_expr7_fails()
|
||||
@@ -2013,9 +1969,7 @@ func Test_expr7_fails()
|
||||
call v9.CheckDefAndScriptFailure(["var x = {one: 1} % {two: 2}"], ['E1035:', 'E728:'], 1)
|
||||
|
||||
call v9.CheckDefAndScriptFailure(["var x = 0xff[1]"], ['E1107:', 'E1062:'], 1)
|
||||
if has('float')
|
||||
call v9.CheckDefAndScriptFailure(["var x = 0.7[1]"], ['E1107:', 'E806:'], 1)
|
||||
endif
|
||||
call v9.CheckDefAndScriptFailure(["var x = 0.7[1]"], ['E1107:', 'E806:'], 1)
|
||||
|
||||
for op in ['*', '/', '%']
|
||||
let lines = ['var x = 1', op .. '2', '# comment']
|
||||
@@ -2025,16 +1979,14 @@ func Test_expr7_fails()
|
||||
endfunc
|
||||
|
||||
func Test_expr7_float_fails()
|
||||
CheckFeature float
|
||||
call v9.CheckDefAndScriptFailure(["var x = 1.0 % 2"], ['E1035:', 'E804:'], 1)
|
||||
endfunc
|
||||
|
||||
" define here to use old style parsing
|
||||
if has('float')
|
||||
let g:float_zero = 0.0
|
||||
let g:float_neg = -9.8
|
||||
let g:float_big = 9.9e99
|
||||
endif
|
||||
let g:float_zero = 0.0
|
||||
let g:float_neg = -9.8
|
||||
let g:float_big = 9.9e99
|
||||
|
||||
let g:blob_empty = 0z
|
||||
let g:blob_one = 0z01
|
||||
let g:blob_long = 0z0102.0304
|
||||
@@ -2099,17 +2051,13 @@ enddef
|
||||
|
||||
def Test_expr9_float()
|
||||
# float constant
|
||||
if !has('float')
|
||||
MissingFeature 'float'
|
||||
else
|
||||
var lines =<< trim END
|
||||
assert_equal(g:float_zero, .0)
|
||||
assert_equal(g:float_zero, 0.0)
|
||||
assert_equal(g:float_neg, -9.8)
|
||||
assert_equal(g:float_big, 9.9e99)
|
||||
END
|
||||
v9.CheckDefAndScriptSuccess(lines)
|
||||
endif
|
||||
var lines =<< trim END
|
||||
assert_equal(g:float_zero, .0)
|
||||
assert_equal(g:float_zero, 0.0)
|
||||
assert_equal(g:float_neg, -9.8)
|
||||
assert_equal(g:float_big, 9.9e99)
|
||||
END
|
||||
v9.CheckDefAndScriptSuccess(lines)
|
||||
enddef
|
||||
|
||||
def Test_expr9_blob()
|
||||
@@ -2797,11 +2745,9 @@ def Test_expr9_dict()
|
||||
assert_equal('numberexpr', dkeys[12])
|
||||
assert_equal('number', dkeys[34])
|
||||
assert_equal('bool', dkeys[true])
|
||||
if has('float')
|
||||
dkeys = {[1.2]: 'floatexpr', [3.4]: 'float'}
|
||||
assert_equal('floatexpr', dkeys[1.2])
|
||||
assert_equal('float', dkeys[3.4])
|
||||
endif
|
||||
dkeys = {[1.2]: 'floatexpr', [3.4]: 'float'}
|
||||
assert_equal('floatexpr', dkeys[1.2])
|
||||
assert_equal('float', dkeys[3.4])
|
||||
|
||||
# automatic conversion from number to string
|
||||
var n = 123
|
||||
|
Reference in New Issue
Block a user