12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- local t = require('test.testutil')
- local n = require('test.functional.testnvim')()
- local clear = n.clear
- local command = n.command
- local eq = t.eq
- local eval = n.eval
- -- oldtest: Test_missing_attr()
- describe('synIDattr()', function()
- setup(clear)
- local bool_attrs = {
- 'bold',
- 'italic',
- 'reverse',
- 'standout',
- 'underline',
- 'undercurl',
- 'underdouble',
- 'underdotted',
- 'underdashed',
- 'strikethrough',
- 'nocombine',
- }
- describe(':hi Mine cterm=NONE gui=NONE', function()
- setup(function()
- command(':hi Mine cterm=NONE gui=NONE')
- end)
- it('"name"', function()
- eq('Mine', eval([[synIDattr(hlID("Mine"), "name")]]))
- end)
- local function none_test(attr, mode)
- it(('"%s"'):format(attr), function()
- eq('', eval(([[synIDattr(hlID("Mine"), "%s", '%s')]]):format(attr, mode)))
- end)
- end
- for _, mode in ipairs({ 'cterm', 'gui' }) do
- describe(('"%s"'):format(mode), function()
- for _, attr in ipairs(bool_attrs) do
- none_test(attr, mode)
- end
- for _, attr in ipairs({ 'inverse', 'bg', 'fg', 'sp' }) do
- none_test(attr, mode)
- end
- end)
- end
- end)
- local function attr_test(attr1, attr2)
- local cmd = (':hi Mine cterm=%s gui=%s'):format(attr1, attr2)
- it(cmd, function()
- command(cmd)
- eq('1', eval(([[synIDattr("Mine"->hlID(), "%s", 'cterm')]]):format(attr1)))
- eq('', eval(([[synIDattr(hlID("Mine"), "%s", 'cterm')]]):format(attr2)))
- eq('', eval(([[synIDattr("Mine"->hlID(), "%s", 'gui')]]):format(attr1)))
- eq('1', eval(([[synIDattr(hlID("Mine"), "%s", 'gui')]]):format(attr2)))
- end)
- end
- for i, attr1 in ipairs(bool_attrs) do
- local attr2 = bool_attrs[i - 1] or bool_attrs[#bool_attrs]
- attr_test(attr1, attr2)
- attr_test(attr2, attr1)
- end
- it(':hi Mine cterm=reverse gui=inverse', function()
- command(':hi Mine cterm=reverse gui=inverse')
- eq('1', eval([[synIDattr(hlID("Mine"), "reverse", 'cterm')]]))
- eq('1', eval([[synIDattr(hlID("Mine"), "inverse", 'cterm')]]))
- eq('1', eval([[synIDattr(hlID("Mine"), "reverse", 'gui')]]))
- eq('1', eval([[synIDattr(hlID("Mine"), "inverse", 'gui')]]))
- end)
- end)
|