aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/testdir/test65.in
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/testdir/test65.in')
-rw-r--r--src/nvim/testdir/test65.in95
1 files changed, 95 insertions, 0 deletions
diff --git a/src/nvim/testdir/test65.in b/src/nvim/testdir/test65.in
new file mode 100644
index 0000000000..ca53f27555
--- /dev/null
+++ b/src/nvim/testdir/test65.in
@@ -0,0 +1,95 @@
+Test for floating point and logical operators.
+
+STARTTEST
+:so small.vim
+:if !has("float")
+: e! test.ok
+: wq! test.out
+:endif
+:"
+:$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: