comparison src/testdir/test_vimscript.vim @ 19249:2a017e9dc6da v8.2.0183

patch 8.2.0183: tests fail when the float feature is disabled Commit: https://github.com/vim/vim/commit/5feabe00c47fa66d5f4c95213f150488433f78e3 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Jan 30 18:24:53 2020 +0100 patch 8.2.0183: tests fail when the float feature is disabled Problem: Tests fail when the float feature is disabled. Solution: Skip tests that don't work without float support.
author Bram Moolenaar <Bram@vim.org>
date Thu, 30 Jan 2020 18:30:04 +0100
parents b920ae62c7b1
children 02111977dd05
comparison
equal deleted inserted replaced
19248:5e803caf5e9c 19249:2a017e9dc6da
1140 call assert_equal(1, type("")) 1140 call assert_equal(1, type(""))
1141 call assert_equal(2, type(function("tr"))) 1141 call assert_equal(2, type(function("tr")))
1142 call assert_equal(2, type(function("tr", [8]))) 1142 call assert_equal(2, type(function("tr", [8])))
1143 call assert_equal(3, type([])) 1143 call assert_equal(3, type([]))
1144 call assert_equal(4, type({})) 1144 call assert_equal(4, type({}))
1145 call assert_equal(5, type(0.0)) 1145 if has('float')
1146 call assert_equal(5, type(0.0))
1147 endif
1146 call assert_equal(6, type(v:false)) 1148 call assert_equal(6, type(v:false))
1147 call assert_equal(6, type(v:true)) 1149 call assert_equal(6, type(v:true))
1148 call assert_equal(7, type(v:none)) 1150 call assert_equal(7, type(v:none))
1149 call assert_equal(7, type(v:null)) 1151 call assert_equal(7, type(v:null))
1150 call assert_equal(8, v:t_job) 1152 call assert_equal(8, v:t_job)
1153 call assert_equal(v:t_string, type("")) 1155 call assert_equal(v:t_string, type(""))
1154 call assert_equal(v:t_func, type(function("tr"))) 1156 call assert_equal(v:t_func, type(function("tr")))
1155 call assert_equal(v:t_func, type(function("tr", [8]))) 1157 call assert_equal(v:t_func, type(function("tr", [8])))
1156 call assert_equal(v:t_list, type([])) 1158 call assert_equal(v:t_list, type([]))
1157 call assert_equal(v:t_dict, type({})) 1159 call assert_equal(v:t_dict, type({}))
1158 call assert_equal(v:t_float, type(0.0)) 1160 if has('float')
1161 call assert_equal(v:t_float, type(0.0))
1162 endif
1159 call assert_equal(v:t_bool, type(v:false)) 1163 call assert_equal(v:t_bool, type(v:false))
1160 call assert_equal(v:t_bool, type(v:true)) 1164 call assert_equal(v:t_bool, type(v:true))
1161 call assert_equal(v:t_none, type(v:none)) 1165 call assert_equal(v:t_none, type(v:none))
1162 call assert_equal(v:t_none, type(v:null)) 1166 call assert_equal(v:t_none, type(v:null))
1163 1167
1423 1427
1424 call assert_equal( 9223372036854775807, 1 / 0) 1428 call assert_equal( 9223372036854775807, 1 / 0)
1425 call assert_equal(-9223372036854775807, -1 / 0) 1429 call assert_equal(-9223372036854775807, -1 / 0)
1426 call assert_equal(-9223372036854775807 - 1, 0 / 0) 1430 call assert_equal(-9223372036854775807 - 1, 0 / 0)
1427 1431
1428 call assert_equal( 0x7FFFffffFFFFffff, float2nr( 1.0e150)) 1432 if has('float')
1429 call assert_equal(-0x7FFFffffFFFFffff, float2nr(-1.0e150)) 1433 call assert_equal( 0x7FFFffffFFFFffff, float2nr( 1.0e150))
1434 call assert_equal(-0x7FFFffffFFFFffff, float2nr(-1.0e150))
1435 endif
1430 1436
1431 let rng = range(0xFFFFffff, 0x100000001) 1437 let rng = range(0xFFFFffff, 0x100000001)
1432 call assert_equal([0xFFFFffff, 0x100000000, 0x100000001], rng) 1438 call assert_equal([0xFFFFffff, 0x100000000, 0x100000001], rng)
1433 call assert_equal(0x100000001, max(rng)) 1439 call assert_equal(0x100000001, max(rng))
1434 call assert_equal(0xFFFFffff, min(rng)) 1440 call assert_equal(0xFFFFffff, min(rng))
1524 " and 1530 " and
1525 call assert_equal(127, and(127, 127)) 1531 call assert_equal(127, and(127, 127))
1526 call assert_equal(16, and(127, 16)) 1532 call assert_equal(16, and(127, 16))
1527 eval 127->and(16)->assert_equal(16) 1533 eval 127->and(16)->assert_equal(16)
1528 call assert_equal(0, and(127, 128)) 1534 call assert_equal(0, and(127, 128))
1529 call assert_fails("call and(1.0, 1)", 'E805:')
1530 call assert_fails("call and([], 1)", 'E745:') 1535 call assert_fails("call and([], 1)", 'E745:')
1531 call assert_fails("call and({}, 1)", 'E728:') 1536 call assert_fails("call and({}, 1)", 'E728:')
1532 call assert_fails("call and(1, 1.0)", 'E805:') 1537 if has('float')
1538 call assert_fails("call and(1.0, 1)", 'E805:')
1539 call assert_fails("call and(1, 1.0)", 'E805:')
1540 endif
1533 call assert_fails("call and(1, [])", 'E745:') 1541 call assert_fails("call and(1, [])", 'E745:')
1534 call assert_fails("call and(1, {})", 'E728:') 1542 call assert_fails("call and(1, {})", 'E728:')
1535 " or 1543 " or
1536 call assert_equal(23, or(16, 7)) 1544 call assert_equal(23, or(16, 7))
1537 call assert_equal(15, or(8, 7)) 1545 call assert_equal(15, or(8, 7))
1538 eval 8->or(7)->assert_equal(15) 1546 eval 8->or(7)->assert_equal(15)
1539 call assert_equal(123, or(0, 123)) 1547 call assert_equal(123, or(0, 123))
1540 call assert_fails("call or(1.0, 1)", 'E805:')
1541 call assert_fails("call or([], 1)", 'E745:') 1548 call assert_fails("call or([], 1)", 'E745:')
1542 call assert_fails("call or({}, 1)", 'E728:') 1549 call assert_fails("call or({}, 1)", 'E728:')
1543 call assert_fails("call or(1, 1.0)", 'E805:') 1550 if has('float')
1551 call assert_fails("call or(1.0, 1)", 'E805:')
1552 call assert_fails("call or(1, 1.0)", 'E805:')
1553 endif
1544 call assert_fails("call or(1, [])", 'E745:') 1554 call assert_fails("call or(1, [])", 'E745:')
1545 call assert_fails("call or(1, {})", 'E728:') 1555 call assert_fails("call or(1, {})", 'E728:')
1546 " xor 1556 " xor
1547 call assert_equal(0, xor(127, 127)) 1557 call assert_equal(0, xor(127, 127))
1548 call assert_equal(111, xor(127, 16)) 1558 call assert_equal(111, xor(127, 16))
1549 eval 127->xor(16)->assert_equal(111) 1559 eval 127->xor(16)->assert_equal(111)
1550 call assert_equal(255, xor(127, 128)) 1560 call assert_equal(255, xor(127, 128))
1551 call assert_fails("call xor(1.0, 1)", 'E805:') 1561 if has('float')
1562 call assert_fails("call xor(1.0, 1)", 'E805:')
1563 call assert_fails("call xor(1, 1.0)", 'E805:')
1564 endif
1552 call assert_fails("call xor([], 1)", 'E745:') 1565 call assert_fails("call xor([], 1)", 'E745:')
1553 call assert_fails("call xor({}, 1)", 'E728:') 1566 call assert_fails("call xor({}, 1)", 'E728:')
1554 call assert_fails("call xor(1, 1.0)", 'E805:')
1555 call assert_fails("call xor(1, [])", 'E745:') 1567 call assert_fails("call xor(1, [])", 'E745:')
1556 call assert_fails("call xor(1, {})", 'E728:') 1568 call assert_fails("call xor(1, {})", 'E728:')
1557 " invert 1569 " invert
1558 call assert_equal(65408, and(invert(127), 65535)) 1570 call assert_equal(65408, and(invert(127), 65535))
1559 eval 127->invert()->and(65535)->assert_equal(65408) 1571 eval 127->invert()->and(65535)->assert_equal(65408)
1560 call assert_equal(65519, and(invert(16), 65535)) 1572 call assert_equal(65519, and(invert(16), 65535))
1561 call assert_equal(65407, and(invert(128), 65535)) 1573 call assert_equal(65407, and(invert(128), 65535))
1562 call assert_fails("call invert(1.0)", 'E805:') 1574 if has('float')
1575 call assert_fails("call invert(1.0)", 'E805:')
1576 endif
1563 call assert_fails("call invert([])", 'E745:') 1577 call assert_fails("call invert([])", 'E745:')
1564 call assert_fails("call invert({})", 'E728:') 1578 call assert_fails("call invert({})", 'E728:')
1565 endfunc 1579 endfunc
1566 1580
1567 " Test trailing text after :endfunction {{{1 1581 " Test trailing text after :endfunction {{{1
1716 let x = 'str' 1730 let x = 'str'
1717 let x .= 'ing' 1731 let x .= 'ing'
1718 call assert_equal('string', x) 1732 call assert_equal('string', x)
1719 let x += 1 1733 let x += 1
1720 call assert_equal(1, x) 1734 call assert_equal(1, x)
1721 let x -= 1.5
1722 call assert_equal(-0.5, x)
1723 1735
1724 if has('float') 1736 if has('float')
1725 " Test for float 1737 " Test for float
1726 let x = 0.5 1738 let x -= 1.5
1727 let x += 4.5 1739 call assert_equal(-0.5, x)
1728 call assert_equal(5.0, x) 1740 let x = 0.5
1729 let x -= 1.5 1741 let x += 4.5
1730 call assert_equal(3.5, x) 1742 call assert_equal(5.0, x)
1731 let x *= 3.0 1743 let x -= 1.5
1732 call assert_equal(10.5, x) 1744 call assert_equal(3.5, x)
1733 let x /= 2.5 1745 let x *= 3.0
1734 call assert_equal(4.2, x) 1746 call assert_equal(10.5, x)
1735 call assert_fails('let x %= 0.5', 'E734') 1747 let x /= 2.5
1736 call assert_fails('let x .= "f"', 'E734') 1748 call assert_equal(4.2, x)
1749 call assert_fails('let x %= 0.5', 'E734')
1750 call assert_fails('let x .= "f"', 'E734')
1737 endif 1751 endif
1738 1752
1739 " Test for environment variable 1753 " Test for environment variable
1740 let $FOO = 1 1754 let $FOO = 1
1741 call assert_fails('let $FOO += 1', 'E734') 1755 call assert_fails('let $FOO += 1', 'E734')