mega-sharp-mod 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (576) hide show
  1. checksums.yaml +7 -0
  2. data/kramdown-2.5.2/AUTHORS +1 -0
  3. data/kramdown-2.5.2/CONTRIBUTERS +93 -0
  4. data/kramdown-2.5.2/COPYING +30 -0
  5. data/kramdown-2.5.2/README.md +77 -0
  6. data/kramdown-2.5.2/VERSION +1 -0
  7. data/kramdown-2.5.2/bin/kramdown +135 -0
  8. data/kramdown-2.5.2/data/kramdown/document.html +22 -0
  9. data/kramdown-2.5.2/data/kramdown/document.latex +50 -0
  10. data/kramdown-2.5.2/lib/kramdown/converter/base.rb +257 -0
  11. data/kramdown-2.5.2/lib/kramdown/converter/hash_ast.rb +38 -0
  12. data/kramdown-2.5.2/lib/kramdown/converter/html.rb +545 -0
  13. data/kramdown-2.5.2/lib/kramdown/converter/kramdown.rb +458 -0
  14. data/kramdown-2.5.2/lib/kramdown/converter/latex.rb +626 -0
  15. data/kramdown-2.5.2/lib/kramdown/converter/man.rb +300 -0
  16. data/kramdown-2.5.2/lib/kramdown/converter/math_engine/mathjax.rb +32 -0
  17. data/kramdown-2.5.2/lib/kramdown/converter/remove_html_tags.rb +58 -0
  18. data/kramdown-2.5.2/lib/kramdown/converter/syntax_highlighter/minted.rb +35 -0
  19. data/kramdown-2.5.2/lib/kramdown/converter/syntax_highlighter/rouge.rb +85 -0
  20. data/kramdown-2.5.2/lib/kramdown/converter/syntax_highlighter.rb +56 -0
  21. data/kramdown-2.5.2/lib/kramdown/converter/toc.rb +69 -0
  22. data/kramdown-2.5.2/lib/kramdown/converter.rb +68 -0
  23. data/kramdown-2.5.2/lib/kramdown/document.rb +139 -0
  24. data/kramdown-2.5.2/lib/kramdown/element.rb +551 -0
  25. data/kramdown-2.5.2/lib/kramdown/error.rb +17 -0
  26. data/kramdown-2.5.2/lib/kramdown/options.rb +645 -0
  27. data/kramdown-2.5.2/lib/kramdown/parser/base.rb +137 -0
  28. data/kramdown-2.5.2/lib/kramdown/parser/html.rb +621 -0
  29. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/abbreviation.rb +80 -0
  30. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/autolink.rb +31 -0
  31. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/blank_line.rb +30 -0
  32. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/block_boundary.rb +34 -0
  33. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/blockquote.rb +38 -0
  34. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/codeblock.rb +57 -0
  35. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/codespan.rb +58 -0
  36. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/emphasis.rb +66 -0
  37. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/eob.rb +26 -0
  38. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/escaped_chars.rb +25 -0
  39. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/extensions.rb +214 -0
  40. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/footnote.rb +64 -0
  41. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/header.rb +70 -0
  42. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/horizontal_rule.rb +27 -0
  43. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/html.rb +165 -0
  44. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/html_entity.rb +34 -0
  45. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/line_break.rb +25 -0
  46. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/link.rb +149 -0
  47. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/list.rb +286 -0
  48. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/math.rb +53 -0
  49. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/paragraph.rb +62 -0
  50. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/smart_quotes.rb +174 -0
  51. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/table.rb +171 -0
  52. data/kramdown-2.5.2/lib/kramdown/parser/kramdown/typographic_symbol.rb +44 -0
  53. data/kramdown-2.5.2/lib/kramdown/parser/kramdown.rb +377 -0
  54. data/kramdown-2.5.2/lib/kramdown/parser/markdown.rb +57 -0
  55. data/kramdown-2.5.2/lib/kramdown/parser.rb +26 -0
  56. data/kramdown-2.5.2/lib/kramdown/utils/configurable.rb +45 -0
  57. data/kramdown-2.5.2/lib/kramdown/utils/entities.rb +1000 -0
  58. data/kramdown-2.5.2/lib/kramdown/utils/html.rb +84 -0
  59. data/kramdown-2.5.2/lib/kramdown/utils/lru_cache.rb +41 -0
  60. data/kramdown-2.5.2/lib/kramdown/utils/string_scanner.rb +81 -0
  61. data/kramdown-2.5.2/lib/kramdown/utils/unidecoder.rb +46 -0
  62. data/kramdown-2.5.2/lib/kramdown/utils.rb +45 -0
  63. data/kramdown-2.5.2/lib/kramdown/version.rb +15 -0
  64. data/kramdown-2.5.2/lib/kramdown.rb +10 -0
  65. data/kramdown-2.5.2/man/man1/kramdown.1 +373 -0
  66. data/kramdown-2.5.2/test/run_tests.rb +46 -0
  67. data/kramdown-2.5.2/test/test_files.rb +313 -0
  68. data/kramdown-2.5.2/test/test_location.rb +216 -0
  69. data/kramdown-2.5.2/test/test_string_scanner_kramdown.rb +27 -0
  70. data/kramdown-2.5.2/test/testcases/block/01_blank_line/spaces.html +1 -0
  71. data/kramdown-2.5.2/test/testcases/block/01_blank_line/spaces.text +3 -0
  72. data/kramdown-2.5.2/test/testcases/block/01_blank_line/tabs.html +1 -0
  73. data/kramdown-2.5.2/test/testcases/block/01_blank_line/tabs.text +6 -0
  74. data/kramdown-2.5.2/test/testcases/block/02_eob/beginning.html +1 -0
  75. data/kramdown-2.5.2/test/testcases/block/02_eob/beginning.text +3 -0
  76. data/kramdown-2.5.2/test/testcases/block/02_eob/end.html +1 -0
  77. data/kramdown-2.5.2/test/testcases/block/02_eob/end.text +3 -0
  78. data/kramdown-2.5.2/test/testcases/block/02_eob/middle.html +1 -0
  79. data/kramdown-2.5.2/test/testcases/block/02_eob/middle.text +5 -0
  80. data/kramdown-2.5.2/test/testcases/block/03_paragraph/indented.html +18 -0
  81. data/kramdown-2.5.2/test/testcases/block/03_paragraph/indented.html.gfm +18 -0
  82. data/kramdown-2.5.2/test/testcases/block/03_paragraph/indented.text +19 -0
  83. data/kramdown-2.5.2/test/testcases/block/03_paragraph/line_break_last_line.html +9 -0
  84. data/kramdown-2.5.2/test/testcases/block/03_paragraph/line_break_last_line.text +9 -0
  85. data/kramdown-2.5.2/test/testcases/block/03_paragraph/no_newline_at_end.html +5 -0
  86. data/kramdown-2.5.2/test/testcases/block/03_paragraph/no_newline_at_end.text +5 -0
  87. data/kramdown-2.5.2/test/testcases/block/03_paragraph/one_para.html +1 -0
  88. data/kramdown-2.5.2/test/testcases/block/03_paragraph/one_para.text +1 -0
  89. data/kramdown-2.5.2/test/testcases/block/03_paragraph/standalone_image.html +13 -0
  90. data/kramdown-2.5.2/test/testcases/block/03_paragraph/standalone_image.text +9 -0
  91. data/kramdown-2.5.2/test/testcases/block/03_paragraph/to_kramdown.kramdown +7 -0
  92. data/kramdown-2.5.2/test/testcases/block/03_paragraph/to_kramdown.text +5 -0
  93. data/kramdown-2.5.2/test/testcases/block/03_paragraph/two_para.html +4 -0
  94. data/kramdown-2.5.2/test/testcases/block/03_paragraph/two_para.text +4 -0
  95. data/kramdown-2.5.2/test/testcases/block/03_paragraph/with_html_to_native.html +1 -0
  96. data/kramdown-2.5.2/test/testcases/block/03_paragraph/with_html_to_native.options +1 -0
  97. data/kramdown-2.5.2/test/testcases/block/03_paragraph/with_html_to_native.text +1 -0
  98. data/kramdown-2.5.2/test/testcases/block/04_header/atx_header.html +57 -0
  99. data/kramdown-2.5.2/test/testcases/block/04_header/atx_header.text +54 -0
  100. data/kramdown-2.5.2/test/testcases/block/04_header/atx_header_no_newline_at_end.html +1 -0
  101. data/kramdown-2.5.2/test/testcases/block/04_header/atx_header_no_newline_at_end.text +1 -0
  102. data/kramdown-2.5.2/test/testcases/block/04_header/header_type_offset.html +11 -0
  103. data/kramdown-2.5.2/test/testcases/block/04_header/header_type_offset.kramdown +12 -0
  104. data/kramdown-2.5.2/test/testcases/block/04_header/header_type_offset.latex +12 -0
  105. data/kramdown-2.5.2/test/testcases/block/04_header/header_type_offset.options +2 -0
  106. data/kramdown-2.5.2/test/testcases/block/04_header/header_type_offset.text +13 -0
  107. data/kramdown-2.5.2/test/testcases/block/04_header/setext_header.html +32 -0
  108. data/kramdown-2.5.2/test/testcases/block/04_header/setext_header.text +39 -0
  109. data/kramdown-2.5.2/test/testcases/block/04_header/setext_header_no_newline_at_end.html +1 -0
  110. data/kramdown-2.5.2/test/testcases/block/04_header/setext_header_no_newline_at_end.text +2 -0
  111. data/kramdown-2.5.2/test/testcases/block/04_header/with_auto_id_prefix.html +3 -0
  112. data/kramdown-2.5.2/test/testcases/block/04_header/with_auto_id_prefix.options +2 -0
  113. data/kramdown-2.5.2/test/testcases/block/04_header/with_auto_id_prefix.text +3 -0
  114. data/kramdown-2.5.2/test/testcases/block/04_header/with_auto_id_stripping.html +1 -0
  115. data/kramdown-2.5.2/test/testcases/block/04_header/with_auto_id_stripping.options +1 -0
  116. data/kramdown-2.5.2/test/testcases/block/04_header/with_auto_id_stripping.text +1 -0
  117. data/kramdown-2.5.2/test/testcases/block/04_header/with_auto_ids.html +21 -0
  118. data/kramdown-2.5.2/test/testcases/block/04_header/with_auto_ids.options +2 -0
  119. data/kramdown-2.5.2/test/testcases/block/04_header/with_auto_ids.text +24 -0
  120. data/kramdown-2.5.2/test/testcases/block/04_header/with_header_links.html +7 -0
  121. data/kramdown-2.5.2/test/testcases/block/04_header/with_header_links.options +2 -0
  122. data/kramdown-2.5.2/test/testcases/block/04_header/with_header_links.text +8 -0
  123. data/kramdown-2.5.2/test/testcases/block/04_header/with_line_break.html +1 -0
  124. data/kramdown-2.5.2/test/testcases/block/04_header/with_line_break.text +1 -0
  125. data/kramdown-2.5.2/test/testcases/block/05_blockquote/indented.html +25 -0
  126. data/kramdown-2.5.2/test/testcases/block/05_blockquote/indented.text +14 -0
  127. data/kramdown-2.5.2/test/testcases/block/05_blockquote/lazy.html +34 -0
  128. data/kramdown-2.5.2/test/testcases/block/05_blockquote/lazy.text +20 -0
  129. data/kramdown-2.5.2/test/testcases/block/05_blockquote/nested.html +10 -0
  130. data/kramdown-2.5.2/test/testcases/block/05_blockquote/nested.text +6 -0
  131. data/kramdown-2.5.2/test/testcases/block/05_blockquote/no_newline_at_end.html +4 -0
  132. data/kramdown-2.5.2/test/testcases/block/05_blockquote/no_newline_at_end.text +2 -0
  133. data/kramdown-2.5.2/test/testcases/block/05_blockquote/very_long_line.html +3 -0
  134. data/kramdown-2.5.2/test/testcases/block/05_blockquote/very_long_line.text +1 -0
  135. data/kramdown-2.5.2/test/testcases/block/05_blockquote/with_code_blocks.html +15 -0
  136. data/kramdown-2.5.2/test/testcases/block/05_blockquote/with_code_blocks.text +11 -0
  137. data/kramdown-2.5.2/test/testcases/block/06_codeblock/disable-highlighting.html +4 -0
  138. data/kramdown-2.5.2/test/testcases/block/06_codeblock/disable-highlighting.options +1 -0
  139. data/kramdown-2.5.2/test/testcases/block/06_codeblock/disable-highlighting.text +4 -0
  140. data/kramdown-2.5.2/test/testcases/block/06_codeblock/error.html +4 -0
  141. data/kramdown-2.5.2/test/testcases/block/06_codeblock/error.text +4 -0
  142. data/kramdown-2.5.2/test/testcases/block/06_codeblock/guess_lang_css_class.html +15 -0
  143. data/kramdown-2.5.2/test/testcases/block/06_codeblock/guess_lang_css_class.options +2 -0
  144. data/kramdown-2.5.2/test/testcases/block/06_codeblock/guess_lang_css_class.text +13 -0
  145. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting-minted-with-opts.latex +9 -0
  146. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting-minted-with-opts.options +4 -0
  147. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting-minted-with-opts.text +5 -0
  148. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting-minted.latex +8 -0
  149. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting-minted.options +3 -0
  150. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting-minted.text +4 -0
  151. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting-opts.html +6 -0
  152. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting-opts.options +7 -0
  153. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting-opts.text +4 -0
  154. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting.html +5 -0
  155. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting.options +5 -0
  156. data/kramdown-2.5.2/test/testcases/block/06_codeblock/highlighting.text +4 -0
  157. data/kramdown-2.5.2/test/testcases/block/06_codeblock/issue_gh45.html +164 -0
  158. data/kramdown-2.5.2/test/testcases/block/06_codeblock/issue_gh45.test +188 -0
  159. data/kramdown-2.5.2/test/testcases/block/06_codeblock/lazy.html +4 -0
  160. data/kramdown-2.5.2/test/testcases/block/06_codeblock/lazy.text +5 -0
  161. data/kramdown-2.5.2/test/testcases/block/06_codeblock/no_newline_at_end.html +2 -0
  162. data/kramdown-2.5.2/test/testcases/block/06_codeblock/no_newline_at_end.text +1 -0
  163. data/kramdown-2.5.2/test/testcases/block/06_codeblock/no_newline_at_end_1.html +2 -0
  164. data/kramdown-2.5.2/test/testcases/block/06_codeblock/no_newline_at_end_1.text +2 -0
  165. data/kramdown-2.5.2/test/testcases/block/06_codeblock/normal.html +13 -0
  166. data/kramdown-2.5.2/test/testcases/block/06_codeblock/normal.text +10 -0
  167. data/kramdown-2.5.2/test/testcases/block/06_codeblock/rouge/disabled.html +2 -0
  168. data/kramdown-2.5.2/test/testcases/block/06_codeblock/rouge/disabled.options +4 -0
  169. data/kramdown-2.5.2/test/testcases/block/06_codeblock/rouge/disabled.text +1 -0
  170. data/kramdown-2.5.2/test/testcases/block/06_codeblock/rouge/multiple.html +11 -0
  171. data/kramdown-2.5.2/test/testcases/block/06_codeblock/rouge/multiple.options +4 -0
  172. data/kramdown-2.5.2/test/testcases/block/06_codeblock/rouge/multiple.text +11 -0
  173. data/kramdown-2.5.2/test/testcases/block/06_codeblock/rouge/simple.html +10 -0
  174. data/kramdown-2.5.2/test/testcases/block/06_codeblock/rouge/simple.options +3 -0
  175. data/kramdown-2.5.2/test/testcases/block/06_codeblock/rouge/simple.text +9 -0
  176. data/kramdown-2.5.2/test/testcases/block/06_codeblock/tilde_syntax.html +7 -0
  177. data/kramdown-2.5.2/test/testcases/block/06_codeblock/tilde_syntax.text +9 -0
  178. data/kramdown-2.5.2/test/testcases/block/06_codeblock/whitespace.html +3 -0
  179. data/kramdown-2.5.2/test/testcases/block/06_codeblock/whitespace.text +3 -0
  180. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_blank_line.html +13 -0
  181. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_blank_line.text +12 -0
  182. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_eob_marker.html +6 -0
  183. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_eob_marker.text +5 -0
  184. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_ial.html +6 -0
  185. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_ial.text +5 -0
  186. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block.html +24 -0
  187. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block.options +2 -0
  188. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block.text +33 -0
  189. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.html +8 -0
  190. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.options +2 -0
  191. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.text +11 -0
  192. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.html +3 -0
  193. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.options +2 -0
  194. data/kramdown-2.5.2/test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.text +4 -0
  195. data/kramdown-2.5.2/test/testcases/block/07_horizontal_rule/error.html +7 -0
  196. data/kramdown-2.5.2/test/testcases/block/07_horizontal_rule/error.text +7 -0
  197. data/kramdown-2.5.2/test/testcases/block/07_horizontal_rule/normal.html +19 -0
  198. data/kramdown-2.5.2/test/testcases/block/07_horizontal_rule/normal.text +20 -0
  199. data/kramdown-2.5.2/test/testcases/block/07_horizontal_rule/sepspaces.html +3 -0
  200. data/kramdown-2.5.2/test/testcases/block/07_horizontal_rule/sepspaces.text +3 -0
  201. data/kramdown-2.5.2/test/testcases/block/07_horizontal_rule/septabs.html +3 -0
  202. data/kramdown-2.5.2/test/testcases/block/07_horizontal_rule/septabs.text +3 -0
  203. data/kramdown-2.5.2/test/testcases/block/08_list/brackets_in_item.latex +3 -0
  204. data/kramdown-2.5.2/test/testcases/block/08_list/brackets_in_item.text +1 -0
  205. data/kramdown-2.5.2/test/testcases/block/08_list/escaping.html +21 -0
  206. data/kramdown-2.5.2/test/testcases/block/08_list/escaping.text +21 -0
  207. data/kramdown-2.5.2/test/testcases/block/08_list/item_ial.html +10 -0
  208. data/kramdown-2.5.2/test/testcases/block/08_list/item_ial.text +8 -0
  209. data/kramdown-2.5.2/test/testcases/block/08_list/lazy.html +39 -0
  210. data/kramdown-2.5.2/test/testcases/block/08_list/lazy.text +29 -0
  211. data/kramdown-2.5.2/test/testcases/block/08_list/lazy_and_nested.html +9 -0
  212. data/kramdown-2.5.2/test/testcases/block/08_list/lazy_and_nested.text +4 -0
  213. data/kramdown-2.5.2/test/testcases/block/08_list/list_and_hr.html +9 -0
  214. data/kramdown-2.5.2/test/testcases/block/08_list/list_and_hr.text +5 -0
  215. data/kramdown-2.5.2/test/testcases/block/08_list/list_and_others.html +40 -0
  216. data/kramdown-2.5.2/test/testcases/block/08_list/list_and_others.text +26 -0
  217. data/kramdown-2.5.2/test/testcases/block/08_list/mixed.html +117 -0
  218. data/kramdown-2.5.2/test/testcases/block/08_list/mixed.text +66 -0
  219. data/kramdown-2.5.2/test/testcases/block/08_list/nested.html +17 -0
  220. data/kramdown-2.5.2/test/testcases/block/08_list/nested.text +7 -0
  221. data/kramdown-2.5.2/test/testcases/block/08_list/nested_compact.kramdown +7 -0
  222. data/kramdown-2.5.2/test/testcases/block/08_list/nested_compact.text +6 -0
  223. data/kramdown-2.5.2/test/testcases/block/08_list/other_first_element.html +39 -0
  224. data/kramdown-2.5.2/test/testcases/block/08_list/other_first_element.text +18 -0
  225. data/kramdown-2.5.2/test/testcases/block/08_list/simple_ol.html +19 -0
  226. data/kramdown-2.5.2/test/testcases/block/08_list/simple_ol.text +13 -0
  227. data/kramdown-2.5.2/test/testcases/block/08_list/simple_ul.html +48 -0
  228. data/kramdown-2.5.2/test/testcases/block/08_list/simple_ul.text +36 -0
  229. data/kramdown-2.5.2/test/testcases/block/08_list/single_item.html +3 -0
  230. data/kramdown-2.5.2/test/testcases/block/08_list/single_item.text +1 -0
  231. data/kramdown-2.5.2/test/testcases/block/08_list/special_cases.html +72 -0
  232. data/kramdown-2.5.2/test/testcases/block/08_list/special_cases.text +49 -0
  233. data/kramdown-2.5.2/test/testcases/block/09_html/cdata_section.html +10 -0
  234. data/kramdown-2.5.2/test/testcases/block/09_html/cdata_section.text +10 -0
  235. data/kramdown-2.5.2/test/testcases/block/09_html/comment.html +18 -0
  236. data/kramdown-2.5.2/test/testcases/block/09_html/comment.text +15 -0
  237. data/kramdown-2.5.2/test/testcases/block/09_html/content_model/deflists.html +6 -0
  238. data/kramdown-2.5.2/test/testcases/block/09_html/content_model/deflists.options +1 -0
  239. data/kramdown-2.5.2/test/testcases/block/09_html/content_model/deflists.text +6 -0
  240. data/kramdown-2.5.2/test/testcases/block/09_html/content_model/tables.html +14 -0
  241. data/kramdown-2.5.2/test/testcases/block/09_html/content_model/tables.options +1 -0
  242. data/kramdown-2.5.2/test/testcases/block/09_html/content_model/tables.text +14 -0
  243. data/kramdown-2.5.2/test/testcases/block/09_html/html5_attributes.html +15 -0
  244. data/kramdown-2.5.2/test/testcases/block/09_html/html5_attributes.text +15 -0
  245. data/kramdown-2.5.2/test/testcases/block/09_html/html_after_block.html +7 -0
  246. data/kramdown-2.5.2/test/testcases/block/09_html/html_after_block.text +5 -0
  247. data/kramdown-2.5.2/test/testcases/block/09_html/html_and_codeblocks.html +15 -0
  248. data/kramdown-2.5.2/test/testcases/block/09_html/html_and_codeblocks.options +1 -0
  249. data/kramdown-2.5.2/test/testcases/block/09_html/html_and_codeblocks.text +13 -0
  250. data/kramdown-2.5.2/test/testcases/block/09_html/html_and_headers.html +5 -0
  251. data/kramdown-2.5.2/test/testcases/block/09_html/html_and_headers.text +6 -0
  252. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/code.html +10 -0
  253. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/code.text +9 -0
  254. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/comment.html +7 -0
  255. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/comment.text +8 -0
  256. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/emphasis.html +6 -0
  257. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/emphasis.text +6 -0
  258. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/entity.html +1 -0
  259. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/entity.text +1 -0
  260. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/header.html +6 -0
  261. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/header.options +2 -0
  262. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/header.text +6 -0
  263. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/list_dl.html +8 -0
  264. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/list_dl.text +8 -0
  265. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/list_ol.html +15 -0
  266. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/list_ol.text +17 -0
  267. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/list_ul.html +19 -0
  268. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/list_ul.text +22 -0
  269. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/options +1 -0
  270. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/paragraph.html +3 -0
  271. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/paragraph.text +4 -0
  272. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/table_normal.html +12 -0
  273. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/table_normal.text +12 -0
  274. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/table_simple.html +64 -0
  275. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/table_simple.text +74 -0
  276. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/typography.html +1 -0
  277. data/kramdown-2.5.2/test/testcases/block/09_html/html_to_native/typography.text +1 -0
  278. data/kramdown-2.5.2/test/testcases/block/09_html/invalid_html_1.html +5 -0
  279. data/kramdown-2.5.2/test/testcases/block/09_html/invalid_html_1.text +5 -0
  280. data/kramdown-2.5.2/test/testcases/block/09_html/invalid_html_2.html +5 -0
  281. data/kramdown-2.5.2/test/testcases/block/09_html/invalid_html_2.text +5 -0
  282. data/kramdown-2.5.2/test/testcases/block/09_html/markdown_attr.html +38 -0
  283. data/kramdown-2.5.2/test/testcases/block/09_html/markdown_attr.text +38 -0
  284. data/kramdown-2.5.2/test/testcases/block/09_html/not_parsed.html +24 -0
  285. data/kramdown-2.5.2/test/testcases/block/09_html/not_parsed.text +24 -0
  286. data/kramdown-2.5.2/test/testcases/block/09_html/parse_as_raw.html +35 -0
  287. data/kramdown-2.5.2/test/testcases/block/09_html/parse_as_raw.htmlinput +34 -0
  288. data/kramdown-2.5.2/test/testcases/block/09_html/parse_as_raw.options +1 -0
  289. data/kramdown-2.5.2/test/testcases/block/09_html/parse_as_raw.text +33 -0
  290. data/kramdown-2.5.2/test/testcases/block/09_html/parse_as_span.html +12 -0
  291. data/kramdown-2.5.2/test/testcases/block/09_html/parse_as_span.htmlinput +12 -0
  292. data/kramdown-2.5.2/test/testcases/block/09_html/parse_as_span.options +1 -0
  293. data/kramdown-2.5.2/test/testcases/block/09_html/parse_as_span.text +9 -0
  294. data/kramdown-2.5.2/test/testcases/block/09_html/parse_block_html.html +21 -0
  295. data/kramdown-2.5.2/test/testcases/block/09_html/parse_block_html.options +1 -0
  296. data/kramdown-2.5.2/test/testcases/block/09_html/parse_block_html.text +17 -0
  297. data/kramdown-2.5.2/test/testcases/block/09_html/processing_instruction.html +12 -0
  298. data/kramdown-2.5.2/test/testcases/block/09_html/processing_instruction.text +12 -0
  299. data/kramdown-2.5.2/test/testcases/block/09_html/simple.html +60 -0
  300. data/kramdown-2.5.2/test/testcases/block/09_html/simple.options +1 -0
  301. data/kramdown-2.5.2/test/testcases/block/09_html/simple.text +55 -0
  302. data/kramdown-2.5.2/test/testcases/block/09_html/standalone_image_in_div.htmlinput +7 -0
  303. data/kramdown-2.5.2/test/testcases/block/09_html/standalone_image_in_div.text +8 -0
  304. data/kramdown-2.5.2/test/testcases/block/09_html/table.kramdown +8 -0
  305. data/kramdown-2.5.2/test/testcases/block/09_html/table.text +7 -0
  306. data/kramdown-2.5.2/test/testcases/block/09_html/textarea.html +8 -0
  307. data/kramdown-2.5.2/test/testcases/block/09_html/textarea.text +8 -0
  308. data/kramdown-2.5.2/test/testcases/block/09_html/xml.html +8 -0
  309. data/kramdown-2.5.2/test/testcases/block/09_html/xml.text +7 -0
  310. data/kramdown-2.5.2/test/testcases/block/10_ald/simple.html +2 -0
  311. data/kramdown-2.5.2/test/testcases/block/10_ald/simple.text +8 -0
  312. data/kramdown-2.5.2/test/testcases/block/11_ial/auto_id_and_ial.html +1 -0
  313. data/kramdown-2.5.2/test/testcases/block/11_ial/auto_id_and_ial.options +1 -0
  314. data/kramdown-2.5.2/test/testcases/block/11_ial/auto_id_and_ial.text +2 -0
  315. data/kramdown-2.5.2/test/testcases/block/11_ial/nested.html +11 -0
  316. data/kramdown-2.5.2/test/testcases/block/11_ial/nested.text +15 -0
  317. data/kramdown-2.5.2/test/testcases/block/11_ial/simple.html +29 -0
  318. data/kramdown-2.5.2/test/testcases/block/11_ial/simple.text +41 -0
  319. data/kramdown-2.5.2/test/testcases/block/12_extension/comment.html +8 -0
  320. data/kramdown-2.5.2/test/testcases/block/12_extension/comment.text +12 -0
  321. data/kramdown-2.5.2/test/testcases/block/12_extension/ignored.html +8 -0
  322. data/kramdown-2.5.2/test/testcases/block/12_extension/ignored.text +8 -0
  323. data/kramdown-2.5.2/test/testcases/block/12_extension/nomarkdown.html +10 -0
  324. data/kramdown-2.5.2/test/testcases/block/12_extension/nomarkdown.kramdown +20 -0
  325. data/kramdown-2.5.2/test/testcases/block/12_extension/nomarkdown.latex +13 -0
  326. data/kramdown-2.5.2/test/testcases/block/12_extension/nomarkdown.text +21 -0
  327. data/kramdown-2.5.2/test/testcases/block/12_extension/options.html +21 -0
  328. data/kramdown-2.5.2/test/testcases/block/12_extension/options.text +23 -0
  329. data/kramdown-2.5.2/test/testcases/block/12_extension/options2.html +10 -0
  330. data/kramdown-2.5.2/test/testcases/block/12_extension/options2.text +5 -0
  331. data/kramdown-2.5.2/test/testcases/block/12_extension/options3.html +8 -0
  332. data/kramdown-2.5.2/test/testcases/block/12_extension/options3.text +7 -0
  333. data/kramdown-2.5.2/test/testcases/block/13_definition_list/auto_ids.html +15 -0
  334. data/kramdown-2.5.2/test/testcases/block/13_definition_list/auto_ids.text +18 -0
  335. data/kramdown-2.5.2/test/testcases/block/13_definition_list/definition_at_beginning.html +1 -0
  336. data/kramdown-2.5.2/test/testcases/block/13_definition_list/definition_at_beginning.text +1 -0
  337. data/kramdown-2.5.2/test/testcases/block/13_definition_list/deflist_ial.html +4 -0
  338. data/kramdown-2.5.2/test/testcases/block/13_definition_list/deflist_ial.text +4 -0
  339. data/kramdown-2.5.2/test/testcases/block/13_definition_list/item_ial.html +17 -0
  340. data/kramdown-2.5.2/test/testcases/block/13_definition_list/item_ial.text +16 -0
  341. data/kramdown-2.5.2/test/testcases/block/13_definition_list/multiple_terms.html +13 -0
  342. data/kramdown-2.5.2/test/testcases/block/13_definition_list/multiple_terms.text +10 -0
  343. data/kramdown-2.5.2/test/testcases/block/13_definition_list/no_def_list.html +2 -0
  344. data/kramdown-2.5.2/test/testcases/block/13_definition_list/no_def_list.text +2 -0
  345. data/kramdown-2.5.2/test/testcases/block/13_definition_list/para_wrapping.html +10 -0
  346. data/kramdown-2.5.2/test/testcases/block/13_definition_list/para_wrapping.text +6 -0
  347. data/kramdown-2.5.2/test/testcases/block/13_definition_list/separated_by_eob.html +8 -0
  348. data/kramdown-2.5.2/test/testcases/block/13_definition_list/separated_by_eob.text +5 -0
  349. data/kramdown-2.5.2/test/testcases/block/13_definition_list/simple.html +10 -0
  350. data/kramdown-2.5.2/test/testcases/block/13_definition_list/simple.text +10 -0
  351. data/kramdown-2.5.2/test/testcases/block/13_definition_list/styled_terms.html +4 -0
  352. data/kramdown-2.5.2/test/testcases/block/13_definition_list/styled_terms.text +2 -0
  353. data/kramdown-2.5.2/test/testcases/block/13_definition_list/too_much_space.html +3 -0
  354. data/kramdown-2.5.2/test/testcases/block/13_definition_list/too_much_space.text +4 -0
  355. data/kramdown-2.5.2/test/testcases/block/13_definition_list/with_blocks.html +38 -0
  356. data/kramdown-2.5.2/test/testcases/block/13_definition_list/with_blocks.text +24 -0
  357. data/kramdown-2.5.2/test/testcases/block/14_table/empty_tag_in_cell.html +8 -0
  358. data/kramdown-2.5.2/test/testcases/block/14_table/empty_tag_in_cell.options +1 -0
  359. data/kramdown-2.5.2/test/testcases/block/14_table/empty_tag_in_cell.text +1 -0
  360. data/kramdown-2.5.2/test/testcases/block/14_table/errors.html +12 -0
  361. data/kramdown-2.5.2/test/testcases/block/14_table/errors.text +13 -0
  362. data/kramdown-2.5.2/test/testcases/block/14_table/escaping.html +52 -0
  363. data/kramdown-2.5.2/test/testcases/block/14_table/escaping.text +19 -0
  364. data/kramdown-2.5.2/test/testcases/block/14_table/footer.html +65 -0
  365. data/kramdown-2.5.2/test/testcases/block/14_table/footer.text +25 -0
  366. data/kramdown-2.5.2/test/testcases/block/14_table/header.html +117 -0
  367. data/kramdown-2.5.2/test/testcases/block/14_table/header.text +39 -0
  368. data/kramdown-2.5.2/test/testcases/block/14_table/no_table.html +3 -0
  369. data/kramdown-2.5.2/test/testcases/block/14_table/no_table.text +3 -0
  370. data/kramdown-2.5.2/test/testcases/block/14_table/simple.html +192 -0
  371. data/kramdown-2.5.2/test/testcases/block/14_table/simple.text +53 -0
  372. data/kramdown-2.5.2/test/testcases/block/14_table/table_with_footnote.html +25 -0
  373. data/kramdown-2.5.2/test/testcases/block/14_table/table_with_footnote.latex +11 -0
  374. data/kramdown-2.5.2/test/testcases/block/14_table/table_with_footnote.text +6 -0
  375. data/kramdown-2.5.2/test/testcases/block/15_math/gh_128.html +1 -0
  376. data/kramdown-2.5.2/test/testcases/block/15_math/gh_128.text +1 -0
  377. data/kramdown-2.5.2/test/testcases/block/15_math/no_engine.html +3 -0
  378. data/kramdown-2.5.2/test/testcases/block/15_math/no_engine.options +1 -0
  379. data/kramdown-2.5.2/test/testcases/block/15_math/no_engine.text +2 -0
  380. data/kramdown-2.5.2/test/testcases/block/15_math/normal.html +30 -0
  381. data/kramdown-2.5.2/test/testcases/block/15_math/normal.text +30 -0
  382. data/kramdown-2.5.2/test/testcases/block/16_toc/no_toc.html +14 -0
  383. data/kramdown-2.5.2/test/testcases/block/16_toc/no_toc.text +16 -0
  384. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_exclude.html +35 -0
  385. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_exclude.options +1 -0
  386. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_exclude.text +19 -0
  387. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_levels.html +24 -0
  388. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_levels.options +2 -0
  389. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_levels.text +16 -0
  390. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_with_footnotes.html +13 -0
  391. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_with_footnotes.options +1 -0
  392. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_with_footnotes.text +6 -0
  393. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_with_links.html +8 -0
  394. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_with_links.options +2 -0
  395. data/kramdown-2.5.2/test/testcases/block/16_toc/toc_with_links.text +8 -0
  396. data/kramdown-2.5.2/test/testcases/cjk-line-break.html +4 -0
  397. data/kramdown-2.5.2/test/testcases/cjk-line-break.options +1 -0
  398. data/kramdown-2.5.2/test/testcases/cjk-line-break.text +12 -0
  399. data/kramdown-2.5.2/test/testcases/encoding.html +46 -0
  400. data/kramdown-2.5.2/test/testcases/encoding.text +28 -0
  401. data/kramdown-2.5.2/test/testcases/man/example.man +123 -0
  402. data/kramdown-2.5.2/test/testcases/man/example.text +85 -0
  403. data/kramdown-2.5.2/test/testcases/man/heading-name-dash-description.man +4 -0
  404. data/kramdown-2.5.2/test/testcases/man/heading-name-dash-description.text +1 -0
  405. data/kramdown-2.5.2/test/testcases/man/heading-name-description.man +4 -0
  406. data/kramdown-2.5.2/test/testcases/man/heading-name-description.text +2 -0
  407. data/kramdown-2.5.2/test/testcases/man/heading-name-section-description.man +4 -0
  408. data/kramdown-2.5.2/test/testcases/man/heading-name-section-description.text +1 -0
  409. data/kramdown-2.5.2/test/testcases/man/heading-name-section.man +2 -0
  410. data/kramdown-2.5.2/test/testcases/man/heading-name-section.text +1 -0
  411. data/kramdown-2.5.2/test/testcases/man/heading-name.man +2 -0
  412. data/kramdown-2.5.2/test/testcases/man/heading-name.text +1 -0
  413. data/kramdown-2.5.2/test/testcases/man/sections.man +4 -0
  414. data/kramdown-2.5.2/test/testcases/man/sections.text +11 -0
  415. data/kramdown-2.5.2/test/testcases/man/text-escaping.man +8 -0
  416. data/kramdown-2.5.2/test/testcases/man/text-escaping.text +7 -0
  417. data/kramdown-2.5.2/test/testcases/span/01_link/empty.html +5 -0
  418. data/kramdown-2.5.2/test/testcases/span/01_link/empty.text +5 -0
  419. data/kramdown-2.5.2/test/testcases/span/01_link/empty_title.htmlinput +3 -0
  420. data/kramdown-2.5.2/test/testcases/span/01_link/empty_title.text +7 -0
  421. data/kramdown-2.5.2/test/testcases/span/01_link/image_in_a.html +5 -0
  422. data/kramdown-2.5.2/test/testcases/span/01_link/image_in_a.text +5 -0
  423. data/kramdown-2.5.2/test/testcases/span/01_link/imagelinks.html +15 -0
  424. data/kramdown-2.5.2/test/testcases/span/01_link/imagelinks.text +18 -0
  425. data/kramdown-2.5.2/test/testcases/span/01_link/inline.html +46 -0
  426. data/kramdown-2.5.2/test/testcases/span/01_link/inline.text +48 -0
  427. data/kramdown-2.5.2/test/testcases/span/01_link/latex_escaping.latex +6 -0
  428. data/kramdown-2.5.2/test/testcases/span/01_link/latex_escaping.text +5 -0
  429. data/kramdown-2.5.2/test/testcases/span/01_link/link_defs.html +9 -0
  430. data/kramdown-2.5.2/test/testcases/span/01_link/link_defs.text +27 -0
  431. data/kramdown-2.5.2/test/testcases/span/01_link/link_defs_with_ial.html +4 -0
  432. data/kramdown-2.5.2/test/testcases/span/01_link/link_defs_with_ial.text +16 -0
  433. data/kramdown-2.5.2/test/testcases/span/01_link/links_with_angle_brackets.html +3 -0
  434. data/kramdown-2.5.2/test/testcases/span/01_link/links_with_angle_brackets.text +3 -0
  435. data/kramdown-2.5.2/test/testcases/span/01_link/reference.html +37 -0
  436. data/kramdown-2.5.2/test/testcases/span/01_link/reference.options +3 -0
  437. data/kramdown-2.5.2/test/testcases/span/01_link/reference.text +53 -0
  438. data/kramdown-2.5.2/test/testcases/span/02_emphasis/empty.html +3 -0
  439. data/kramdown-2.5.2/test/testcases/span/02_emphasis/empty.text +3 -0
  440. data/kramdown-2.5.2/test/testcases/span/02_emphasis/errors.html +9 -0
  441. data/kramdown-2.5.2/test/testcases/span/02_emphasis/errors.text +9 -0
  442. data/kramdown-2.5.2/test/testcases/span/02_emphasis/nesting.html +41 -0
  443. data/kramdown-2.5.2/test/testcases/span/02_emphasis/nesting.text +36 -0
  444. data/kramdown-2.5.2/test/testcases/span/02_emphasis/normal.html +70 -0
  445. data/kramdown-2.5.2/test/testcases/span/02_emphasis/normal.options +1 -0
  446. data/kramdown-2.5.2/test/testcases/span/02_emphasis/normal.text +68 -0
  447. data/kramdown-2.5.2/test/testcases/span/03_codespan/empty.html +5 -0
  448. data/kramdown-2.5.2/test/testcases/span/03_codespan/empty.text +5 -0
  449. data/kramdown-2.5.2/test/testcases/span/03_codespan/errors.html +1 -0
  450. data/kramdown-2.5.2/test/testcases/span/03_codespan/errors.text +1 -0
  451. data/kramdown-2.5.2/test/testcases/span/03_codespan/highlighting-minted.latex +2 -0
  452. data/kramdown-2.5.2/test/testcases/span/03_codespan/highlighting-minted.options +1 -0
  453. data/kramdown-2.5.2/test/testcases/span/03_codespan/highlighting-minted.text +1 -0
  454. data/kramdown-2.5.2/test/testcases/span/03_codespan/highlighting.html +1 -0
  455. data/kramdown-2.5.2/test/testcases/span/03_codespan/highlighting.text +1 -0
  456. data/kramdown-2.5.2/test/testcases/span/03_codespan/normal-css-class.html +1 -0
  457. data/kramdown-2.5.2/test/testcases/span/03_codespan/normal-css-class.options +2 -0
  458. data/kramdown-2.5.2/test/testcases/span/03_codespan/normal-css-class.text +1 -0
  459. data/kramdown-2.5.2/test/testcases/span/03_codespan/normal.html +20 -0
  460. data/kramdown-2.5.2/test/testcases/span/03_codespan/normal.text +20 -0
  461. data/kramdown-2.5.2/test/testcases/span/03_codespan/rouge/disabled.html +1 -0
  462. data/kramdown-2.5.2/test/testcases/span/03_codespan/rouge/disabled.options +4 -0
  463. data/kramdown-2.5.2/test/testcases/span/03_codespan/rouge/disabled.text +1 -0
  464. data/kramdown-2.5.2/test/testcases/span/03_codespan/rouge/simple.html +1 -0
  465. data/kramdown-2.5.2/test/testcases/span/03_codespan/rouge/simple.options +1 -0
  466. data/kramdown-2.5.2/test/testcases/span/03_codespan/rouge/simple.text +1 -0
  467. data/kramdown-2.5.2/test/testcases/span/04_footnote/backlink_inline.html +79 -0
  468. data/kramdown-2.5.2/test/testcases/span/04_footnote/backlink_inline.options +1 -0
  469. data/kramdown-2.5.2/test/testcases/span/04_footnote/backlink_inline.text +38 -0
  470. data/kramdown-2.5.2/test/testcases/span/04_footnote/backlink_text.html +9 -0
  471. data/kramdown-2.5.2/test/testcases/span/04_footnote/backlink_text.options +1 -0
  472. data/kramdown-2.5.2/test/testcases/span/04_footnote/backlink_text.text +3 -0
  473. data/kramdown-2.5.2/test/testcases/span/04_footnote/definitions.html +17 -0
  474. data/kramdown-2.5.2/test/testcases/span/04_footnote/definitions.latex +17 -0
  475. data/kramdown-2.5.2/test/testcases/span/04_footnote/definitions.text +24 -0
  476. data/kramdown-2.5.2/test/testcases/span/04_footnote/footnote_link_text.html +12 -0
  477. data/kramdown-2.5.2/test/testcases/span/04_footnote/footnote_link_text.options +1 -0
  478. data/kramdown-2.5.2/test/testcases/span/04_footnote/footnote_link_text.text +4 -0
  479. data/kramdown-2.5.2/test/testcases/span/04_footnote/footnote_nr.html +12 -0
  480. data/kramdown-2.5.2/test/testcases/span/04_footnote/footnote_nr.latex +2 -0
  481. data/kramdown-2.5.2/test/testcases/span/04_footnote/footnote_nr.options +1 -0
  482. data/kramdown-2.5.2/test/testcases/span/04_footnote/footnote_nr.text +4 -0
  483. data/kramdown-2.5.2/test/testcases/span/04_footnote/footnote_prefix.html +12 -0
  484. data/kramdown-2.5.2/test/testcases/span/04_footnote/footnote_prefix.options +1 -0
  485. data/kramdown-2.5.2/test/testcases/span/04_footnote/footnote_prefix.text +4 -0
  486. data/kramdown-2.5.2/test/testcases/span/04_footnote/inside_footnote.html +17 -0
  487. data/kramdown-2.5.2/test/testcases/span/04_footnote/inside_footnote.text +9 -0
  488. data/kramdown-2.5.2/test/testcases/span/04_footnote/markers.html +46 -0
  489. data/kramdown-2.5.2/test/testcases/span/04_footnote/markers.latex +23 -0
  490. data/kramdown-2.5.2/test/testcases/span/04_footnote/markers.options +2 -0
  491. data/kramdown-2.5.2/test/testcases/span/04_footnote/markers.text +27 -0
  492. data/kramdown-2.5.2/test/testcases/span/04_footnote/placement.html +11 -0
  493. data/kramdown-2.5.2/test/testcases/span/04_footnote/placement.options +1 -0
  494. data/kramdown-2.5.2/test/testcases/span/04_footnote/placement.text +8 -0
  495. data/kramdown-2.5.2/test/testcases/span/04_footnote/regexp_problem.html +14 -0
  496. data/kramdown-2.5.2/test/testcases/span/04_footnote/regexp_problem.options +2 -0
  497. data/kramdown-2.5.2/test/testcases/span/04_footnote/regexp_problem.text +52 -0
  498. data/kramdown-2.5.2/test/testcases/span/04_footnote/without_backlink.html +9 -0
  499. data/kramdown-2.5.2/test/testcases/span/04_footnote/without_backlink.options +1 -0
  500. data/kramdown-2.5.2/test/testcases/span/04_footnote/without_backlink.text +3 -0
  501. data/kramdown-2.5.2/test/testcases/span/05_html/across_lines.html +1 -0
  502. data/kramdown-2.5.2/test/testcases/span/05_html/across_lines.text +2 -0
  503. data/kramdown-2.5.2/test/testcases/span/05_html/button.html +7 -0
  504. data/kramdown-2.5.2/test/testcases/span/05_html/button.text +7 -0
  505. data/kramdown-2.5.2/test/testcases/span/05_html/invalid.html +1 -0
  506. data/kramdown-2.5.2/test/testcases/span/05_html/invalid.text +1 -0
  507. data/kramdown-2.5.2/test/testcases/span/05_html/link_with_mailto.html +1 -0
  508. data/kramdown-2.5.2/test/testcases/span/05_html/link_with_mailto.text +1 -0
  509. data/kramdown-2.5.2/test/testcases/span/05_html/mark_element.html +3 -0
  510. data/kramdown-2.5.2/test/testcases/span/05_html/mark_element.text +3 -0
  511. data/kramdown-2.5.2/test/testcases/span/05_html/markdown_attr.html +6 -0
  512. data/kramdown-2.5.2/test/testcases/span/05_html/markdown_attr.text +6 -0
  513. data/kramdown-2.5.2/test/testcases/span/05_html/normal.html +43 -0
  514. data/kramdown-2.5.2/test/testcases/span/05_html/normal.text +43 -0
  515. data/kramdown-2.5.2/test/testcases/span/05_html/raw_span_elements.html +2 -0
  516. data/kramdown-2.5.2/test/testcases/span/05_html/raw_span_elements.text +2 -0
  517. data/kramdown-2.5.2/test/testcases/span/05_html/xml.html +5 -0
  518. data/kramdown-2.5.2/test/testcases/span/05_html/xml.text +5 -0
  519. data/kramdown-2.5.2/test/testcases/span/abbreviations/abbrev.html +25 -0
  520. data/kramdown-2.5.2/test/testcases/span/abbreviations/abbrev.text +41 -0
  521. data/kramdown-2.5.2/test/testcases/span/abbreviations/abbrev_defs.html +2 -0
  522. data/kramdown-2.5.2/test/testcases/span/abbreviations/abbrev_defs.text +5 -0
  523. data/kramdown-2.5.2/test/testcases/span/abbreviations/abbrev_in_html.html +9 -0
  524. data/kramdown-2.5.2/test/testcases/span/abbreviations/abbrev_in_html.text +10 -0
  525. data/kramdown-2.5.2/test/testcases/span/abbreviations/in_footnote.html +9 -0
  526. data/kramdown-2.5.2/test/testcases/span/abbreviations/in_footnote.text +5 -0
  527. data/kramdown-2.5.2/test/testcases/span/autolinks/url_links.html +15 -0
  528. data/kramdown-2.5.2/test/testcases/span/autolinks/url_links.text +16 -0
  529. data/kramdown-2.5.2/test/testcases/span/escaped_chars/normal.html +47 -0
  530. data/kramdown-2.5.2/test/testcases/span/escaped_chars/normal.text +47 -0
  531. data/kramdown-2.5.2/test/testcases/span/extension/comment.html +6 -0
  532. data/kramdown-2.5.2/test/testcases/span/extension/comment.text +6 -0
  533. data/kramdown-2.5.2/test/testcases/span/extension/ignored.html +1 -0
  534. data/kramdown-2.5.2/test/testcases/span/extension/ignored.text +1 -0
  535. data/kramdown-2.5.2/test/testcases/span/extension/nomarkdown.html +1 -0
  536. data/kramdown-2.5.2/test/testcases/span/extension/nomarkdown.text +1 -0
  537. data/kramdown-2.5.2/test/testcases/span/extension/options.html +1 -0
  538. data/kramdown-2.5.2/test/testcases/span/extension/options.text +1 -0
  539. data/kramdown-2.5.2/test/testcases/span/ial/simple.html +6 -0
  540. data/kramdown-2.5.2/test/testcases/span/ial/simple.text +6 -0
  541. data/kramdown-2.5.2/test/testcases/span/line_breaks/normal.html +11 -0
  542. data/kramdown-2.5.2/test/testcases/span/line_breaks/normal.latex +12 -0
  543. data/kramdown-2.5.2/test/testcases/span/line_breaks/normal.text +11 -0
  544. data/kramdown-2.5.2/test/testcases/span/math/no_engine.html +1 -0
  545. data/kramdown-2.5.2/test/testcases/span/math/no_engine.options +1 -0
  546. data/kramdown-2.5.2/test/testcases/span/math/no_engine.text +1 -0
  547. data/kramdown-2.5.2/test/testcases/span/math/normal.html +10 -0
  548. data/kramdown-2.5.2/test/testcases/span/math/normal.text +10 -0
  549. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities.html +6 -0
  550. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities.options +1 -0
  551. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities.text +6 -0
  552. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_as_char.html +1 -0
  553. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_as_char.options +2 -0
  554. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_as_char.text +1 -0
  555. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_as_input.html +1 -0
  556. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_as_input.options +1 -0
  557. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_as_input.text +1 -0
  558. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_numeric.html +1 -0
  559. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_numeric.options +1 -0
  560. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_numeric.text +1 -0
  561. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_symbolic.html +1 -0
  562. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_symbolic.options +1 -0
  563. data/kramdown-2.5.2/test/testcases/span/text_substitutions/entities_symbolic.text +1 -0
  564. data/kramdown-2.5.2/test/testcases/span/text_substitutions/greaterthan.html +1 -0
  565. data/kramdown-2.5.2/test/testcases/span/text_substitutions/greaterthan.text +1 -0
  566. data/kramdown-2.5.2/test/testcases/span/text_substitutions/lowerthan.html +1 -0
  567. data/kramdown-2.5.2/test/testcases/span/text_substitutions/lowerthan.text +1 -0
  568. data/kramdown-2.5.2/test/testcases/span/text_substitutions/typography.html +40 -0
  569. data/kramdown-2.5.2/test/testcases/span/text_substitutions/typography.options +1 -0
  570. data/kramdown-2.5.2/test/testcases/span/text_substitutions/typography.text +40 -0
  571. data/kramdown-2.5.2/test/testcases/span/text_substitutions/typography_subst.html +3 -0
  572. data/kramdown-2.5.2/test/testcases/span/text_substitutions/typography_subst.latex +4 -0
  573. data/kramdown-2.5.2/test/testcases/span/text_substitutions/typography_subst.options +8 -0
  574. data/kramdown-2.5.2/test/testcases/span/text_substitutions/typography_subst.text +3 -0
  575. data/mega-sharp-mod.gemspec +12 -0
  576. metadata +615 -0
