operators_spec.lua (1003B)
1 local t = require('test.testutil') 2 local n = require('test.functional.testnvim')() 3 4 local eq = t.eq 5 local eval = n.eval 6 local clear = n.clear 7 8 describe('Division operator', function() 9 setup(clear) 10 11 it('returns infinity on {positive}/0.0', function() 12 eq("str2float('inf')", eval('string(1.0/0.0)')) 13 eq("str2float('inf')", eval('string(1.0e-100/0.0)')) 14 eq("str2float('inf')", eval('string(1.0e+100/0.0)')) 15 eq("str2float('inf')", eval('string((1.0/0.0)/0.0)')) 16 end) 17 18 it('returns -infinity on {negative}/0.0', function() 19 eq("-str2float('inf')", eval('string((-1.0)/0.0)')) 20 eq("-str2float('inf')", eval('string((-1.0e-100)/0.0)')) 21 eq("-str2float('inf')", eval('string((-1.0e+100)/0.0)')) 22 eq("-str2float('inf')", eval('string((-1.0/0.0)/0.0)')) 23 end) 24 25 it('returns NaN on 0.0/0.0', function() 26 eq("str2float('nan')", eval('string(0.0/0.0)')) 27 eq("str2float('nan')", eval('string(-(0.0/0.0))')) 28 eq("str2float('nan')", eval('string((-0.0)/0.0)')) 29 end) 30 end)