mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Merge pull request #3339 from war1025/dev/clean_build_stl_str_hl
Clean up buffer.c build_stl_str_hl
This commit is contained in:
commit
91c5135f71
1004
src/nvim/buffer.c
1004
src/nvim/buffer.c
File diff suppressed because it is too large
Load Diff
@ -1,9 +1,15 @@
|
||||
|
||||
local assert = require("luassert")
|
||||
local helpers = require("test.unit.helpers")
|
||||
|
||||
local to_cstr = helpers.to_cstr
|
||||
local eq = helpers.eq
|
||||
local neq = helpers.neq
|
||||
|
||||
local globals = helpers.cimport("./src/nvim/globals.h")
|
||||
local buffer = helpers.cimport("./src/nvim/buffer.h")
|
||||
local fileio = helpers.cimport("./src/nvim/fileio.h")
|
||||
local ex_docmd = helpers.cimport("./src/nvim/ex_docmd.h")
|
||||
local window = helpers.cimport("./src/nvim/window.h")
|
||||
local option = helpers.cimport("./src/nvim/option.h")
|
||||
|
||||
@ -206,4 +212,95 @@ describe('buffer functions', function()
|
||||
close_buffer(NULL, buf2, buffer.DOBUF_WIPE, 0)
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('build_stl_str_hl', function()
|
||||
|
||||
output_buffer = to_cstr(string.rep(" ", 100))
|
||||
|
||||
local build_stl_str_hl = function(pat)
|
||||
return buffer.build_stl_str_hl(globals.curwin,
|
||||
output_buffer,
|
||||
100,
|
||||
to_cstr(pat),
|
||||
false,
|
||||
32,
|
||||
80,
|
||||
NULL,
|
||||
NULL)
|
||||
end
|
||||
|
||||
it('should copy plain text', function()
|
||||
local width = build_stl_str_hl("this is a test")
|
||||
|
||||
eq(14, width)
|
||||
eq("this is a test", helpers.ffi.string(output_buffer, width))
|
||||
|
||||
end)
|
||||
|
||||
it('should print no file name', function()
|
||||
local width = build_stl_str_hl("%f")
|
||||
|
||||
eq(9, width)
|
||||
eq("[No Name]", helpers.ffi.string(output_buffer, width))
|
||||
|
||||
end)
|
||||
|
||||
it('should print the relative file name', function()
|
||||
buffer.setfname(globals.curbuf, to_cstr("Makefile"), NULL, 1)
|
||||
local width = build_stl_str_hl("%f")
|
||||
|
||||
eq(8, width)
|
||||
eq("Makefile", helpers.ffi.string(output_buffer, width))
|
||||
|
||||
end)
|
||||
|
||||
it('should print the full file name', function()
|
||||
buffer.setfname(globals.curbuf, to_cstr("Makefile"), NULL, 1)
|
||||
|
||||
local width = build_stl_str_hl("%F")
|
||||
|
||||
assert.is_true(8 < width)
|
||||
neq(NULL, string.find(helpers.ffi.string(output_buffer, width), "Makefile"))
|
||||
|
||||
end)
|
||||
|
||||
it('should print the tail file name', function()
|
||||
buffer.setfname(globals.curbuf, to_cstr("src/nvim/buffer.c"), NULL, 1)
|
||||
|
||||
local width = build_stl_str_hl("%t")
|
||||
|
||||
eq(8, width)
|
||||
eq("buffer.c", helpers.ffi.string(output_buffer, width))
|
||||
|
||||
end)
|
||||
|
||||
it('should print the buffer number', function()
|
||||
buffer.setfname(globals.curbuf, to_cstr("src/nvim/buffer.c"), NULL, 1)
|
||||
|
||||
local width = build_stl_str_hl("%n")
|
||||
|
||||
eq(1, width)
|
||||
eq("1", helpers.ffi.string(output_buffer, width))
|
||||
end)
|
||||
|
||||
it('should print the current line number in the buffer', function()
|
||||
buffer.setfname(globals.curbuf, to_cstr("test/unit/buffer_spec.lua"), NULL, 1)
|
||||
|
||||
local width = build_stl_str_hl("%l")
|
||||
|
||||
eq(1, width)
|
||||
eq("0", helpers.ffi.string(output_buffer, width))
|
||||
|
||||
end)
|
||||
|
||||
it('should print the number of lines in the buffer', function()
|
||||
buffer.setfname(globals.curbuf, to_cstr("test/unit/buffer_spec.lua"), NULL, 1)
|
||||
|
||||
local width = build_stl_str_hl("%L")
|
||||
|
||||
eq(1, width)
|
||||
eq("1", helpers.ffi.string(output_buffer, width))
|
||||
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
Loading…
Reference in New Issue
Block a user