@@ -0,0 +1,46 @@
1
+ # -*- coding: utf-8; frozen_string_literal: true -*-
2
+ #
3
+ #--
4
+ # Copyright (C) 2009-2026 Thomas Leitner <t_leitner@gmx.at>
5
+ #
6
+ # This file is part of kramdown which is licensed under the MIT.
7
+ #++
8
+ #
9
+
10
+ $:.unshift File.dirname(__FILE__) + '/../lib'
11
+ require 'kramdown'
12
+ require 'test/unit/assertions'
13
+ require 'yaml'
14
+
15
+ include Test::Unit::Assertions
16
+
17
+ arg = ARGV[0] || File.join(File.dirname(__FILE__), 'testcases')
18
+
19
+ arg = if File.directory?(arg)
20
+ File.join(arg, '**/*.text')
21
+ else
22
+ arg + '.text'
23
+ end
24
+
25
+ width = ((size = `stty size 2>/dev/null`).length > 0 ? size.split.last.to_i : 72) rescue 72
26
+ width -= 8
27
+ fwidth = 0
28
+ Dir[arg].each {|f| fwidth = [fwidth, f.length + 10].max }.each do |file|
29
+ print(('Testing ' + file + ' ').ljust([fwidth, width].min))
30
+ $stdout.flush
31
+
32
+ html_file = file.sub('.text', '.html')
33
+ opts_file = file.sub('.text', '.options')
34
+ opts_file = File.join(File.dirname(file), 'options') unless File.exist?(opts_file)
35
+ options = File.exist?(opts_file) ? YAML.safe_load(File.read(opts_file)) : {auto_ids: false, footnote_nr: 1}
36
+ doc = Kramdown::Document.new(File.read(file), options)
37
+ begin
38
+ assert_equal(File.read(html_file), doc.to_html)
39
+ puts 'PASSED'
40
+ rescue StandardError
41
+ puts ' FAILED'
42
+ puts $!.message if $VERBOSE
43
+ puts $!.backtrace if $DEBUG
44
+ end
45
+ puts "Warnings:\n" + doc.warnings.join("\n") if !doc.warnings.empty? && $VERBOSE
46
+ end
@@ -0,0 +1,313 @@
1
+ # -*- coding: utf-8; frozen_string_literal: true -*-
2
+ #
3
+ #--
4
+ # Copyright (C) 2009-2026 Thomas Leitner <t_leitner@gmx.at>
5
+ #
6
+ # This file is part of kramdown which is licensed under the MIT.
7
+ #++
8
+ #
9
+
10
+ require 'minitest/autorun'
11
+ require 'kramdown'
12
+ require 'yaml'
13
+ require 'tmpdir'
14
+ require 'open3'
15
+
16
+ begin
17
+ require 'kramdown/converter/syntax_highlighter/rouge'
18
+
19
+ Kramdown::Converter::SyntaxHighlighter::Rouge.formatter_class.send(:define_method, :format) do |tokens, &b|
20
+ super(tokens, &b).sub(/<\/code><\/pre>\n?/, "</code></pre>\n")
21
+ end
22
+
23
+ # custom formatter for tests
24
+ module Rouge
25
+ module Formatters
26
+ class RougeHTMLFormatters < Kramdown::Converter::SyntaxHighlighter::Rouge.formatter_class
27
+
28
+ tag 'rouge_html_formatters'
29
+
30
+ def stream(tokens, &b)
31
+ yield %(<div class="custom-class">)
32
+ super
33
+ yield %(</div>)
34
+ end
35
+
36
+ end
37
+ end
38
+ end
39
+ rescue LoadError, SyntaxError, NameError
40
+ end
41
+
42
+ Encoding.default_external = 'utf-8'
43
+
44
+ class TestFiles < Minitest::Test
45
+
46
+ EXCLUDE_KD_FILES = [].compact
47
+
48
+ # Generate test methods for kramdown-to-xxx conversion
49
+ Dir[File.dirname(__FILE__) + '/testcases/**/*.text'].each do |text_file|
50
+ next if EXCLUDE_KD_FILES.any? {|f| text_file =~ /#{f}/ }
51
+ basename = text_file.sub(/\.text$/, '')
52
+ opts_file = text_file.sub(/\.text$/, '.options')
53
+ (Dir[basename + ".*"] - [text_file, opts_file]).each do |output_file|
54
+ output_format = File.extname(output_file)[1..-1]
55
+ next unless Kramdown::Converter.const_defined?(output_format[0..0].upcase + output_format[1..-1])
56
+ define_method('test_' + text_file.tr('.', '_') + "_to_#{output_format}") do
57
+ opts_file = File.join(File.dirname(text_file), 'options') unless File.exist?(opts_file)
58
+ options = File.exist?(opts_file) ? YAML.load(File.read(opts_file)) : {auto_ids: false, footnote_nr: 1}
59
+ doc = Kramdown::Document.new(File.read(text_file), options)
60
+ assert_equal(File.read(output_file), doc.send("to_#{output_format}"))
61
+ end
62
+ end
63
+ end
64
+
65
+ # Generate test methods for html-to-{html,kramdown} conversion
66
+ `tidy -v 2>&1`
67
+ if $?.exitstatus != 0
68
+ warn("Skipping html-to-{html,kramdown} tests because tidy executable is missing")
69
+ else
70
+ EXCLUDE_HTML_FILES = [
71
+ 'test/testcases/block/06_codeblock/whitespace.html', # bc of span inside pre
72
+ 'test/testcases/block/09_html/simple.html', # bc of xml elements
73
+ 'test/testcases/span/03_codespan/highlighting.html', # bc of span elements inside code element
74
+ 'test/testcases/block/04_header/with_auto_ids.html', # bc of auto_ids=true option
75
+ 'test/testcases/block/04_header/header_type_offset.html', # bc of header_offset option
76
+ 'test/testcases/block/06_codeblock/rouge/simple.html', # bc of double surrounding <div>
77
+ 'test/testcases/block/06_codeblock/rouge/multiple.html', # bc of double surrounding <div>
78
+ 'test/testcases/block/06_codeblock/highlighting.html', # bc of span elements inside code element
79
+ 'test/testcases/block/06_codeblock/highlighting-opts.html', # bc of span elements inside code element
80
+ 'test/testcases/block/06_codeblock/guess_lang_css_class.html', # bc of double surrounding <div>
81
+ 'test/testcases/block/12_extension/options3.html', # bc of rouge
82
+ 'test/testcases/block/14_table/empty_tag_in_cell.html', # bc of tidy
83
+ 'test/testcases/block/15_math/mathjax_preview.html', # bc of mathjax preview
84
+ 'test/testcases/block/15_math/mathjax_preview_simple.html', # bc of mathjax preview
85
+ 'test/testcases/block/15_math/mathjax_preview_as_code.html', # bc of mathjax preview
86
+ 'test/testcases/span/05_html/mark_element.html', # bc of tidy
87
+ 'test/testcases/block/09_html/xml.html', # bc of tidy
88
+ 'test/testcases/span/05_html/xml.html', # bc of tidy
89
+ 'test/testcases/block/04_header/with_header_links.html', # because of header_links option
90
+ ].compact
91
+ EXCLUDE_HTML_TEXT_FILES = [
92
+ 'test/testcases/block/09_html/parse_as_span.htmlinput',
93
+ 'test/testcases/block/09_html/parse_as_raw.htmlinput',
94
+ ].compact
95
+ Dir[File.dirname(__FILE__) + '/testcases/**/*.{html,htmlinput}'].each do |html_file|
96
+ next if EXCLUDE_HTML_FILES.any? {|f| html_file =~ /#{f}/ }
97
+
98
+ out_files = []
99
+ out_files << [(html_file =~ /\.htmlinput$/ ? html_file.sub(/input$/, '') : html_file), :to_html]
100
+ if html_file =~ /\.htmlinput$/ && EXCLUDE_HTML_TEXT_FILES.none? {|f| html_file =~ /#{f}/ }
101
+ out_files << [html_file.sub(/htmlinput$/, 'text'), :to_kramdown]
102
+ end
103
+ out_files.select {|f, _| File.exist?(f) }.each do |out_file, out_method|
104
+ define_method('test_' + html_file.tr('.', '_') + "_to_#{File.extname(out_file)}") do
105
+ opts_file = html_file.sub(/\.html(input)?$/, '.options')
106
+ opts_file = File.join(File.dirname(html_file), 'options') unless File.exist?(opts_file)
107
+ options = File.exist?(opts_file) ? YAML.load(File.read(opts_file)) : {auto_ids: false, footnote_nr: 1}
108
+ doc = Kramdown::Document.new(File.read(html_file), options.merge(input: 'html'))
109
+ if out_method == :to_html
110
+ assert_equal(tidy_output(File.read(out_file)), tidy_output(doc.send(out_method)))
111
+ else
112
+ assert_equal(File.read(out_file), doc.send(out_method))
113
+ end
114
+ end
115
+ end
116
+ end
117
+ end
118
+
119
+ def tidy_output(out)
120
+ cmd = "tidy -q --doctype omit -utf8"
121
+ result, error, status = Open3.capture3(cmd, stdin_data: out)
122
+ if status.exitstatus == 2
123
+ raise "Problem using tidy: #{error}"
124
+ end
125
+ result
126
+ end
127
+
128
+ # Generate test methods for text-to-latex conversion and compilation
129
+ `latex -v 2>&1`
130
+ if $?.exitstatus != 0
131
+ warn("Skipping latex compilation tests because latex executable is missing")
132
+ else
133
+ EXCLUDE_LATEX_FILES = [
134
+ 'test/testcases/span/01_link/image_in_a.text', # bc of image link
135
+ 'test/testcases/span/01_link/imagelinks.text', # bc of image links
136
+ 'test/testcases/span/01_link/empty_title.text',
137
+ 'test/testcases/span/04_footnote/markers.text', # bc of footnote in header
138
+ 'test/testcases/block/06_codeblock/with_lang_in_fenced_block_name_with_dash.text',
139
+ 'test/testcases/block/06_codeblock/with_lang_in_fenced_block_any_char.text',
140
+ 'test/testcases/block/03_paragraph/standalone_image.text', # bc of standalone image
141
+ 'test/testcases/cjk-line-break.text', # latex unicode support
142
+ 'test/testcases/block/04_header/with_auto_ids.text', # bc of Unicode characters
143
+ ].compact
144
+ Dir[File.dirname(__FILE__) + '/testcases/**/*.text'].each do |text_file|
145
+ next if EXCLUDE_LATEX_FILES.any? {|f| text_file =~ /#{f}$/ }
146
+ define_method('test_' + text_file.tr('.', '_') + "_to_latex_compilation") do
147
+ latex = Kramdown::Document.new(File.read(text_file), auto_ids: false, footnote_nr: 1,
148
+ template: 'document').to_latex
149
+ Dir.mktmpdir do |tmpdir|
150
+ result = IO.popen("latex -output-directory='#{tmpdir}' 2>/dev/null", 'r+') do |io|
151
+ io.write(latex)
152
+ io.close_write
153
+ io.read
154
+ end
155
+ assert($?.exitstatus == 0, result.scan(/^!(.*\n.*)/).join("\n"))
156
+ end
157
+ end
158
+ end
159
+ end
160
+
161
+ # Generate test methods for text->kramdown->html conversion
162
+ `tidy -v 2>&1`
163
+ if $?.exitstatus != 0
164
+ warn("Skipping text->kramdown->html tests because tidy executable is missing")
165
+ else
166
+ EXCLUDE_TEXT_FILES = [
167
+ 'test/testcases/span/05_html/markdown_attr.text', # bc of markdown attr
168
+ 'test/testcases/block/09_html/markdown_attr.text', # bc of markdown attr
169
+ 'test/testcases/span/extension/options.text', # bc of parse_span_html option
170
+ 'test/testcases/block/12_extension/options.text', # bc of options option
171
+ 'test/testcases/block/12_extension/options3.text', # bc of options option
172
+ 'test/testcases/block/09_html/content_model/tables.text', # bc of parse_block_html option
173
+ 'test/testcases/block/09_html/html_to_native/header.text', # bc of auto_ids option that interferes
174
+ 'test/testcases/block/09_html/html_to_native/table_simple.text', # bc of tr style attr getting removed
175
+ 'test/testcases/block/09_html/simple.text', # bc of webgen:block elements
176
+ 'test/testcases/block/11_ial/simple.text', # bc of change of ordering of attributes in header
177
+ 'test/testcases/span/extension/comment.text', # bc of comment text modifications (can this be avoided?)
178
+ 'test/testcases/block/04_header/header_type_offset.text', # bc of header_offset being applied twice
179
+ 'test/testcases/block/06_codeblock/rouge/simple.text',
180
+ 'test/testcases/block/06_codeblock/rouge/multiple.text', # check, what document contain more, than one code block
181
+ 'test/testcases/block/14_table/empty_tag_in_cell.text', # bc of tidy
182
+ 'test/testcases/span/01_link/link_defs_with_ial.text', # bc of attribute ordering
183
+ 'test/testcases/span/05_html/mark_element.text', # bc of tidy
184
+ 'test/testcases/block/09_html/xml.text', # bc of tidy
185
+ 'test/testcases/span/05_html/xml.text', # bc of tidy
186
+ 'test/testcases/block/03_paragraph/standalone_image.text', # bc of standalone image
187
+ 'test/testcases/cjk-line-break.text',
188
+ 'test/testcases/block/09_html/standalone_image_in_div.html', # bc of standalone image
189
+ 'test/testcases/span/abbreviations/abbrev_in_html.text', # bc of invalid abbr tag in SVG
190
+ ].compact
191
+ Dir[File.dirname(__FILE__) + '/testcases/**/*.text'].each do |text_file|
192
+ next if EXCLUDE_TEXT_FILES.any? {|f| text_file =~ /#{f}$/ }
193
+ html_file = text_file.sub(/\.text$/, '.html')
194
+ next unless File.exist?(html_file)
195
+ define_method('test_' + text_file.tr('.', '_') + "_to_kramdown_to_html") do
196
+ opts_file = text_file.sub(/\.text$/, '.options')
197
+ opts_file = File.join(File.dirname(text_file), 'options') unless File.exist?(opts_file)
198
+ options = File.exist?(opts_file) ? YAML.load(File.read(opts_file)) : {auto_ids: false, footnote_nr: 1}
199
+ kdtext = Kramdown::Document.new(File.read(text_file), options).to_kramdown
200
+ html = Kramdown::Document.new(kdtext, options).to_html
201
+ assert_equal(tidy_output(File.read(html_file)), tidy_output(html))
202
+ kdtext4 = Kramdown::Document.new(File.read(text_file), options.merge({list_indent: 4})).to_kramdown
203
+ html = Kramdown::Document.new(kdtext4, options).to_html
204
+ assert_equal(tidy_output(File.read(html_file)), tidy_output(html))
205
+ end
206
+ end
207
+ end
208
+
209
+ # Generate test methods for html-to-kramdown-to-html conversion
210
+ `tidy -v 2>&1`
211
+ if $?.exitstatus != 0
212
+ warn("Skipping html-to-kramdown-to-html tests because tidy executable is missing")
213
+ else
214
+ EXCLUDE_HTML_KD_FILES = [
215
+ 'test/testcases/span/extension/options.html', # bc of parse_span_html option
216
+ 'test/testcases/span/05_html/normal.html', # bc of br tag before closing p tag
217
+ 'test/testcases/block/12_extension/nomarkdown.html', # bc of nomarkdown extension
218
+ 'test/testcases/block/12_extension/options3.html', # bc of rouge
219
+ 'test/testcases/block/09_html/simple.html', # bc of webgen:block elements
220
+ 'test/testcases/block/09_html/markdown_attr.html', # bc of markdown attr
221
+ 'test/testcases/block/09_html/html_to_native/table_simple.html', # bc of invalidly converted simple table
222
+ 'test/testcases/block/06_codeblock/whitespace.html', # bc of entity to char conversion
223
+ 'test/testcases/block/06_codeblock/rouge/simple.html', # bc of double surrounding <div>
224
+ 'test/testcases/block/06_codeblock/rouge/multiple.html', # bc of double surrounding <div>
225
+ 'test/testcases/block/06_codeblock/guess_lang_css_class.html', # bc of double surrounding <div>
226
+ 'test/testcases/block/06_codeblock/highlighting.html', # bc of span elements inside code element
227
+ 'test/testcases/block/06_codeblock/highlighting-opts.html', # bc of span elements inside code element
228
+ 'test/testcases/block/11_ial/simple.html', # bc of change of ordering of attributes in header
229
+ 'test/testcases/span/03_codespan/highlighting.html', # bc of span elements inside code element
230
+ 'test/testcases/block/04_header/with_auto_ids.html', # bc of auto_ids=true option
231
+ 'test/testcases/block/04_header/header_type_offset.html', # bc of header_offset option
232
+ 'test/testcases/block/16_toc/toc_exclude.html', # bc of different attribute ordering
233
+ 'test/testcases/span/autolinks/url_links.html', # bc of quot entity being converted to char
234
+ 'test/testcases/block/14_table/empty_tag_in_cell.html', # bc of tidy
235
+ 'test/testcases/span/01_link/link_defs_with_ial.html', # bc of attribute ordering
236
+ 'test/testcases/span/05_html/mark_element.html', # bc of tidy
237
+ 'test/testcases/block/09_html/xml.html', # bc of tidy
238
+ 'test/testcases/span/05_html/xml.html', # bc of tidy
239
+ 'test/testcases/block/03_paragraph/standalone_image.html', # bc of standalone image
240
+ 'test/testcases/block/15_math/normal.html', # bc of mathjax and HTML parser
241
+ 'test/testcases/block/15_math/gh_128.html', # bc of mathjax and HTML parser
242
+ 'test/testcases/span/04_footnote/backlink_inline.html', # bc of mathjax
243
+ 'test/testcases/block/09_html/standalone_image_in_div.html', # bc of standalone image
244
+ 'test/testcases/block/09_html/processing_instruction.html', # bc of PI
245
+ 'test/testcases/block/04_header/with_header_links.html', # bc of header_links option
246
+ ].compact
247
+ Dir[File.dirname(__FILE__) + '/testcases/**/*.html'].each do |html_file|
248
+ next if EXCLUDE_HTML_KD_FILES.any? {|f| html_file =~ /#{f}$/ }
249
+ define_method('test_' + html_file.tr('.', '_') + "_to_kramdown_to_html") do
250
+ kd = Kramdown::Document.new(File.read(html_file), input: 'html',
251
+ auto_ids: false, footnote_nr: 1).to_kramdown
252
+ opts_file = html_file.sub(/\.html$/, '.options')
253
+ opts_file = File.join(File.dirname(html_file), 'options') unless File.exist?(opts_file)
254
+ options = File.exist?(opts_file) ? YAML.load(File.read(opts_file)) : {auto_ids: false, footnote_nr: 1}
255
+ doc = Kramdown::Document.new(kd, options)
256
+ assert_equal(tidy_output(File.read(html_file)), tidy_output(doc.to_html))
257
+ end
258
+ end
259
+ end
260
+
261
+ # Generate test methods for text-manpage conversion
262
+ Dir[File.dirname(__FILE__) + '/testcases/man/**/*.text'].each do |text_file|
263
+ define_method('test_' + text_file.tr('.', '_') + "_to_man_extra") do
264
+ man_file = text_file.sub(/\.text$/, '.man')
265
+ doc = Kramdown::Document.new(File.read(text_file))
266
+ assert_equal(File.read(man_file), doc.to_man)
267
+ end
268
+ end
269
+
270
+ EXCLUDE_MODIFY = [
271
+ 'test/testcases/block/06_codeblock/rouge/multiple.text', # bc of HTMLFormater in options
272
+ 'test/testcases/block/04_header/with_header_links.text', # bc of header_links option
273
+ ].compact
274
+
275
+ # Generate test methods for asserting that converters don't modify the document tree.
276
+ Dir[File.dirname(__FILE__) + '/testcases/**/*.text'].each do |text_file|
277
+ opts_file = text_file.sub(/\.text$/, '.options')
278
+ options = File.exist?(opts_file) ? YAML.load(File.read(opts_file)) : {auto_ids: false, footnote_nr: 1}
279
+ (Kramdown::Converter.constants.map(&:to_sym) -
280
+ [:Base, :RemoveHtmlTags, :MathEngine, :SyntaxHighlighter]).each do |conv_class|
281
+ next if EXCLUDE_MODIFY.any? {|f| text_file =~ /#{f}$/ }
282
+ define_method("test_whether_#{conv_class}_modifies_tree_with_file_#{text_file.tr('.', '_')}") do
283
+ doc = Kramdown::Document.new(File.read(text_file), options)
284
+ options_before = Marshal.load(Marshal.dump(doc.options))
285
+ abbrev_proc = doc.root.options[:abbrev_defs].default_proc
286
+ doc.root.options[:abbrev_defs].default_proc = doc.root.options[:abbrev_attr].default_proc = nil
287
+ tree_before = Marshal.load(Marshal.dump(doc.root))
288
+ doc.root.options[:abbrev_defs].default_proc = doc.root.options[:abbrev_attr].default_proc =
289
+ abbrev_proc
290
+ Kramdown::Converter.const_get(conv_class).convert(doc.root, doc.options)
291
+ assert_equal(options_before, doc.options)
292
+ assert_tree_not_changed(tree_before, doc.root)
293
+ end
294
+ end
295
+ end
296
+
297
+ def assert_tree_not_changed(old, new)
298
+ assert_equal(old.type, new.type, "type mismatch")
299
+ if old.value.kind_of?(Kramdown::Element)
300
+ assert_tree_not_changed(old.value, new.value)
301
+ else
302
+ assert(old.value == new.value, "value mismatch")
303
+ end
304
+ assert_equal(old.attr, new.attr, "attr mismatch")
305
+ assert_equal(old.options, new.options, "options mismatch")
306
+ assert_equal(old.children.length, new.children.length, "children count mismatch")
307
+
308
+ old.children.each_with_index do |child, index|
309
+ assert_tree_not_changed(child, new.children[index])
310
+ end
311
+ end
312
+
313
+ end
@@ -0,0 +1,216 @@
1
+ # -*- coding: utf-8; frozen_string_literal: true -*-
2
+ #
3
+ #--
4
+ # Copyright (C) 2009-2026 Thomas Leitner <t_leitner@gmx.at>
5
+ #
6
+ # This file is part of kramdown which is licensed under the MIT.
7
+ #++
8
+ #
9
+
10
+ require 'minitest/autorun'
11
+ require 'kramdown'
12
+
13
+ Encoding.default_external = 'utf-8'
14
+
15
+ describe 'location' do
16
+ # checks that +element+'s :location option corresponds to the location stored
17
+ # in the element.attr['class']
18
+ def check_element_for_location(element)
19
+ if (match = /^line-(\d+)/.match(element.attr['class'] || ''))
20
+ expected_line = match[1].to_i
21
+ assert_equal(expected_line, element.options[:location])
22
+ end
23
+ element.children.each do |child|
24
+ check_element_for_location(child)
25
+ end
26
+ end
27
+
28
+ # Test cases consist of a kramdown string that uses IALs to specify the expected
29
+ # line numbers for a given element.
30
+ test_cases = {
31
+ 'autolink' => %(testing autolinks\n\n<http://kramdown.org>{:.line-3}),
32
+ 'blockquote' => %(
33
+ > block quote1
34
+ >
35
+ > * {:.line-3} list item in block quote
36
+ > * {:.line-4} list item in block quote
37
+ > {:.line-3}
38
+ {:.line-1}
39
+
40
+ > block quote2
41
+ {:.line-8}
42
+ ),
43
+ 'codeblock' => %(\na para\n\n~~~~\ntest code 1\n~~~~\n{:.line-3}\n\n test code 2\n{:.line-8}\n),
44
+ 'codespan' => %(a para\n\nanother para `<code>`{:.line-3} with code\n),
45
+ 'emphasis' => %(
46
+ para *span*{:.line-1}
47
+ {:.line-1}
48
+
49
+ ## header *span*{:.line-4}
50
+ {:.line-4}
51
+
52
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
53
+ tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
54
+ quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
55
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
56
+ cillum *short span on single line*{:.line-11}
57
+ dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
58
+ *long span over multiple lines - proident, sunt in culpa qui officia deserunt
59
+ mollit anim id est laborum.*{:.line-13}
60
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
61
+ tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
62
+ quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
63
+ `code span`{:.line-18}
64
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
65
+ tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
66
+ quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
67
+ {:.line-7}
68
+ ),
69
+ 'header' => %(
70
+ # header1
71
+ {:.line-1}
72
+
73
+ ## header2
74
+ {:.line-4}
75
+
76
+ ## header3
77
+ {:.line-7}
78
+
79
+ header4
80
+ =======
81
+ {:.line-10}
82
+
83
+ ^
84
+
85
+ header5
86
+ -------
87
+ {:.line-16}
88
+ ),
89
+ 'horizontal_rule' => %(\na para\n\n----\n{:.line-3}\n),
90
+ 'html_entity' => "a para\n\nanother para with &amp;{:.line-3} html entity.\n",
91
+ 'link' => %(
92
+ a para
93
+
94
+ This is [a link](http://rubyforge.org){:.line-3} to a page.
95
+
96
+ Here comes a ![smiley](../images/smiley.png){:.line-5}
97
+ ),
98
+ 'list' => %(
99
+ * {:.line-1} list item
100
+ * {:.line-2} list item
101
+ * {:.line-3} list item
102
+ {:.line-1}
103
+
104
+ {:.line-7}
105
+ 1. {:.line-7} list item
106
+ 2. {:.line-8} list item
107
+ 3. {:.line-9} list item
108
+
109
+ {:.line-12}
110
+ definition term 1
111
+ : {:.line-13} definition definition 1
112
+ definition term 2
113
+ : {:.line-15} definition definition 2
114
+ ),
115
+ 'math_block' => %(\na para\n\n$$5+5$$\n{:.line-3}\n),
116
+ 'math_inline' => %(\na para\n\nanother para with inline math $$5+5$${:.line-3}\n),
117
+ 'paragraph' => %(
118
+ para1
119
+ {:.line-1}
120
+
121
+ para2
122
+ {:.line-4}
123
+
124
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
125
+ tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
126
+ quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
127
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
128
+ {:.line-7}
129
+
130
+ {:.line-14}
131
+ para with leading IAL
132
+ ),
133
+ 'table' => %(
134
+ a para
135
+
136
+ |first|second|third|
137
+ |-----|------|-----|
138
+ |a |b |c |
139
+ {:.line-3}
140
+ ),
141
+ 'typographic_symbol' => %(
142
+ a para
143
+
144
+ another para ---{:.line-3}
145
+
146
+ another para ...{:.line-5}
147
+ ),
148
+ 'gh issue 129' => %(
149
+ `|`
150
+ {:.line-1}
151
+ ),
152
+ 'gh issue 131' => %(
153
+ * {:.line-1} test
154
+ line 2
155
+ * {:.line-3} second
156
+ * {:.line-4} third
157
+ * {:.line-5} * {:.line-5} one
158
+ * {:.line-6} two
159
+ ),
160
+ 'gh issue 158' => %(
161
+ 😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁😁
162
+ {:.line-1}
163
+
164
+ - {:.line-4} T
165
+ {:.line-4}
166
+
167
+ # T
168
+ {:.line-7}
169
+ ),
170
+ 'gh issue 243 - HTML raw elements' => %(
171
+ <ul class="line-1">
172
+ <li class="line-2">Test</li>
173
+ </ul>
174
+ ),
175
+ }
176
+ test_cases.each do |name, test_string|
177
+ it "Handles #{name}" do
178
+ doc = Kramdown::Document.new(test_string.gsub(/^ /, '').strip)
179
+ check_element_for_location(doc.root)
180
+ end
181
+ end
182
+
183
+ it 'adds location info to duplicate abbreviation definition warnings' do
184
+ test_string = %(This snippet contains a duplicate abbreviation definition
185
+
186
+ *[duplicate]: The first definition
187
+ *[duplicate]: The second definition
188
+ )
189
+ doc = Kramdown::Document.new(test_string.strip)
190
+ assert_equal(["Duplicate abbreviation ID 'duplicate' on line 4 - overwriting"], doc.warnings)
191
+ end
192
+
193
+ it 'handles abbreviations' do
194
+ str = "This *is* ABC and\n**and** ABC second\nanother ABC\nas ABC as\nABC at the end.\n\n*[ABC]: ABC"
195
+ doc = Kramdown::Document.new(str)
196
+ doc.root.children.first.children.select {|e| e.type == :abbreviation }.each_with_index do |e, i|
197
+ assert_equal(i + 1, e.options[:location])
198
+ end
199
+ end
200
+
201
+ it 'handles line breaks' do
202
+ str = "First \nsecond\\\\\nthird \n"
203
+ doc = Kramdown::Document.new(str)
204
+ doc.root.children.first.children.select {|e| e.type == :br }.each_with_index do |e, i|
205
+ assert_equal(i + 1, e.options[:location])
206
+ end
207
+ end
208
+
209
+ it 'handles smart quotes' do
210
+ str = "This is 'first'\nand 'second' and\n'third'"
211
+ doc = Kramdown::Document.new(str)
212
+ doc.root.children.first.children.select {|e| e.type == :smart_quote }.each_with_index do |e, i|
213
+ assert_equal(((i + 1) / 2.0).ceil, e.options[:location])
214
+ end
215
+ end
216
+ end
@@ -0,0 +1,27 @@
1
+ # -*- coding: utf-8; frozen_string_literal: true -*-
2
+ #
3
+ #--
4
+ # Copyright (C) 2009-2026 Thomas Leitner <t_leitner@gmx.at>
5
+ #
6
+ # This file is part of kramdown which is licensed under the MIT.
7
+ #++
8
+ #
9
+
10
+ require 'minitest/autorun'
11
+ require 'kramdown/utils/string_scanner'
12
+
13
+ describe Kramdown::Utils::StringScanner do
14
+ [
15
+ ["...........X............", [/X/], 1],
16
+ ["1\n2\n3\n4\n5\n6X", [/X/], 6],
17
+ ["1\n2\n3\n4\n5\n6X\n7\n8X", [/X/, /X/], 8],
18
+ [(".\n" * 1000) + 'X', [/X/], 1001],
19
+ ].each_with_index do |test_data, i|
20
+ test_string, scan_regexes, expect = test_data
21
+ it "computes the correct current_line_number for example ##{i + 1}" do
22
+ str_sc = Kramdown::Utils::StringScanner.new(test_string)
23
+ scan_regexes.each {|scan_re| str_sc.scan_until(scan_re) }
24
+ assert_equal(expect, str_sc.current_line_number)
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,18 @@
1
+ <p>This is a para.</p>
2
+
3
+ <p>This is a para.</p>
4
+
5
+ <p>This is a para.</p>
6
+
7
+ <p>This is a para.</p>
8
+
9
+ <pre><code>This is a code block.
10
+ </code></pre>
11
+
12
+ <p>And this is another.</p>
13
+
14
+ <p>A para
15
+ with
16
+ mixed
17
+ indents.
18
+ and with much indent</p>