mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
tests: Migrate legacy test 65.
Helped-By: David Bürgin <676c7473@gmail.com>
This commit is contained in:
parent
5218fc2ccb
commit
ee312ca9a4
@ -20,7 +20,7 @@ SCRIPTS := test_autoformat_join.out \
|
|||||||
test46.out test47.out test48.out test49.out \
|
test46.out test47.out test48.out test49.out \
|
||||||
test52.out test53.out test55.out \
|
test52.out test53.out test55.out \
|
||||||
test57.out test58.out test59.out \
|
test57.out test58.out test59.out \
|
||||||
test61.out test62.out test63.out test64.out test65.out \
|
test61.out test62.out test63.out test64.out \
|
||||||
test68.out test69.out \
|
test68.out test69.out \
|
||||||
test71.out test73.out test74.out \
|
test71.out test73.out test74.out \
|
||||||
test79.out test80.out \
|
test79.out test80.out \
|
||||||
|
@ -1,91 +0,0 @@
|
|||||||
Test for floating point and logical operators.
|
|
||||||
|
|
||||||
STARTTEST
|
|
||||||
:so small.vim
|
|
||||||
:"
|
|
||||||
:$put =printf('%f', 123.456)
|
|
||||||
:$put =printf('%e', 123.456)
|
|
||||||
:$put =printf('%g', 123.456)
|
|
||||||
:" check we don't crash on division by zero
|
|
||||||
:echo 1.0 / 0.0
|
|
||||||
:$put ='+='
|
|
||||||
:let v = 1.234
|
|
||||||
:let v += 6.543
|
|
||||||
:$put =printf('%g', v)
|
|
||||||
:let v = 1.234
|
|
||||||
:let v += 5
|
|
||||||
:$put =printf('%g', v)
|
|
||||||
:let a = 5
|
|
||||||
:let a += 3.333
|
|
||||||
:$put =string(a)
|
|
||||||
:$put ='=='
|
|
||||||
:let v = 1.234
|
|
||||||
:$put =v == 1.234
|
|
||||||
:$put =v == 1.2341
|
|
||||||
:$put ='add-subtract'
|
|
||||||
:$put =printf('%g', 4 + 1.234)
|
|
||||||
:$put =printf('%g', 1.234 - 8)
|
|
||||||
:$put ='mult-div'
|
|
||||||
:$put =printf('%g', 4 * 1.234)
|
|
||||||
:$put =printf('%g', 4.0 / 1234)
|
|
||||||
:$put ='dict'
|
|
||||||
:$put =string({'x': 1.234, 'y': -2.0e20})
|
|
||||||
:$put ='list'
|
|
||||||
:$put =string([-123.4, 2.0e-20])
|
|
||||||
:$put ='abs'
|
|
||||||
:$put =printf('%d', abs(1456))
|
|
||||||
:$put =printf('%d', abs(-4))
|
|
||||||
:$put =printf('%d', abs([1, 2, 3]))
|
|
||||||
:$put =printf('%g', abs(14.56))
|
|
||||||
:$put =printf('%g', abs(-54.32))
|
|
||||||
:$put ='ceil'
|
|
||||||
:$put =printf('%g', ceil(1.456))
|
|
||||||
:$put =printf('%g', ceil(-5.456))
|
|
||||||
:$put =printf('%g', ceil(-4.000))
|
|
||||||
:$put ='floor'
|
|
||||||
:$put =printf('%g', floor(1.856))
|
|
||||||
:$put =printf('%g', floor(-5.456))
|
|
||||||
:$put =printf('%g', floor(4.0))
|
|
||||||
:$put ='log10'
|
|
||||||
:$put =printf('%g', log10(1000))
|
|
||||||
:$put =printf('%g', log10(0.01000))
|
|
||||||
:$put ='pow'
|
|
||||||
:$put =printf('%g', pow(3, 3.0))
|
|
||||||
:$put =printf('%g', pow(2, 16))
|
|
||||||
:$put ='round'
|
|
||||||
:$put =printf('%g', round(0.456))
|
|
||||||
:$put =printf('%g', round(4.5))
|
|
||||||
:$put =printf('%g', round(-4.50))
|
|
||||||
:$put ='sqrt'
|
|
||||||
:$put =printf('%g', sqrt(100))
|
|
||||||
:echo sqrt(-4.01)
|
|
||||||
:$put ='str2float'
|
|
||||||
:$put =printf('%g', str2float('1e40'))
|
|
||||||
:$put ='trunc'
|
|
||||||
:$put =printf('%g', trunc(1.456))
|
|
||||||
:$put =printf('%g', trunc(-5.456))
|
|
||||||
:$put =printf('%g', trunc(4.000))
|
|
||||||
:$put ='float2nr'
|
|
||||||
:$put =float2nr(123.456)
|
|
||||||
:$put =float2nr(-123.456)
|
|
||||||
:$put ='AND'
|
|
||||||
:$put =and(127, 127)
|
|
||||||
:$put =and(127, 16)
|
|
||||||
:$put =and(127, 128)
|
|
||||||
:$put ='OR'
|
|
||||||
:$put =or(16, 7)
|
|
||||||
:$put =or(8, 7)
|
|
||||||
:$put =or(0, 123)
|
|
||||||
:$put ='XOR'
|
|
||||||
:$put =xor(127, 127)
|
|
||||||
:$put =xor(127, 16)
|
|
||||||
:$put =xor(127, 128)
|
|
||||||
:$put ='invert'
|
|
||||||
:$put =and(invert(127), 65535)
|
|
||||||
:$put =and(invert(16), 65535)
|
|
||||||
:$put =and(invert(128), 65535)
|
|
||||||
:$put =invert(1.0)
|
|
||||||
:/^Results/,$wq! test.out
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
Results of test65:
|
|
@ -1,73 +0,0 @@
|
|||||||
Results of test65:
|
|
||||||
123.456000
|
|
||||||
1.234560e+02
|
|
||||||
123.456
|
|
||||||
+=
|
|
||||||
7.777
|
|
||||||
6.234
|
|
||||||
8.333
|
|
||||||
==
|
|
||||||
1
|
|
||||||
0
|
|
||||||
add-subtract
|
|
||||||
5.234
|
|
||||||
-6.766
|
|
||||||
mult-div
|
|
||||||
4.936
|
|
||||||
0.003241
|
|
||||||
dict
|
|
||||||
{'x': 1.234, 'y': -2.0e20}
|
|
||||||
list
|
|
||||||
[-123.4, 2.0e-20]
|
|
||||||
abs
|
|
||||||
1456
|
|
||||||
4
|
|
||||||
-1
|
|
||||||
14.56
|
|
||||||
54.32
|
|
||||||
ceil
|
|
||||||
2.0
|
|
||||||
-5.0
|
|
||||||
-4.0
|
|
||||||
floor
|
|
||||||
1.0
|
|
||||||
-6.0
|
|
||||||
4.0
|
|
||||||
log10
|
|
||||||
3.0
|
|
||||||
-2.0
|
|
||||||
pow
|
|
||||||
27.0
|
|
||||||
65536.0
|
|
||||||
round
|
|
||||||
0.0
|
|
||||||
5.0
|
|
||||||
-5.0
|
|
||||||
sqrt
|
|
||||||
10.0
|
|
||||||
str2float
|
|
||||||
1.0e40
|
|
||||||
trunc
|
|
||||||
1.0
|
|
||||||
-5.0
|
|
||||||
4.0
|
|
||||||
float2nr
|
|
||||||
123
|
|
||||||
-123
|
|
||||||
AND
|
|
||||||
127
|
|
||||||
16
|
|
||||||
0
|
|
||||||
OR
|
|
||||||
23
|
|
||||||
15
|
|
||||||
123
|
|
||||||
XOR
|
|
||||||
0
|
|
||||||
111
|
|
||||||
255
|
|
||||||
invert
|
|
||||||
65408
|
|
||||||
65519
|
|
||||||
65407
|
|
||||||
0
|
|
185
test/functional/legacy/065_float_and_logic_operators_spec.lua
Normal file
185
test/functional/legacy/065_float_and_logic_operators_spec.lua
Normal file
@ -0,0 +1,185 @@
|
|||||||
|
-- Test for floating point and logical operators.
|
||||||
|
|
||||||
|
local helpers = require('test.functional.helpers')
|
||||||
|
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
|
||||||
|
local clear, execute, expect = helpers.clear, helpers.execute, helpers.expect
|
||||||
|
|
||||||
|
describe('floating point and logical operators', function()
|
||||||
|
setup(clear)
|
||||||
|
|
||||||
|
it('is working', function()
|
||||||
|
insert([=[
|
||||||
|
Results of test65:]=])
|
||||||
|
|
||||||
|
source([[
|
||||||
|
$put =printf('%f', 123.456)
|
||||||
|
$put =printf('%e', 123.456)
|
||||||
|
$put =printf('%g', 123.456)
|
||||||
|
" Check we don't crash on division by zero.
|
||||||
|
echo 1.0 / 0.0
|
||||||
|
$put ='+='
|
||||||
|
let v = 1.234
|
||||||
|
let v += 6.543
|
||||||
|
$put =printf('%g', v)
|
||||||
|
let v = 1.234
|
||||||
|
let v += 5
|
||||||
|
$put =printf('%g', v)
|
||||||
|
let a = 5
|
||||||
|
let a += 3.333
|
||||||
|
$put =string(a)
|
||||||
|
$put ='=='
|
||||||
|
let v = 1.234
|
||||||
|
$put =v == 1.234
|
||||||
|
$put =v == 1.2341
|
||||||
|
$put ='add-subtract'
|
||||||
|
$put =printf('%g', 4 + 1.234)
|
||||||
|
$put =printf('%g', 1.234 - 8)
|
||||||
|
$put ='mult-div'
|
||||||
|
$put =printf('%g', 4 * 1.234)
|
||||||
|
$put =printf('%g', 4.0 / 1234)
|
||||||
|
$put ='dict'
|
||||||
|
$put =string({'x': 1.234, 'y': -2.0e20})
|
||||||
|
$put ='list'
|
||||||
|
$put =string([-123.4, 2.0e-20])
|
||||||
|
$put ='abs'
|
||||||
|
$put =printf('%d', abs(1456))
|
||||||
|
$put =printf('%d', abs(-4))
|
||||||
|
]])
|
||||||
|
|
||||||
|
-- The test will throw an error if this line is included in a source()
|
||||||
|
-- call. The vim expression throws a exception "E745: Using a List as a
|
||||||
|
-- Number" which is fatal in a source() call but not in a execute() call.
|
||||||
|
execute([[$put =printf('%d', abs([1, 2, 3]))]])
|
||||||
|
|
||||||
|
source([[
|
||||||
|
$put =printf('%g', abs(14.56))
|
||||||
|
$put =printf('%g', abs(-54.32))
|
||||||
|
$put ='ceil'
|
||||||
|
$put =printf('%g', ceil(1.456))
|
||||||
|
$put =printf('%g', ceil(-5.456))
|
||||||
|
$put =printf('%g', ceil(-4.000))
|
||||||
|
$put ='floor'
|
||||||
|
$put =printf('%g', floor(1.856))
|
||||||
|
$put =printf('%g', floor(-5.456))
|
||||||
|
$put =printf('%g', floor(4.0))
|
||||||
|
$put ='log10'
|
||||||
|
$put =printf('%g', log10(1000))
|
||||||
|
$put =printf('%g', log10(0.01000))
|
||||||
|
$put ='pow'
|
||||||
|
$put =printf('%g', pow(3, 3.0))
|
||||||
|
$put =printf('%g', pow(2, 16))
|
||||||
|
$put ='round'
|
||||||
|
$put =printf('%g', round(0.456))
|
||||||
|
$put =printf('%g', round(4.5))
|
||||||
|
$put =printf('%g', round(-4.50))
|
||||||
|
$put ='sqrt'
|
||||||
|
$put =printf('%g', sqrt(100))
|
||||||
|
echo sqrt(-4.01)
|
||||||
|
$put ='str2float'
|
||||||
|
$put =printf('%g', str2float('1e40'))
|
||||||
|
$put ='trunc'
|
||||||
|
$put =printf('%g', trunc(1.456))
|
||||||
|
$put =printf('%g', trunc(-5.456))
|
||||||
|
$put =printf('%g', trunc(4.000))
|
||||||
|
$put ='float2nr'
|
||||||
|
$put =float2nr(123.456)
|
||||||
|
$put =float2nr(-123.456)
|
||||||
|
$put ='AND'
|
||||||
|
$put =and(127, 127)
|
||||||
|
$put =and(127, 16)
|
||||||
|
$put =and(127, 128)
|
||||||
|
$put ='OR'
|
||||||
|
$put =or(16, 7)
|
||||||
|
$put =or(8, 7)
|
||||||
|
$put =or(0, 123)
|
||||||
|
$put ='XOR'
|
||||||
|
$put =xor(127, 127)
|
||||||
|
$put =xor(127, 16)
|
||||||
|
$put =xor(127, 128)
|
||||||
|
$put ='invert'
|
||||||
|
$put =and(invert(127), 65535)
|
||||||
|
$put =and(invert(16), 65535)
|
||||||
|
$put =and(invert(128), 65535)
|
||||||
|
]])
|
||||||
|
|
||||||
|
-- This line can not be included in a source() call. It throws a "E805:
|
||||||
|
-- Using a Float as a Number". Also compare comment above.
|
||||||
|
execute('$put =invert(1.0)')
|
||||||
|
|
||||||
|
-- Assert buffer contents.
|
||||||
|
expect([=[
|
||||||
|
Results of test65:
|
||||||
|
123.456000
|
||||||
|
1.234560e+02
|
||||||
|
123.456
|
||||||
|
+=
|
||||||
|
7.777
|
||||||
|
6.234
|
||||||
|
8.333
|
||||||
|
==
|
||||||
|
1
|
||||||
|
0
|
||||||
|
add-subtract
|
||||||
|
5.234
|
||||||
|
-6.766
|
||||||
|
mult-div
|
||||||
|
4.936
|
||||||
|
0.003241
|
||||||
|
dict
|
||||||
|
{'x': 1.234, 'y': -2.0e20}
|
||||||
|
list
|
||||||
|
[-123.4, 2.0e-20]
|
||||||
|
abs
|
||||||
|
1456
|
||||||
|
4
|
||||||
|
-1
|
||||||
|
14.56
|
||||||
|
54.32
|
||||||
|
ceil
|
||||||
|
2.0
|
||||||
|
-5.0
|
||||||
|
-4.0
|
||||||
|
floor
|
||||||
|
1.0
|
||||||
|
-6.0
|
||||||
|
4.0
|
||||||
|
log10
|
||||||
|
3.0
|
||||||
|
-2.0
|
||||||
|
pow
|
||||||
|
27.0
|
||||||
|
65536.0
|
||||||
|
round
|
||||||
|
0.0
|
||||||
|
5.0
|
||||||
|
-5.0
|
||||||
|
sqrt
|
||||||
|
10.0
|
||||||
|
str2float
|
||||||
|
1.0e40
|
||||||
|
trunc
|
||||||
|
1.0
|
||||||
|
-5.0
|
||||||
|
4.0
|
||||||
|
float2nr
|
||||||
|
123
|
||||||
|
-123
|
||||||
|
AND
|
||||||
|
127
|
||||||
|
16
|
||||||
|
0
|
||||||
|
OR
|
||||||
|
23
|
||||||
|
15
|
||||||
|
123
|
||||||
|
XOR
|
||||||
|
0
|
||||||
|
111
|
||||||
|
255
|
||||||
|
invert
|
||||||
|
65408
|
||||||
|
65519
|
||||||
|
65407
|
||||||
|
0]=])
|
||||||
|
end)
|
||||||
|
end)
|
Loading…
Reference in New Issue
Block a user