operators_spec.lua 1.0 KB

1234567891011121314151617181920212223242526272829
  1. local helpers = require('test.functional.helpers')(after_each)
  2. local eq = helpers.eq
  3. local eval = helpers.eval
  4. local clear = helpers.clear
  5. describe('Division operator', function()
  6. before_each(clear)
  7. it('returns infinity on {positive}/0.0', function()
  8. eq('str2float(\'inf\')', eval('string(1.0/0.0)'))
  9. eq('str2float(\'inf\')', eval('string(1.0e-100/0.0)'))
  10. eq('str2float(\'inf\')', eval('string(1.0e+100/0.0)'))
  11. eq('str2float(\'inf\')', eval('string((1.0/0.0)/0.0)'))
  12. end)
  13. it('returns -infinity on {negative}/0.0', function()
  14. eq('-str2float(\'inf\')', eval('string((-1.0)/0.0)'))
  15. eq('-str2float(\'inf\')', eval('string((-1.0e-100)/0.0)'))
  16. eq('-str2float(\'inf\')', eval('string((-1.0e+100)/0.0)'))
  17. eq('-str2float(\'inf\')', eval('string((-1.0/0.0)/0.0)'))
  18. end)
  19. it('returns NaN on 0.0/0.0', function()
  20. eq('str2float(\'nan\')', eval('string(0.0/0.0)'))
  21. eq('str2float(\'nan\')', eval('string(-(0.0/0.0))'))
  22. eq('str2float(\'nan\')', eval('string((-0.0)/0.0)'))
  23. end)
  24. end)