summaryrefslogtreecommitdiffstatshomepage
path: root/test/functional/ex_cmds/print_commands_spec.lua
blob: 2ce7eb48ea9ab5e1bfdb682ee2d39b7da0377e0d (plain)
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)