166e29d71SBram Moolenaar" test 'tagcase' option 266e29d71SBram Moolenaar 366e29d71SBram Moolenaarfunc Test_tagcase() 466e29d71SBram Moolenaar call writefile(["Bar\tXtext\t3", "Foo\tXtext\t2", "foo\tXtext\t4"], 'Xtags') 566e29d71SBram Moolenaar set tags=Xtags 666e29d71SBram Moolenaar e Xtext 766e29d71SBram Moolenaar 866e29d71SBram Moolenaar for &ic in [0, 1] 966e29d71SBram Moolenaar for &scs in [0, 1] 1066e29d71SBram Moolenaar for &g:tc in ["followic", "ignore", "match", "followscs", "smart"] 1166e29d71SBram Moolenaar for &l:tc in ["", "followic", "ignore", "match", "followscs", "smart"] 1266e29d71SBram Moolenaar let smart = 0 1366e29d71SBram Moolenaar if &l:tc != '' 1466e29d71SBram Moolenaar let tc = &l:tc 1566e29d71SBram Moolenaar else 1666e29d71SBram Moolenaar let tc = &g:tc 1766e29d71SBram Moolenaar endif 1866e29d71SBram Moolenaar if tc == 'followic' 1966e29d71SBram Moolenaar let ic = &ic 2066e29d71SBram Moolenaar elseif tc == 'ignore' 2166e29d71SBram Moolenaar let ic = 1 2266e29d71SBram Moolenaar elseif tc == 'followscs' 2366e29d71SBram Moolenaar let ic = &ic 2466e29d71SBram Moolenaar let smart = &scs 2566e29d71SBram Moolenaar elseif tc == 'smart' 2666e29d71SBram Moolenaar let ic = 1 2766e29d71SBram Moolenaar let smart = 1 2866e29d71SBram Moolenaar else 2966e29d71SBram Moolenaar let ic = 0 3066e29d71SBram Moolenaar endif 3166e29d71SBram Moolenaar if ic && smart 3266e29d71SBram Moolenaar call assert_equal(['foo', 'Foo'], map(taglist("^foo$"), {i, v -> v.name})) 3366e29d71SBram Moolenaar call assert_equal(['Foo'], map(taglist("^Foo$"), {i, v -> v.name})) 3466e29d71SBram Moolenaar elseif ic 3566e29d71SBram Moolenaar call assert_equal(['foo', 'Foo'], map(taglist("^foo$"), {i, v -> v.name})) 3666e29d71SBram Moolenaar call assert_equal(['Foo', 'foo'], map(taglist("^Foo$"), {i, v -> v.name})) 3766e29d71SBram Moolenaar else 3866e29d71SBram Moolenaar call assert_equal(['foo'], map(taglist("^foo$"), {i, v -> v.name})) 3966e29d71SBram Moolenaar call assert_equal(['Foo'], map(taglist("^Foo$"), {i, v -> v.name})) 4066e29d71SBram Moolenaar endif 4166e29d71SBram Moolenaar endfor 4266e29d71SBram Moolenaar endfor 4366e29d71SBram Moolenaar endfor 4466e29d71SBram Moolenaar endfor 4566e29d71SBram Moolenaar 4666e29d71SBram Moolenaar call delete('Xtags') 470331faf7SBram Moolenaar set tags& 4866e29d71SBram Moolenaar set ic& 4966e29d71SBram Moolenaar setg tc& 5066e29d71SBram Moolenaar setl tc& 5166e29d71SBram Moolenaar set scs& 5266e29d71SBram Moolenaarendfunc 5366e29d71SBram Moolenaar 5466e29d71SBram Moolenaarfunc Test_set_tagcase() 5566e29d71SBram Moolenaar " Verify default values. 5666e29d71SBram Moolenaar set ic& 5766e29d71SBram Moolenaar setg tc& 5866e29d71SBram Moolenaar setl tc& 5966e29d71SBram Moolenaar call assert_equal(0, &ic) 6066e29d71SBram Moolenaar call assert_equal('followic', &g:tc) 6166e29d71SBram Moolenaar call assert_equal('followic', &l:tc) 6266e29d71SBram Moolenaar call assert_equal('followic', &tc) 6366e29d71SBram Moolenaar 6466e29d71SBram Moolenaar " Verify that the local setting accepts <empty> but that the global setting 6566e29d71SBram Moolenaar " does not. The first of these (setting the local value to <empty>) should 6666e29d71SBram Moolenaar " succeed; the other two should fail. 6766e29d71SBram Moolenaar setl tc= 6866e29d71SBram Moolenaar call assert_fails('setg tc=', 'E474:') 6966e29d71SBram Moolenaar call assert_fails('set tc=', 'E474:') 7066e29d71SBram Moolenaar 7166e29d71SBram Moolenaar set ic& 7266e29d71SBram Moolenaar setg tc& 7366e29d71SBram Moolenaar setl tc& 7466e29d71SBram Moolenaarendfunc 75*6d91bcb4SBram Moolenaar 76*6d91bcb4SBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab 77