use strict; use lib '.'; use Texinfo::ModulePath (undef, undef, undef, 'updirs' => 2); require 't/test_utils.pl'; my @test_cases = ( [ 'simple', '@set a-_5b the value @b{b} @c comment @value{a-_5b} After value. '], ['not_only_characters', '@set -e_\'::; hh Say @value{-e_\'::;}. '], ['bad_syntax',' @set @set @set ? @set :-/ hey! @set a@b @set :-" bad @set } no @clear aaa ggg @clear and{other @value{gurgl @value{unknown} '], ['spaces_before_value', '@set var val @value {var} '], ['comment_on_set_line', '@set x@c @set y @c @set z g@c @set t a vv @comment@ggg !@value{x}!, !@value{y}!, !@value{z}!, !@value{t}! '], ['begin_like_comment_on_set_line', '@set x@come with me @set y some thing @commentary is it !@value{x}! !@value{y}! '], ['comment_on_clear_line', '@set x @set y @set z g @set t a vv @comment@ggg @clear x@c @clear y @c @clear z g@c @clear t a vv @comment@ggg !@value{x}!, !@value{y}!, !@value{z}!, !@value{t}! '], ['value_zero', '@set zero 0 Value @value{zero}' ], ['empty_set', '@set myspace 1 @value{myspace} 1 '], ['empty_value_in_line', '@set myspace 1 @value{myspace} 1 '], ['set_no_end_of_line', '@set arg' ], ['clear_no_end_of_line', '@clear jj', ], ['recursive_expansion_in_set', '@set V @value{V} @value{V} ', {'MAX_MACRO_CALL_NESTING' => 100}], ['value_in_node', '@set node1 Node 1 @node Top, (dir), (dir), (dir) @top Expansion in Node Names @menu * @value{node1} :: @end menu @node @value{node1},, Top, Top @chapter Chapter 1 @set sec1 Section 1.1 @menu * @value{sec1}:: @end menu @node Section 1.1, , Node 1, Node 1 @xref{@value{node1}}. '], ['value_node_directions', '@set a--foo bar @node Top, @value{a--foo}, (dir), (dir) @top Var @value{a--foo} @value{a--foo} @node @value{a--foo}, BarFoo, Top, (dir) @chapter BarFoo @node BarFoo, , @value{a--foo}, (dir) @chapter bar '], ['value_after_accent', '@set a_letter a @ringaccent @value{a_letter} @~@value{a_letter}' ], ['value_after_brace_command', '@set bracedletter {a} @set unknowncmd @unknown @ringaccent @value{bracedletter} @ringaccent @value{unknowncmd} @^ @value{bracedletter} @^ @value{unknowncmd} @code @value{bracedletter} @code @value{unknowncmd} '], ['value_in_index_commands', '@set cp cp @set fn fn @set syncodeindex_command @syncodeindex @syncodeindex @value{cp} @value{fn} @value{syncodeindex_command} cp fn @set truc truc definedx truc @defindex @value{truc} after @set trucindex_command @trucindex @set codeidx codeidx @defcodeindex @value{codeidx} @set defcodeindex_entry a @var{index entry} t@\'e @^{@dotless{i}} @node Top @node chap @value{trucindex_command} index truc @codeidxindex @value{defcodeindex_entry} @kindex @value{truc} kindex @pindex pindex @value{codeidx} value truc @printindex @value{truc} value cp @printindex @value{cp} '], ['value_in_misc_commands', '@set text atext @node Top @top top @value{text} @node chap @subheading Comment like: @value{text} Text line followed by a comment on the same line and another below @c comment @value{text} @c comment @value{text} @set pagesizes_arg 200mm,150mm @set afourpaper_macro @afourpaper @ifnottex @pagesizes @value{pagesizes_arg} @end ifnottex @value{afourpaper_macro} @headings on line following headings @value{text} @oddfooting some text ignored @value{text} @everyheading on line following everyheading @value{text} @set need_arg 0.1 @ifnottex @need @value{need_arg} @end ifnottex @set raisesections_macro @raisesections @value{raisesections_macro} @set lowersections_macro @lowersections @value{lowersections_macro} @c tex error: Use of \ doesn\'t match its definition. @ifnottex @@definfoenclose phoo,//,\\\\ @definfoenclose phoo,//,\\\\ @phoo{bar} @end ifnottex @set definfoenclose_name phi @definfoenclose @value{definfoenclose_name},:,: @phi{bar} @set strong_macro @strong @set strong_name strong @value{strong_macro}{very strong} @definfoenclose @value{strong_name},(@value{strong_name}:,:) @value{strong_macro}{ is it really strong? } @kbd{something before kbdinputstyle} @set kbdinputstyle_arg code @kbdinputstyle @value{kbdinputstyle_arg} @kbd{truc} @example @kbd{example} @end example @set asis_arg asis @set zero 0 @set none_arg none @set four 4 @set six 6 @paragraphindent @value{asis_arg} @paragraphindent @value{zero} @paragraphindent @value{none_arg} @paragraphindent @value{four} @firstparagraphindent @value{none_arg} @exampleindent @value{six} @set end_arg end @set separate_arg separate @footnotestyle @value{end_arg} @footnotestyle @value{separate_arg} @set latin1 ISO-8859-1 @documentencoding @value{latin1} @set en en @set documentlanguage_command @documentlanguage documentlanguage @documentlanguage @value{en} documentlanguage on its line @value{documentlanguage_command} en line following documentlanguage @set on_arg on @set off_arg off @frenchspacing @value{on_arg} @frenchspacing @value{off_arg} @c accepts 10 or 11 @set ten 10 @fonttextsize @value{ten} @c accept false or true @c makeinfo don\'t care about the arg and remove the remaining of the line @set false_arg false @set true_arg true @allowcodebreaks @value{false_arg} @allowcodebreaks @value{true_arg} @set page_macro @page @set noindent_macro @noindent @set refill_macro @refill @@page @value{page_macro} @@noindent @value{noindent_macro} @@refill @value{refill_macro} something @value{noindent_macro} noindent at beginning of line @value{noindent_macro} noindent on the preceding line @value{noindent_macro} noindent after space at beginning of line @page page at beginning of line @page After page on it\'s own line. @@page @value{page_macro} @@noindent @value{noindent_macro} @@refill @value{refill_macro} @set contents_macro @contents @value{contents_macro} @vskip @value{text} @set exdent_macro @exdent @value{exdent_macro} line after exdent @set two 2 @sp @value{two} @set result_macro @result @clickstyle @value{result_macro} @value{contents_macro} @set shortcontents_macro @shortcontents @value{shortcontents_macro} @set bye_macro @bye @value{bye_macro}', {'EXPANDED_FORMATS' => []} ], ['value_in_invalid_documentencoding', '@set badvalue bad @documentencoding @value{badvalue} '], ['set_flag_command_equivalent', '@set txicodequoteundirected @value{txicodequoteundirected}. @clear txicodequoteundirected '], ['set_on_item_line', '@table @code @item @set ca b@c item text in item @item cjj @set cj@c line @item cvvv @set cg@c @end table @table @code @item @set a b item text in item @item jj @set j line @item vvv @set g @end table '], # very similar with previous test, maybe the difference is that the # next @item is right after the @item with @set on the line ['set_in_item_missing_line', '@table @code @item xx @set n @item jj @end table @table @code @item cxx @set cn@c @item jj @end table '], ['set_form_feed', '@set gg a\\a\\f\\\\ @set hh @set ll @code{@value{gg}. @value{hh}. @value{ll}}. ', {'test_formats' => ['xml']} ], ['ignored_value_definition', '@set aa outside @inlinefmt{tex, @set aa in inlinefmt tex } @value{aa}. '], ['closing_brace_in_value_in_ignored_inline', '@set closebrace } @inlinefmt{html, truc @value{closebrace} machin @inlinefmt{tex, bidule @value{closebrace} after '], ); run_all('value', \@test_cases);