local spec = require('cmp.utils.spec') local context = require('cmp.context') describe('context', function() before_each(spec.before) describe('new', function() it('middle of text', function() vim.fn.setline('1', 'function! s:name() abort') vim.bo.filetype = 'vim' vim.fn.execute('normal! fm') local ctx = context.new() assert.are.equal(ctx.filetype, 'vim') assert.are.equal(ctx.cursor.row, 1) assert.are.equal(ctx.cursor.col, 15) assert.are.equal(ctx.cursor_line, 'function! s:name() abort') end) it('tab indent', function() vim.fn.setline('1', '\t\tab') vim.bo.filetype = 'vim' vim.fn.execute('normal! fb') local ctx = context.new() assert.are.equal(ctx.filetype, 'vim') assert.are.equal(ctx.cursor.row, 1) assert.are.equal(ctx.cursor.col, 4) assert.are.equal(ctx.cursor_line, '\t\tab') end) end) end)