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