xref: /Universal-ctags/Tmain/broken-extradef.d/run.sh (revision 2d422213e7cfe41bf54af497315627b0b9db2911)
1# Copyright: 2018 Masatake YAMATO
2# License: GPL-2
3
4CTAGS="$1 --quiet --options=NONE"
5
6title()
7{
8	echo
9	echo "$@"
10
11	{
12		echo
13		echo "$@"
14	} 1>&2
15}
16
17{
18title '# echo unknown lang'
19${CTAGS} --_extradef-NOSUCHLANG
20${CTAGS} --_extradef-NOSUCHLANG=extra,desc
21
22title '# no option value'
23${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY
24${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=
25
26title '# wrong char in a field name'
27${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=:
28${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=:abc
29${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=:abc,
30${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=:abc,description
31
32title '# empty extra name'
33${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=,
34${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=,abc
35${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=,abc,
36${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=,abc,description
37
38title '# empty description'
39${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=abc
40${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=abc,
41
42title '# no input file'
43${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY=abc,desc
44
45title '# inject a flag separator'
46${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY='extra,desc{foo}' --list-extras=IMAGINARY
47
48title '# inject a broken flag separator(1)'
49${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY='extra,desc{foo' --list-extras=IMAGINARY
50
51title '# inject a broken flag separator(2)'
52${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY='extra,desc{' --list-extras=IMAGINARY
53
54title '# use a { in description (1)'
55${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY='extra,desc\{' --list-extras=IMAGINARY
56
57title '# use a { in description (2)'
58${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY='extra,desc\{}' --list-extras=IMAGINARY
59
60title '# use a \ in description'
61${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY='extra,desc\\backslash' --list-extras=IMAGINARY
62
63title '# description started from {'
64${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY='extra,{' --list-extras=IMAGINARY
65
66title '# description started from \{'
67${CTAGS} --langdef=IMAGINARY --_extradef-IMAGINARY='extra,\{' --list-extras=IMAGINARY
68
69} > /tmp/ctags-tmain-$$.stdout 2>/tmp/ctags-tmain-$$.stderr
70
71sed -e 's/\.exe//g' < /tmp/ctags-tmain-$$.stdout
72rm /tmp/ctags-tmain-$$.stdout
73
74sed -e 's/\.exe//g' < /tmp/ctags-tmain-$$.stderr 1>&2
75rm /tmp/ctags-tmain-$$.stderr
76