neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

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)