repositories / dotfiles
dotfiles
bugabingas dorkfiles
owned by admin
neovim/tests/bugabinga/pivi/docs_spec.lua
Raw---@diagnostic disable: duplicate-set-field, need-check-nil, param-type-mismatch, assign-type-mismatch
local docs = require 'bugabinga.pivi.docs'
describe( 'pivi docs', function()
it( 'locates a core help tag in the runtime path', function()
local location = docs.locate 'quickfix'
assert.is_table( location )
assert.equal( 'quickfix', location.tag )
assert.is_true( location.path:find( 'quickfix.txt', 1, true ) ~= nil )
end )
it( 'reads the documentation of the running neovim', function()
local result = docs.read 'quickfix'
assert.is_true( result.found )
assert.equal( 'quickfix.txt', result.file )
assert.is_number( result.line )
assert.is_true( #result.text > 0 )
assert.is_true( result.text:find( '*quickfix*', 1, true ) ~= nil )
end )
it( 'resolves a tag that only this version documents', function()
local result = docs.read 'vim.diagnostic.set()'
assert.is_true( result.found )
assert.is_true( result.text:find( 'diagnostic', 1, true ) ~= nil )
end )
it( 'bounds the returned section', function()
local result = docs.read 'quickfix'
local lines = vim.split( result.text, '\n', { plain = true, } )
assert.is_true( #lines <= docs.max_lines )
end )
it( 'offers candidates instead of failing on a missing tag', function()
local result = docs.read 'quickf'
assert.is_false( result.found )
assert.is_true( #result.candidates > 0 )
assert.is_true( vim.list_contains( result.candidates, 'quickfix' ) )
end )
it( 'returns no candidates for nonsense', function()
local result = docs.read 'zzz-not-a-help-tag-zzz'
assert.is_false( result.found )
assert.same( {}, result.candidates )
end )
end )