File: print_commands_spec.lua

package info (click to toggle)
neovim 0.11.4-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 64,136 kB
  • sloc: ansic: 263,156; python: 1,472; lisp: 1,237; sh: 1,138; makefile: 378; xml: 83; ruby: 6
file content (32 lines) | stat: -rw-r--r-- 910 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
local t = require('test.testutil')
local n = require('test.functional.testnvim')()
local Screen = require('test.functional.ui.screen')

local clear, eq, command, fn = n.clear, t.eq, n.command, n.fn
local assert_alive = n.assert_alive

describe(':z^', function()
  before_each(clear)

  it('correctly sets the cursor after :z^', function()
    command('z^')
    eq(1, fn.line('.'))
  end)
end)

describe(':print', function()
  before_each(clear)

  it('does not crash when printing 0xFF byte #34044', function()
    local screen = Screen.new()
    -- Needs raw 0xFF byte, not 0xFF char
    command('call setline(1, "foo\\xFFbar")')
    command('%print')
    screen:expect([[
      ^foo{18:<ff>}bar                                           |
      {1:~                                                    }|*12
      fooÿbar                                              |
    ]])
    assert_alive()
  end)
end)