bad_argument.pl 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285
  1. use vars qw(%result_texis %result_texts %result_trees %result_errors
  2. %result_indices %result_sectioning %result_nodes %result_menus
  3. %result_floats %result_converted %result_converted_errors
  4. %result_elements %result_directions_text);
  5. use utf8;
  6. $result_trees{'bad_argument'} = {
  7. 'contents' => [
  8. {
  9. 'cmdname' => 'macro',
  10. 'contents' => [
  11. {
  12. 'parent' => {},
  13. 'text' => 'in macro',
  14. 'type' => 'raw'
  15. },
  16. {
  17. 'parent' => {},
  18. 'text' => '
  19. ',
  20. 'type' => 'last_raw_newline'
  21. }
  22. ],
  23. 'extra' => {
  24. 'arg_line' => '
  25. ',
  26. 'invalid_syntax' => 1
  27. },
  28. 'line_nr' => {
  29. 'file_name' => '',
  30. 'line_nr' => 1,
  31. 'macro' => ''
  32. },
  33. 'parent' => {}
  34. },
  35. {
  36. 'extra' => {
  37. 'command' => {}
  38. },
  39. 'parent' => {},
  40. 'text' => '
  41. ',
  42. 'type' => 'empty_line_after_command'
  43. },
  44. {
  45. 'parent' => {},
  46. 'text' => '
  47. ',
  48. 'type' => 'empty_line'
  49. },
  50. {
  51. 'args' => [
  52. {
  53. 'parent' => {},
  54. 'text' => 'abar',
  55. 'type' => 'macro_name'
  56. }
  57. ],
  58. 'cmdname' => 'rmacro',
  59. 'contents' => [
  60. {
  61. 'parent' => {},
  62. 'text' => 'in',
  63. 'type' => 'raw'
  64. },
  65. {
  66. 'parent' => {},
  67. 'text' => '
  68. ',
  69. 'type' => 'last_raw_newline'
  70. }
  71. ],
  72. 'extra' => {
  73. 'arg_line' => ' abar aaa
  74. ',
  75. 'invalid_syntax' => 1
  76. },
  77. 'line_nr' => {
  78. 'file_name' => '',
  79. 'line_nr' => 5,
  80. 'macro' => ''
  81. },
  82. 'parent' => {}
  83. },
  84. {
  85. 'extra' => {
  86. 'command' => {}
  87. },
  88. 'parent' => {},
  89. 'text' => '
  90. ',
  91. 'type' => 'empty_line_after_command'
  92. },
  93. {
  94. 'parent' => {},
  95. 'text' => '
  96. ',
  97. 'type' => 'empty_line'
  98. },
  99. {
  100. 'args' => [
  101. {
  102. 'parent' => {},
  103. 'text' => 'aftername',
  104. 'type' => 'macro_name'
  105. },
  106. {
  107. 'parent' => {},
  108. 'text' => 'ggg',
  109. 'type' => 'macro_arg'
  110. }
  111. ],
  112. 'cmdname' => 'macro',
  113. 'contents' => [
  114. {
  115. 'parent' => {},
  116. 'text' => 'in macro',
  117. 'type' => 'raw'
  118. },
  119. {
  120. 'parent' => {},
  121. 'text' => '
  122. ',
  123. 'type' => 'last_raw_newline'
  124. }
  125. ],
  126. 'extra' => {
  127. 'arg_line' => ' aftername {ggg} more
  128. ',
  129. 'invalid_syntax' => 1
  130. },
  131. 'line_nr' => {
  132. 'file_name' => '',
  133. 'line_nr' => 9,
  134. 'macro' => ''
  135. },
  136. 'parent' => {}
  137. },
  138. {
  139. 'extra' => {
  140. 'command' => {}
  141. },
  142. 'parent' => {},
  143. 'text' => '
  144. ',
  145. 'type' => 'empty_line_after_command'
  146. },
  147. {
  148. 'parent' => {},
  149. 'text' => '
  150. ',
  151. 'type' => 'empty_line'
  152. },
  153. {
  154. 'cmdname' => 'macro',
  155. 'contents' => [
  156. {
  157. 'parent' => {},
  158. 'text' => 'in #',
  159. 'type' => 'raw'
  160. },
  161. {
  162. 'parent' => {},
  163. 'text' => '
  164. ',
  165. 'type' => 'last_raw_newline'
  166. }
  167. ],
  168. 'extra' => {
  169. 'arg_line' => ' #badname
  170. ',
  171. 'invalid_syntax' => 1
  172. },
  173. 'line_nr' => {
  174. 'file_name' => '',
  175. 'line_nr' => 13,
  176. 'macro' => ''
  177. },
  178. 'parent' => {}
  179. },
  180. {
  181. 'extra' => {
  182. 'command' => {}
  183. },
  184. 'parent' => {},
  185. 'text' => '
  186. ',
  187. 'type' => 'empty_line_after_command'
  188. }
  189. ],
  190. 'type' => 'text_root'
  191. };
  192. $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[0]{'parent'} = $result_trees{'bad_argument'}{'contents'}[0];
  193. $result_trees{'bad_argument'}{'contents'}[0]{'contents'}[1]{'parent'} = $result_trees{'bad_argument'}{'contents'}[0];
  194. $result_trees{'bad_argument'}{'contents'}[0]{'parent'} = $result_trees{'bad_argument'};
  195. $result_trees{'bad_argument'}{'contents'}[1]{'extra'}{'command'} = $result_trees{'bad_argument'}{'contents'}[0];
  196. $result_trees{'bad_argument'}{'contents'}[1]{'parent'} = $result_trees{'bad_argument'};
  197. $result_trees{'bad_argument'}{'contents'}[2]{'parent'} = $result_trees{'bad_argument'};
  198. $result_trees{'bad_argument'}{'contents'}[3]{'args'}[0]{'parent'} = $result_trees{'bad_argument'}{'contents'}[3];
  199. $result_trees{'bad_argument'}{'contents'}[3]{'contents'}[0]{'parent'} = $result_trees{'bad_argument'}{'contents'}[3];
  200. $result_trees{'bad_argument'}{'contents'}[3]{'contents'}[1]{'parent'} = $result_trees{'bad_argument'}{'contents'}[3];
  201. $result_trees{'bad_argument'}{'contents'}[3]{'parent'} = $result_trees{'bad_argument'};
  202. $result_trees{'bad_argument'}{'contents'}[4]{'extra'}{'command'} = $result_trees{'bad_argument'}{'contents'}[3];
  203. $result_trees{'bad_argument'}{'contents'}[4]{'parent'} = $result_trees{'bad_argument'};
  204. $result_trees{'bad_argument'}{'contents'}[5]{'parent'} = $result_trees{'bad_argument'};
  205. $result_trees{'bad_argument'}{'contents'}[6]{'args'}[0]{'parent'} = $result_trees{'bad_argument'}{'contents'}[6];
  206. $result_trees{'bad_argument'}{'contents'}[6]{'args'}[1]{'parent'} = $result_trees{'bad_argument'}{'contents'}[6];
  207. $result_trees{'bad_argument'}{'contents'}[6]{'contents'}[0]{'parent'} = $result_trees{'bad_argument'}{'contents'}[6];
  208. $result_trees{'bad_argument'}{'contents'}[6]{'contents'}[1]{'parent'} = $result_trees{'bad_argument'}{'contents'}[6];
  209. $result_trees{'bad_argument'}{'contents'}[6]{'parent'} = $result_trees{'bad_argument'};
  210. $result_trees{'bad_argument'}{'contents'}[7]{'extra'}{'command'} = $result_trees{'bad_argument'}{'contents'}[6];
  211. $result_trees{'bad_argument'}{'contents'}[7]{'parent'} = $result_trees{'bad_argument'};
  212. $result_trees{'bad_argument'}{'contents'}[8]{'parent'} = $result_trees{'bad_argument'};
  213. $result_trees{'bad_argument'}{'contents'}[9]{'contents'}[0]{'parent'} = $result_trees{'bad_argument'}{'contents'}[9];
  214. $result_trees{'bad_argument'}{'contents'}[9]{'contents'}[1]{'parent'} = $result_trees{'bad_argument'}{'contents'}[9];
  215. $result_trees{'bad_argument'}{'contents'}[9]{'parent'} = $result_trees{'bad_argument'};
  216. $result_trees{'bad_argument'}{'contents'}[10]{'extra'}{'command'} = $result_trees{'bad_argument'}{'contents'}[9];
  217. $result_trees{'bad_argument'}{'contents'}[10]{'parent'} = $result_trees{'bad_argument'};
  218. $result_texis{'bad_argument'} = '@macro
  219. in macro
  220. @end macro
  221. @rmacro abar aaa
  222. in
  223. @end rmacro
  224. @macro aftername {ggg} more
  225. in macro
  226. @end macro
  227. @macro #badname
  228. in #
  229. @end macro
  230. ';
  231. $result_texts{'bad_argument'} = '
  232. ';
  233. $result_errors{'bad_argument'} = [
  234. {
  235. 'error_line' => ':1: @macro requires a name
  236. ',
  237. 'file_name' => '',
  238. 'line_nr' => 1,
  239. 'macro' => '',
  240. 'text' => '@macro requires a name',
  241. 'type' => 'error'
  242. },
  243. {
  244. 'error_line' => ':5: bad syntax for @rmacro argument: aaa
  245. ',
  246. 'file_name' => '',
  247. 'line_nr' => 5,
  248. 'macro' => '',
  249. 'text' => 'bad syntax for @rmacro argument: aaa',
  250. 'type' => 'error'
  251. },
  252. {
  253. 'error_line' => ':9: bad syntax for @macro argument: more
  254. ',
  255. 'file_name' => '',
  256. 'line_nr' => 9,
  257. 'macro' => '',
  258. 'text' => 'bad syntax for @macro argument: more',
  259. 'type' => 'error'
  260. },
  261. {
  262. 'error_line' => ':13: bad name for @macro
  263. ',
  264. 'file_name' => '',
  265. 'line_nr' => 13,
  266. 'macro' => '',
  267. 'text' => 'bad name for @macro',
  268. 'type' => 'error'
  269. }
  270. ];
  271. 1;