File: test-general.lua

package info (click to toggle)
vim-vimtex 2.16-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 8,660 kB
  • sloc: makefile: 367; python: 103
file content (23 lines) | stat: -rw-r--r-- 793 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
vim.opt.runtimepath:prepend "../.."
vim.cmd [[filetype plugin on]]

local pc = require "vimtex.parser.combinators"
local g = require "vimtex.parser.general"

local char_succeed = (g.char "x"):run "x"
local char_fail = (g.char "x"):run "y"
vim.fn.assert_equal("x", char_succeed.result)
vim.fn.assert_equal("char: unable to match 'x'", char_fail.error)

local letter1 = g.letter:run "x"
local letter2 = g.letter:run "1"
local letters = g.letters:run "foo123"
vim.fn.assert_equal("x", letter1.result)
vim.fn.assert_equal("letter: did not match", letter2.error)
vim.fn.assert_equal("foo", letters.result)

local str = pc.left { g.letters, g.whitespaces } + g.float
local parsed = str:run "foobar   142.32"
vim.fn.assert_equal({ "foobar", 142.32 }, parsed.result)

vim.fn["vimtex#test#finished"]()