~ubuntu-branches/debian/sid/neovim/sid

« back to all changes in this revision

Viewing changes to test/functional/plugin/msgpack_spec.lua

  • Committer: Package Import Robot
  • Author(s): James McCoy
  • Date: 2016-04-18 21:42:19 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20160418214219-1e6d4o1fwqarzk46
Tags: 0.1.3-1
* New upstream release.  (Closes: #820562)
* debian/control:
  + Remove unnecessary luarocks Build-Depends
  + Add libkvm-dev Build-Depends for kfreebsd-*
  + Add python(3)-neovim to Recommends.  (Closes: #812737)
  + Declare compiance with policy 3.9.8, no changes needed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
local helpers = require('test.functional.helpers')
2
2
local eq, nvim_eval, nvim_command, exc_exec =
3
3
  helpers.eq, helpers.eval, helpers.command, helpers.exc_exec
 
4
local ok = helpers.ok
4
5
 
5
6
local plugin_helpers = require('test.functional.plugin.helpers')
6
7
local reset = plugin_helpers.reset
21
22
  end
22
23
 
23
24
  local nan = -(1.0/0.0-1.0/0.0)
24
 
  local minus_nan = 1.0/0.0-1.0/0.0
25
25
  local inf = 1.0/0.0
26
26
  local minus_inf = -(1.0/0.0)
27
 
  local has_minus_nan = tostring(nan) ~= tostring(minus_nan)
28
27
 
29
28
  describe('function msgpack#equal', function()
30
29
    local msgpack_eq = function(expected, a, b)
160
159
    it('compares raw floats correctly', function()
161
160
      msgpack_eq(1, '0.0', '0.0')
162
161
      msgpack_eq(1, '(1.0/0.0-1.0/0.0)', '(1.0/0.0-1.0/0.0)')
163
 
      if has_minus_nan then
164
 
        msgpack_eq(0, '(1.0/0.0-1.0/0.0)', '-(1.0/0.0-1.0/0.0)')
165
 
      end
 
162
      -- both (1.0/0.0-1.0/0.0) and -(1.0/0.0-1.0/0.0) now return
 
163
      -- str2float('nan'). ref: @18d1ba3422d
 
164
      msgpack_eq(1, '(1.0/0.0-1.0/0.0)', '-(1.0/0.0-1.0/0.0)')
166
165
      msgpack_eq(1, '-(1.0/0.0-1.0/0.0)', '-(1.0/0.0-1.0/0.0)')
167
166
      msgpack_eq(1, '1.0/0.0', '1.0/0.0')
168
167
      msgpack_eq(1, '-(1.0/0.0)', '-(1.0/0.0)')
178
177
    it('compares float specials with raw floats correctly', function()
179
178
      msgpack_eq(1, sp('float', '0.0'), '0.0')
180
179
      msgpack_eq(1, sp('float', '(1.0/0.0-1.0/0.0)'), '(1.0/0.0-1.0/0.0)')
181
 
      if has_minus_nan then
182
 
        msgpack_eq(0, sp('float', '(1.0/0.0-1.0/0.0)'), '-(1.0/0.0-1.0/0.0)')
183
 
        msgpack_eq(0, sp('float', '-(1.0/0.0-1.0/0.0)'), '(1.0/0.0-1.0/0.0)')
184
 
      end
 
180
      msgpack_eq(1, sp('float', '(1.0/0.0-1.0/0.0)'), '-(1.0/0.0-1.0/0.0)')
 
181
      msgpack_eq(1, sp('float', '-(1.0/0.0-1.0/0.0)'), '(1.0/0.0-1.0/0.0)')
185
182
      msgpack_eq(1, sp('float', '-(1.0/0.0-1.0/0.0)'), '-(1.0/0.0-1.0/0.0)')
186
183
      msgpack_eq(1, sp('float', '1.0/0.0'), '1.0/0.0')
187
184
      msgpack_eq(1, sp('float', '-(1.0/0.0)'), '-(1.0/0.0)')
207
204
      msgpack_eq(0, sp('float', '0.0'), sp('float', '-(1.0/0.0)'))
208
205
      msgpack_eq(0, sp('float', '1.0/0.0'), sp('float', '-(1.0/0.0)'))
209
206
      msgpack_eq(0, sp('float', '(1.0/0.0-1.0/0.0)'), sp('float', '-(1.0/0.0)'))
210
 
      if has_minus_nan then
211
 
        msgpack_eq(0, sp('float', '(1.0/0.0-1.0/0.0)'),
212
 
                      sp('float', '-(1.0/0.0-1.0/0.0)'))
213
 
      end
 
207
      msgpack_eq(1, sp('float', '(1.0/0.0-1.0/0.0)'),
 
208
                    sp('float', '-(1.0/0.0-1.0/0.0)'))
214
209
      msgpack_eq(1, sp('float', '-(1.0/0.0-1.0/0.0)'),
215
210
                    sp('float', '-(1.0/0.0-1.0/0.0)'))
216
211
      msgpack_eq(0, sp('float', '(1.0/0.0-1.0/0.0)'), sp('float', '1.0/0.0'))
392
387
      string_eq('0.0', sp('float', '0.0'))
393
388
      string_eq('inf', sp('float', '(1.0/0.0)'))
394
389
      string_eq('-inf', sp('float', '-(1.0/0.0)'))
395
 
      if has_minus_nan then
396
 
        string_eq('-nan', sp('float', '(1.0/0.0-1.0/0.0)'))
397
 
      end
 
390
      string_eq('nan', sp('float', '(1.0/0.0-1.0/0.0)'))
398
391
      string_eq('nan', sp('float', '-(1.0/0.0-1.0/0.0)'))
399
392
      string_eq('FALSE', sp('boolean', '0'))
400
393
      string_eq('TRUE', sp('boolean', '1'))
413
406
      string_eq('0.0', '0.0')
414
407
      string_eq('inf', '(1.0/0.0)')
415
408
      string_eq('-inf', '-(1.0/0.0)')
416
 
      if has_minus_nan then
417
 
        string_eq('-nan', '(1.0/0.0-1.0/0.0)')
418
 
      end
 
409
      string_eq('nan', '(1.0/0.0-1.0/0.0)')
419
410
      string_eq('nan', '-(1.0/0.0-1.0/0.0)')
420
411
    end)
421
412
  end)
547
538
      end
548
539
      if expected_val_full == expected_val_full then
549
540
        eq(expected_val_full, nvim_eval('g:__val'))
550
 
      else
551
 
        eq(tostring(expected_val_full), tostring(nvim_eval('g:__val')))
 
541
      else -- NaN
 
542
        local nvim_nan = tostring(nvim_eval('g:__val'))
 
543
        -- -NaN is a hardware-specific detail, there's no need to test for it.
 
544
        -- Accept ether 'nan' or '-nan' as the response.
 
545
        ok(nvim_nan == 'nan' or nvim_nan == '-nan')
552
546
      end
553
547
      nvim_command('unlet g:__val')
554
548
    end
615
609
      eval_eq('float', inf, 'inf')
616
610
      eval_eq('float', minus_inf, '-inf')
617
611
      eval_eq('float', nan, 'nan')
618
 
      eval_eq('float', minus_nan, '-nan')
619
612
      eval_eq('float', 1.0e10, '1.0e10')
620
613
      eval_eq('float', 1.0e10, '1.0e+10')
621
614
      eval_eq('float', -1.0e10, '-1.0e+10')