docgenerator 1.2.1 → 2.0.0

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 (209) hide show
  1. data/build_test_and_doc.rb +505 -0
  2. data/examples/creole_example.rb +82 -0
  3. data/examples/creole_example_footnote.rb +67 -0
  4. data/examples/creole_example_placeholder.rb +77 -0
  5. data/examples/creole_example_rail.rb +154 -0
  6. data/examples/creole_example_rubycode.rb +144 -0
  7. data/examples/creole_example_struktex.rb +169 -0
  8. data/examples/docgenerator_example.rb +1 -1
  9. data/examples/docgenerator_example_footnote.rb +1 -0
  10. data/examples/docgenerator_example_list.rb +3 -0
  11. data/examples/docgenerator_example_restrictions.rb +1 -1
  12. data/examples/docgenerator_example_tabular.rb +1 -1
  13. data/examples/docgenerator_example_tripfalls.rb +2 -2
  14. data/examples/results/readme +2 -1
  15. data/examples/wiki2docgenerator_example.rb +61 -32
  16. data/lib/creole/creole2doc.rb +57 -58
  17. data/lib/creole/creole_characters.rb +56 -0
  18. data/lib/creole/creole_inclusion_and_plugins.rb +59 -284
  19. data/lib/creole/creole_inclusions.rb +142 -0
  20. data/lib/creole/creole_placeholder.rb +57 -23
  21. data/lib/creole/creole_plugins.rb +198 -0
  22. data/lib/creole/creole_tabular.rb +16 -8
  23. data/lib/creole/plugins/rail.rb +182 -0
  24. data/lib/creole/plugins/rubycode4creole.rb +136 -0
  25. data/lib/creole/plugins/struktex.rb +59 -0
  26. data/lib/creole/plugins/todonotes.rb +70 -0
  27. data/lib/docgenerator.rb +161 -71
  28. data/lib/docgenerator/attribute.rb +189 -156
  29. data/lib/docgenerator/characters.rb +824 -267
  30. data/lib/docgenerator/compatibility_v1.rb +249 -0
  31. data/lib/docgenerator/css.rb +53 -32
  32. data/lib/docgenerator/document.rb +119 -56
  33. data/lib/docgenerator/element.rb +304 -351
  34. data/lib/docgenerator/element_meta.rb +303 -0
  35. data/lib/docgenerator/elements.rb +1112 -481
  36. data/lib/docgenerator/environments.rb +153 -62
  37. data/lib/docgenerator/footnote.rb +30 -9
  38. data/lib/docgenerator/lists.rb +71 -47
  39. data/lib/docgenerator/packages/attachfile.rb +136 -0
  40. data/lib/{packages/docgenerator_caption.rb → docgenerator/packages/caption.rb} +28 -19
  41. data/lib/docgenerator/packages/hyperref.rb +194 -0
  42. data/lib/docgenerator/packages/listings.rb +179 -0
  43. data/lib/docgenerator/packages/pdfpages.rb +43 -0
  44. data/lib/docgenerator/packages/rubycode4doc.rb +227 -0
  45. data/lib/{packages/docgenerator_scrlettr2.rb → docgenerator/packages/scrlettr2.rb} +25 -16
  46. data/lib/docgenerator/packages/scrpage2.rb +410 -0
  47. data/lib/docgenerator/packages/struktex.rb +447 -0
  48. data/lib/docgenerator/packages/todonotes.rb +85 -0
  49. data/lib/{packages/docgenerator_url.rb → docgenerator/packages/url.rb} +7 -6
  50. data/lib/docgenerator/sections.rb +257 -83
  51. data/lib/docgenerator/standard.rb +19 -11
  52. data/lib/docgenerator/tabular.rb +234 -118
  53. data/lib/{templates → docgenerator/templates}/docgenerator_template.rb +52 -44
  54. data/lib/{templates → docgenerator/templates}/docgenerator_template.yaml +0 -0
  55. data/lib/{templates → docgenerator/templates}/docgenerator_template_css.rb +22 -16
  56. data/lib/wiki2doc/plugins/rubycode4wiki.rb +53 -0
  57. data/lib/wiki2doc/plugins/struktex.rb +12 -0
  58. data/lib/wiki2doc/wiki2docgenerator.rb +39 -38
  59. data/lib/wiki2doc/wikimedia_document.rb +24 -0
  60. data/manpage_elements.rb +10411 -0
  61. data/readme.rd +34 -24
  62. data/unittest/creole_testtext.creole +11 -0
  63. data/unittest/expected/test_document_usepackage_undefined.log +2 -2
  64. data/unittest/expected/test_runtex.stdout +0 -1
  65. data/unittest/expected/test_runtex_2.stdout +0 -1
  66. data/unittest/expected/toc_css.css +3 -2
  67. data/unittest/expected_creole/test_creole_characters_all.creole +28 -0
  68. data/unittest/expected_creole/test_creole_characters_all.html +15 -15
  69. data/unittest/expected_creole/test_creole_characters_all.latex +15 -15
  70. data/unittest/expected_creole/test_creole_footnotes_groupid.html +15 -0
  71. data/unittest/expected_creole/test_creole_links_file.html +2 -2
  72. data/unittest/expected_creole/test_creole_links_file.latex +2 -2
  73. data/unittest/expected_creole/test_creole_links_file.text +2 -2
  74. data/unittest/expected_creole/test_creole_picture_link.html +1 -1
  75. data/unittest/expected_creole_rail/test_rail_creole_object.tex +33 -0
  76. data/unittest/expected_creole_rail/test_rail_creole_placeholder.tex +40 -0
  77. data/unittest/expected_rubycode4doc/creole_complete.html +26 -0
  78. data/unittest/expected_rubycode4doc/creole_complete.tex +40 -0
  79. data/unittest/expected_rubycode4doc/creole_in_tab.html +4 -0
  80. data/unittest/expected_rubycode4doc/creole_in_tab.tex +6 -0
  81. data/unittest/expected_rubycode4doc/creole_inline_ruby.html +7 -0
  82. data/unittest/expected_rubycode4doc/creole_output.html +2 -0
  83. data/unittest/expected_rubycode4doc/creole_output.tex +4 -0
  84. data/unittest/expected_rubycode4doc/creole_rubycode.html +1 -0
  85. data/unittest/expected_rubycode4doc/creole_rubycode.tex +3 -0
  86. data/unittest/expected_rubycode4doc/creole_rubycode_evaluated.html +1 -0
  87. data/unittest/expected_rubycode4doc/creole_rubycode_evaluated.tex +3 -0
  88. data/unittest/expected_rubycode4doc/creole_rubycode_evaluated_listings.html +3 -0
  89. data/unittest/expected_rubycode4doc/creole_rubycode_evaluated_listings.tex +5 -0
  90. data/unittest/expected_rubycode4doc/wiki_1.html +8 -0
  91. data/unittest/expected_rubycode4doc/wiki_2.html +8 -0
  92. data/unittest/expected_rubycode4doc/wiki_3.html +9 -0
  93. data/unittest/expected_rubycode4doc/wiki_immediate_1.html +5 -0
  94. data/unittest/expected_rubycode4doc/wiki_immediate_2.html +5 -0
  95. data/unittest/expected_rubycode4doc/wiki_immediate_3.html +8 -0
  96. data/unittest/expected_rubycode4doc/wiki_immediate_full.html +21 -0
  97. data/unittest/expected_struktex/test_struktex_krug.creole +15 -0
  98. data/unittest/expected_struktex/test_struktex_krug.tex +19 -0
  99. data/unittest/expected_struktex/test_struktex_krug.wiki +15 -0
  100. data/unittest/expected_struktex/test_struktex_statement.creole +7 -0
  101. data/unittest/expected_struktex/test_struktex_statement.tex +9 -0
  102. data/unittest/expected_struktex/test_struktex_statement.wiki +7 -0
  103. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki.html +0 -0
  104. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki.latex +0 -0
  105. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki.text +0 -0
  106. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki.wiki +0 -0
  107. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_description.html +1 -1
  108. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_description.latex +1 -1
  109. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_description.text +1 -1
  110. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_description.wiki +1 -1
  111. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_footnote.html +0 -0
  112. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_footnote.latex +0 -0
  113. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_footnote.text +0 -0
  114. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_footnote.wiki +0 -0
  115. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_footnote_2.html +0 -0
  116. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_footnote_groupid.html +0 -0
  117. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_html_code.html +0 -0
  118. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_html_code.latex +0 -0
  119. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_html_code.text +0 -0
  120. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_html_code.wiki +0 -0
  121. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_inline.html +0 -0
  122. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_inline.latex +0 -0
  123. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_inline.text +0 -0
  124. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_inline.wiki +0 -0
  125. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_label.html +0 -0
  126. data/unittest/expected_wikimedia/test_wiki_link.html +8 -0
  127. data/unittest/expected_wikimedia/test_wiki_link.latex +17 -0
  128. data/unittest/expected_wikimedia/test_wiki_link.wiki +11 -0
  129. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol.html +0 -0
  130. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol.latex +0 -0
  131. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol.text +0 -0
  132. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol.wiki +0 -0
  133. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol_after_ul.html +0 -0
  134. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol_after_ul.latex +0 -0
  135. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol_after_ul.text +0 -0
  136. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol_after_ul.wiki +0 -0
  137. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol_ul.html +0 -0
  138. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol_ul.latex +0 -0
  139. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol_ul.text +0 -0
  140. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ol_ul.wiki +0 -0
  141. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ul.html +0 -0
  142. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ul.latex +0 -0
  143. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ul.text +0 -0
  144. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ul.wiki +0 -0
  145. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ul_too_much.html +0 -0
  146. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ul_too_much.latex +0 -0
  147. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ul_too_much.text +0 -0
  148. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_list_ul_too_much.wiki +0 -0
  149. data/unittest/expected_wikimedia/test_wiki_picture.html +55 -0
  150. data/unittest/expected_wikimedia/test_wiki_picture.latex +76 -0
  151. data/unittest/expected_wikimedia/test_wiki_picture_thumb.html +5 -0
  152. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_tab1.html +0 -0
  153. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_tab1.latex +0 -0
  154. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_tab1.wiki +0 -0
  155. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_textformatting.html +0 -0
  156. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_textformatting.latex +0 -0
  157. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_textformatting.text +0 -0
  158. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_textformatting.wiki +0 -0
  159. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_toc.html +0 -0
  160. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_toc.latex +0 -0
  161. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_toc.text +0 -0
  162. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_toc.wiki +0 -0
  163. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_ul_multiple_line.html +0 -0
  164. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_ul_multiple_line.latex +0 -0
  165. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_ul_multiple_line.text +0 -0
  166. data/unittest/{expected_wiki → expected_wikimedia}/test_wiki_ul_multiple_line.wiki +0 -0
  167. data/unittest/{unittest_creole2doc.rb → unittest_creole.rb} +385 -476
  168. data/unittest/unittest_creole_placeholders.rb +272 -0
  169. data/unittest/unittest_creole_plugin_rail.rb +147 -0
  170. data/unittest/unittest_docgenerator.rb +206 -332
  171. data/unittest/unittest_docgenerator_characters.rb +650 -0
  172. data/unittest/unittest_docgenerator_runtex.rb +48 -20
  173. data/unittest/unittest_packages_struktex.rb +187 -0
  174. data/unittest/unittest_rubycode4doc.rb +275 -0
  175. data/unittest/unittest_wikimedia.rb +479 -0
  176. metadata +245 -172
  177. data/examples/results_expected/docgenerator_example.html +0 -39
  178. data/examples/results_expected/docgenerator_example.pdf +0 -0
  179. data/examples/results_expected/docgenerator_example.tex +0 -56
  180. data/examples/results_expected/docgenerator_example_footnote.html +0 -40
  181. data/examples/results_expected/docgenerator_example_footnote.pdf +0 -0
  182. data/examples/results_expected/docgenerator_example_footnote.tex +0 -50
  183. data/examples/results_expected/docgenerator_example_list.html +0 -18
  184. data/examples/results_expected/docgenerator_example_list.pdf +0 -0
  185. data/examples/results_expected/docgenerator_example_list.tex +0 -46
  186. data/examples/results_expected/docgenerator_example_restrictions.html +0 -22
  187. data/examples/results_expected/docgenerator_example_restrictions.pdf +0 -0
  188. data/examples/results_expected/docgenerator_example_restrictions.tex +0 -31
  189. data/examples/results_expected/docgenerator_example_tabular.html +0 -37
  190. data/examples/results_expected/docgenerator_example_tabular.pdf +0 -0
  191. data/examples/results_expected/docgenerator_example_tabular.tex +0 -41
  192. data/examples/results_expected/docgenerator_example_tripfalls.html +0 -27
  193. data/examples/results_expected/docgenerator_example_tripfalls.pdf +0 -0
  194. data/examples/results_expected/docgenerator_example_tripfalls.tex +0 -31
  195. data/lib/packages/docgenerator_attachfile.rb +0 -71
  196. data/lib/packages/docgenerator_hyperref.rb +0 -109
  197. data/lib/packages/docgenerator_listings.rb +0 -103
  198. data/lib/packages/docgenerator_pdfpages.rb +0 -24
  199. data/lib/packages/docgenerator_scrpage2.rb +0 -172
  200. data/self_docgenerator.rb +0 -163
  201. data/unittest/expected_wiki/test_wiki_link.html +0 -8
  202. data/unittest/expected_wiki/test_wiki_link.latex +0 -17
  203. data/unittest/expected_wiki/test_wiki_link.wiki +0 -11
  204. data/unittest/expected_wiki/test_wiki_picture.html +0 -55
  205. data/unittest/expected_wiki/test_wiki_picture.latex +0 -76
  206. data/unittest/expected_wiki/test_wiki_picture_thumb.html +0 -5
  207. data/unittest/test_rakefile_docgenerator.rb +0 -43
  208. data/unittest/unittest_versions.rb +0 -44
  209. data/unittest/unittest_wiki2doc.rb +0 -464
@@ -0,0 +1,272 @@
1
+ if $0 == __FILE__
2
+ $:.unshift("../lib")
3
+ end
4
+
5
+ gem 'test-unit'
6
+ require 'test/unit'
7
+ require 'more_unit_test/assert_equal_filecontent.rb'
8
+
9
+ require 'creole/creole2doc.rb'
10
+ require 'creole/plugins/rail.rb'
11
+ require 'creole/plugins/struktex.rb'
12
+ require 'creole/plugins/todonotes.rb'
13
+ require 'creole/plugins/rubycode4creole.rb'
14
+
15
+ #~ DOCGENERATOR_LOGGER.level = Log4r::DEBUG
16
+ #~ DOCGENERATOR_DEFAULT_LOGGER.level = Log4r::WARN
17
+ #~ Docgenerator.trace_on
18
+
19
+
20
+ #Avoid warnings about missing logger in to_doc
21
+ OPT = { :log => Docgenerator::DOCGENERATOR_DEFAULT_LOGGER } unless defined? OPT
22
+
23
+ require 'log4r'
24
+ #Warn -> report missing important test
25
+ #Info -> report missing test
26
+ $log = Log4r::Logger.new('Unittest creole', Log4r::ERROR)
27
+ #~ $log = Log4r::Logger.new('Unittest creole', Log4r::WARN)
28
+ #~ $log = Log4r::Logger.new('Unittest creole', Log4r::INFO)
29
+ $log.outputters = Log4r::StdoutOutputter.new('log_stdout')
30
+
31
+ #Logger to catch unwanted messages
32
+ $tmplog = Log4r::Logger.new('Creole', Log4r::FATAL)
33
+
34
+ <<missingtests
35
+ erweitern:
36
+ *tabulars
37
+ *Creole_creoletab
38
+ *csv-tabs
39
+
40
+ placeholder mit parameter (siehe creole_rail)
41
+
42
+ Bug:
43
+ http://... am Ende ohne folgenden Text wird falsch erkannt.
44
+ --> test_creole_links_implicit_end()
45
+ missingtests
46
+
47
+ class Test_creole_placeholder_interface < Test::Unit::TestCase
48
+ def test_creole_placeholders()
49
+ creole = Docgenerator::Creole::Creole.new(:content => <<creole
50
+ ==Titel 1==
51
+ Text
52
+ creole
53
+ )
54
+ assert_equal( Docgenerator::Creole::Placeholders::Collection, creole.placeholders)
55
+ assert_equal( Docgenerator::Creole::Placeholders::Dummy, Docgenerator::Creole::Placeholders::Collection[:undefined])
56
+ assert_equal( Docgenerator::Creole::Placeholders::Creole_html, Docgenerator::Creole::Placeholders::Collection['html'])
57
+ #~ assert_instance_of( Dummy_placeholder, Creole::Placeholders[:undefined])
58
+ end #test_creole_placeholders
59
+
60
+ =begin
61
+ Define test for each placeholder.
62
+ =end
63
+ Docgenerator::Creole::Placeholders::Collection.each{|key,placeholder_class|
64
+ code = <<-xx
65
+ def test_#{placeholder_class.to_s.gsub(/::/, '_')}()
66
+ do_interfacetest('#{key}', #{placeholder_class})
67
+ end
68
+ xx
69
+ class_eval(code)
70
+ }
71
+ =begin rdoc
72
+ Test, if the interface for a placeholder follows the main definition.
73
+
74
+ =end
75
+ def do_interfacetest(key,placeholder_class)
76
+ assert_equal( placeholder_class, Docgenerator::Creole::Placeholders[key])
77
+ assert_equal( placeholder_class, Docgenerator::Creole::Placeholders::Collection[key])
78
+ assert_equal( placeholder_class, Docgenerator::Creole::Creole.new.placeholders[key])
79
+
80
+ assert_nothing_raised("Interface error for class #{placeholder_class}"){
81
+ begin
82
+ placeholder = placeholder_class.new( Docgenerator::Creole::Creole.new )
83
+ rescue Docgenerator::Creole::Placeholder::ParameterError
84
+ #Docgenerator::Creole_placeholder::ParameterError is an accepted error
85
+ #Happens if this placeholder needs a parameter.
86
+ else
87
+ #Check inheritance.
88
+ assert_kind_of( Docgenerator::Creole::Placeholder, placeholder)
89
+ end
90
+ }
91
+ assert_nothing_raised("Interface error for class #{placeholder_class}"){
92
+ begin
93
+ placeholder = placeholder_class.new( Docgenerator::Creole::Creole.new, 'a' )
94
+ rescue Docgenerator::Creole::Placeholder::ParameterError
95
+ #Docgenerator::Creole_placeholder::ParameterError is an accepted error
96
+ #Happens if this placeholder needs a specific parameter.
97
+ else
98
+ #Check inheritance.
99
+ assert_kind_of( Docgenerator::Creole::Placeholder, placeholder)
100
+ end
101
+ }
102
+ #Check 2 parameters
103
+ assert_raise(ArgumentError, "Interface error for class #{placeholder_class}"){
104
+ placeholder = placeholder_class.new( Docgenerator::Creole::Creole.new, 'a', 'b' )
105
+ #Check inheritance.
106
+ assert_kind_of( Docgenerator::Creole::Placeholder, placeholder)
107
+ }
108
+ end #do_interfacetest(key,placeholder_class)
109
+
110
+ end #class Test_creole_placeholder_interface
111
+
112
+ class Test_creole_placeholders_html < Test::Unit::TestCase
113
+ def test_creole_placeholders_html()
114
+ creole = Docgenerator::Creole::Creole.new(:content => <<creole
115
+ before
116
+ <<<html
117
+ <em>this is only for HTML</em>
118
+ >>>
119
+ after
120
+ creole
121
+ )
122
+ #Really like this? Or should there be no paragraph?
123
+ assert_equal_filecontent( "expected_creole/test_creole_placeholders_html.html", creole.to_doc(:html, OPT))
124
+ assert_equal_filecontent( "expected_creole/test_creole_placeholders_html.latex", creole.to_doc(:latex, OPT))
125
+ $log.warn('test_creole_placeholders_html: to_context')
126
+ #~ assert_equal_filecontent( "expected_creole/test_creole_placeholders_html.context", creole.to_doc(:context))
127
+ $log.warn('test_creole_placeholders_html: to wiki/creole')
128
+ #~ assert_equal_filecontent( "expected_creole/test_creole_placeholders_html.creole", creole.to_doc(:creole))
129
+ assert_equal_filecontent( "expected_creole/test_creole_placeholders_html.text", creole.to_doc(:text, OPT))
130
+ end #test_creole_placeholders_html
131
+ end #class Test_creole_placeholders_html
132
+ class Test_creole_placeholders_latex < Test::Unit::TestCase
133
+ def test_creole_placeholders_latex()
134
+ creole = Docgenerator::Creole::Creole.new(:content => <<creole
135
+ before
136
+ <<<latex
137
+ \\textbf{this is only for latex}
138
+ >>>
139
+ after
140
+ creole
141
+ )
142
+ #Really like this? Or should there be no paragraph?
143
+ assert_equal_filecontent( "expected_creole/test_creole_placeholders_latex.html", creole.to_doc(:html, OPT))
144
+ assert_equal_filecontent( "expected_creole/test_creole_placeholders_latex.latex", creole.to_doc(:latex, OPT))
145
+ $log.warn('test_creole_placeholders_latex: to_context')
146
+ #~ assert_equal_filecontent( "expected_creole/test_creole_placeholders_context.context", creole.to_doc(:context))
147
+ $log.warn('test_creole_placeholders_latex: to wiki/creole')
148
+ #~ assert_equal_filecontent( "expected_creole/test_creole_placeholders_latex.creole", creole.to_doc(:creole))
149
+ assert_equal_filecontent( "expected_creole/test_creole_placeholders_latex.text", creole.to_doc(:text, OPT))
150
+ end #test_creole_placeholders_latex
151
+ end #Test_creole_placeholders
152
+
153
+ #http://www.wikicreole.org/wiki/Tables
154
+ class Test_creole_tabular < Test::Unit::TestCase
155
+ def test_creole_tabular_creole()
156
+ creole = Docgenerator::Creole::Creole.new(
157
+ :name => 'tabular_creole',
158
+ :content => <<'creole'
159
+ Tables are done like this:
160
+ |=header col1|=header col2|
161
+ |col1|col2|
162
+ |you |can |
163
+ |also |align\\ it. |
164
+ creole
165
+ )
166
+ $log.warn('test_creole_tabular_creole: tabular inside paragraphs/list...')
167
+ $log.warn('test_creole_tabular_creole: wiki syntax inside cell ')
168
+ assert_equal_filecontent( "expected_creole/test_creole_tabular_creole.html", creole.to_doc(:html, OPT))
169
+ assert_equal_filecontent( "expected_creole/test_creole_tabular_creole.latex", creole.to_doc(:latex, OPT))
170
+ $log.warn('test_creole_tabular_creole: to_context')
171
+ #~ assert_equal_filecontent( "expected_creole/test_creole_tabular_creole.context", creole.to_doc(:context))
172
+ $log.warn('test_creole_tabular_creole: to wiki/creole')
173
+ #~ assert_equal_filecontent( "expected_creole/test_creole_tabular_creole.creole", creole.to_doc(:creole))
174
+ $log.warn('test_creole_tabular_creole: to text/creole')
175
+ #~ assert_equal_filecontent( "expected_creole/test_creole_tabular_creole.text", creole.to_doc(:text))
176
+ end #test_creole_tabular_creole
177
+
178
+ def test_creole_tabular()
179
+ creole = Docgenerator::Creole::Creole.new(:content => <<creole
180
+ before
181
+ <<<tabular
182
+ |!columns=3
183
+ |!columndescription=ccc
184
+ |=1
185
+ |=2
186
+ |=3
187
+ |-
188
+ |eins
189
+ |zwei
190
+ |drei
191
+ |-
192
+ |one
193
+ |two
194
+ |three
195
+ >>>
196
+ after
197
+ creole
198
+ )
199
+ assert_equal_filecontent( "expected_creole/test_creole_tabular.html", creole.to_doc(:html, OPT))
200
+ assert_equal_filecontent( "expected_creole/test_creole_tabular.latex", creole.to_doc(:latex, OPT))
201
+ $log.warn('test_creole_tabular: to_context')
202
+ #~ assert_equal_filecontent( "expected_creole/test_creole_tabular.context", creole.to_doc(:context))
203
+ $log.warn('test_creole_tabular: to wiki/creole')
204
+ #~ assert_equal_filecontent( "expected_creole/test_creole_tabular.creole", creole.to_doc(:creole))
205
+ $log.warn('test_creole_tabular: to text/creole')
206
+ #~ assert_equal_filecontent( "expected_creole/test_creole_tabular.text", creole.to_doc(:text))
207
+ end #test_creole_tabular
208
+
209
+ def test_creole_tabular_with_cell_option()
210
+ # title...
211
+ creole = Docgenerator::Creole::Creole.new(:content => <<creole
212
+ before
213
+ <<<tabular
214
+ |!columns=3
215
+ |eins||css=color: red
216
+ |css = zwei
217
+ |||class=empty
218
+ |-
219
+ |normal
220
+ |//italic//
221
+ |//italic//||class=it
222
+ |-
223
+ |text with | nice! ||class = it
224
+ |||css =
225
+ |
226
+ >>>
227
+ after
228
+ creole
229
+ )
230
+ assert_equal_filecontent( "expected_creole/test_creole_tabular_with_cell_option.html", creole.to_doc(:html, OPT))
231
+ #~ assert_equal_filecontent( "expected_creole/test_creole_tabular_with_option.latex", creole.to_doc(:latex))
232
+ $log.warn('test_creole_tabular: to_context')
233
+ #~ assert_equal_filecontent( "expected_creole/test_creole_tabular.context", creole.to_doc(:context))
234
+ $log.warn('test_creole_tabular: to wiki/creole')
235
+ #~ assert_equal_filecontent( "expected_creole/test_creole_tabular.creole", creole.to_doc(:creole))
236
+ $log.warn('test_creole_tabular: to text/creole')
237
+ #~ assert_equal_filecontent( "expected_creole/test_creole_tabular.text", creole.to_doc(:text))
238
+ end #test_creole_tabular
239
+
240
+ def test_creole_tabular_css()
241
+ creole = Docgenerator::Creole::Creole.new(:content => <<creole
242
+ before
243
+ <<<tabular
244
+ |!columns=3
245
+ |!columndescription=ccc
246
+ |!css=border-width: 1px
247
+ |!css=border-style: solid
248
+ |=1
249
+ |=2
250
+ |=3
251
+ |-
252
+ |eins
253
+ |zwei
254
+ |drei
255
+ |-
256
+ |one
257
+ |two
258
+ |three
259
+ >>>
260
+ after
261
+ creole
262
+ )
263
+ assert_equal_filecontent( "expected_creole/test_creole_tabular_css.html", creole.to_doc(:html, OPT))
264
+ assert_equal_filecontent( "expected_creole/test_creole_tabular_css.latex", creole.to_doc(:latex, OPT))
265
+ $log.warn('test_creole_tabular_css: to_context')
266
+ #~ assert_equal_filecontent( "expected_creole/test_creole_tabular_css.context", creole.to_doc(:context))
267
+ $log.warn('test_creole_tabular_css: to wiki/creole')
268
+ #~ assert_equal_filecontent( "expected_creole/test_creole_tabular_css.creole", creole.to_doc(:creole))
269
+ $log.warn('test_creole_tabular_css: to text/creole')
270
+ #~ assert_equal_filecontent( "expected_creole/test_creole_tabular_css.text", creole.to_doc(:text))
271
+ end #test_creole_tabular_css
272
+ end #Test_creole_tabular
@@ -0,0 +1,147 @@
1
+ #~ require '../test_docgenerator.rb'
2
+ require 'test/unit'
3
+ require 'more_unit_test/assert_equal_filecontent.rb'
4
+
5
+ if $0 == __FILE__
6
+ $:.unshift("../lib")
7
+ end
8
+
9
+ require 'creole/plugins/rail.rb'
10
+
11
+ #~ $log = Log4r::Logger.new( 'test rail', Log4r::WARN )
12
+ #~ $log.outputters = Log4r::StdoutOutputter.new('test rail')
13
+ #~ $log.level = Log4r::INFO
14
+
15
+ #~ $log.info("Remark: Known errors/problems and missing checks are logged.")
16
+ #~ DOCGENERATOR_LOGGER.level = Log4r::DEBUG
17
+ #~ DOCGENERATOR_LOGGER.level = Log4r::INFO
18
+ #~ DOCGENERATOR_LOGGER.level = Log4r::WARN
19
+ #~ DOCGENERATOR_LOGGER.level = Log4r::ERROR
20
+
21
+ #~ include Log4r
22
+
23
+ #~ class Test_rail < Test::Unit::TestCase
24
+ #~ def test_rail()
25
+ #~ block = Rail_diagramm.new('block', <<-RAIL
26
+ #~ ( lbrace | 'begin' )
27
+ #~ ( ( '|' ( variable + ',' ) '|' ) | [Keine Blockvariablen] )
28
+ #~ comm
29
+ #~ ( rbrace | 'end' )
30
+ #~ RAIL
31
+ #~ )
32
+ #~ assert_equal_filecontent( "expected_rail/rail_.rail", text.to_doc(:tex))
33
+ #~ end
34
+ #~ end #Test_rail
35
+
36
+ class Test_creole_rail < Test::Unit::TestCase
37
+ def test_document_placeholder()
38
+ doc = Docgenerator::Creole::Creole_document.new(
39
+ :title => 'Rail-Diagramms in Creole'
40
+ )
41
+ assert_nothing_raised(){
42
+ doc << <<DATA
43
+ <<<rail|id
44
+ A
45
+ >>>
46
+ DATA
47
+ }
48
+ end
49
+ def test_document_placeholder_missing_id()
50
+ doc = Docgenerator::Creole::Creole_document.new(
51
+ :title => 'Rail-Diagramms in Creole'
52
+ )
53
+ assert_raise( Docgenerator::Creole::Placeholder::ParameterError ){
54
+ doc << <<DATA
55
+ <<<rail
56
+ A
57
+ >>>
58
+ DATA
59
+ }
60
+ end
61
+ def test_document_placeholder_wrong_id()
62
+ doc = Docgenerator::Creole::Creole_document.new(
63
+ :title => 'Rail-Diagramms in Creole'
64
+ )
65
+ assert_raise( Docgenerator::Creole::Placeholder::ParameterError ){
66
+ doc << <<DATA
67
+ <<<rail|id-with-minus
68
+ A
69
+ >>>
70
+ DATA
71
+ }
72
+ end
73
+
74
+ def test_document_placeholder_in_wiki()
75
+ doc = Docgenerator::Creole::Creole_document.new(
76
+ :title => 'Rail-Diagramms in Creole'
77
+ )
78
+ doc.doc.head << Docgenerator::Creole::Rail::Rail_diagramm::TEX_PACKAGE_RAIL
79
+ #~ doc.doc.head << element(:latexonly,{}, [
80
+ #~ Rail_diagramm::RAIL_ALIAS,
81
+ #~ '\railterm{lowcharacter,uppercharacter}',
82
+ #~ ])
83
+
84
+ doc << <<DATA
85
+ =Rail-Diagramms
86
+ ==Via Placeholder
87
+ <<<rail|test
88
+ [1] (
89
+ ( '[' string ']' )
90
+ ? body[2--6] + '|'
91
+ )
92
+ | [2] body[3--6] '*' body[5--6]
93
+ | [2] body[3--6] '+' body[5--6]
94
+ | [3] ( body[4--5] + )
95
+ | [4] body[5] '?'
96
+ | [5] identifier ( '[' string ']' ) ?
97
+ | [5] quote string quote
98
+ | [5] dquote string dquote
99
+ | [5] '(' body[1--6] ')'
100
+ | [5] cr
101
+ | [6]
102
+ ;
103
+ >>>
104
+ DATA
105
+ #~ doc.runtex = :pdflatex
106
+ assert_equal_filecontent( "expected_creole_rail/test_rail_creole_placeholder.tex", doc.doc.to_latex({
107
+ :template=> Docgenerator::DocumentTemplate[:article],
108
+ :filename => 'xx',
109
+ :log => doc.doc.log
110
+ }))
111
+ end
112
+
113
+
114
+ def test_document_object()
115
+ $block = Docgenerator::Creole::Rail::Rail_diagramm.new('block', <<-RAIL
116
+ ( lbrace | 'begin' )
117
+ ( ( '|' ( variable + ',' ) '|' ) | [Keine Blockvariablen] )
118
+ comm
119
+ ( rbrace | 'end' )
120
+ RAIL
121
+ )
122
+ doc = Docgenerator::Creole::Creole_document.new(
123
+ :title => 'Rail-Diagramms in Creole'
124
+ )
125
+ doc.doc.head << Docgenerator::Creole::Rail::Rail_diagramm::TEX_PACKAGE_RAIL
126
+ #~ doc.doc.head << element(:latexonly,{}, [
127
+ #~ Rail_diagramm::RAIL_ALIAS,
128
+ #~ '\railterm{lowcharacter,uppercharacter}',
129
+ #~ ])
130
+
131
+ doc << <<DATA
132
+ =Rail-Diagramms
133
+ ==Via Ruby-object
134
+ <<ruby_raw|$block.to_latex>>
135
+ DATA
136
+ #~ doc.runtex = :pdflatex
137
+ assert_equal_filecontent( "expected_creole_rail/test_rail_creole_object.tex", doc.doc.to_latex({
138
+ :template=> Docgenerator::DocumentTemplate[:article],
139
+ :filename => 'xx',
140
+ :log => doc.doc.log
141
+ }))
142
+ end
143
+ end #Test_rail
144
+
145
+ #~ assert_equal_filecontent( "expected_rail/rail_.rail", text.to_doc(:tex))
146
+
147
+ __END__
@@ -1,57 +1,66 @@
1
1
  # encoding: utf-8
2
+ gem 'test-unit'
2
3
  require 'test/unit'
3
- $:.unshift('C:/usr/Script/more_unit_test/lib')
4
+ #~ $:.unshift('C:/usr/Script/more_unit_test/lib')
4
5
  require 'more_unit_test/assert_equal_filecontent.rb'
5
6
 
6
7
  if $0 == __FILE__
7
8
  $:.unshift("../lib")
8
9
  end
9
10
  require 'docgenerator'
11
+ include Docgenerator
12
+ #~ DOCGENERATOR_LOGGER.level = Log4r::DEBUG
10
13
 
11
14
  #~ Element::SUPPORTED_TARGETS << :context
12
15
  #~ Element::SUPPORTED_TARGETS << :creole
13
- #~ DOCGENERATOR_LOGGER.level = Log4r::DEBUG
14
- #~ DOCGENERATOR_LOGGER.level = Log4r::ERROR
15
16
 
16
17
  $log = Log4r::Logger.new('Unittest docgenerator', Log4r::ERROR )
18
+ $log.freeze
17
19
  #~ $log = Log4r::Logger.new('Unittest docgenerator', Log4r::WARN)
18
20
  #~ $log = Log4r::Logger.new('Unittest docgenerator', Log4r::INFO)
19
21
  $log.outputters = Log4r::StdoutOutputter.new('log_stdout')
20
22
 
21
- require 'tempfile' #needed to get logger.data
22
- #
23
- #Two methods to catch and check logger content.
24
- module Temp_Logger
25
- #Redirect Logger data to temporary file
26
- def set_temporary_logger( level = Log4r::WARN )
27
- templogfile = Tempfile.new("xxx_warn.log")
28
- @loglevel = DOCGENERATOR_LOGGER.level
29
- @outputter = DOCGENERATOR_LOGGER.outputters.first
30
- DOCGENERATOR_LOGGER.level = level
31
- DOCGENERATOR_LOGGER.outputters = Log4r::IOOutputter.new('log_xxx', templogfile )
32
- return templogfile
33
- end
34
- #Get temporary data and reset logger.
35
- def get_temporary_logger(templogfile)
36
- templogfile.close()
37
- templogfile.open()
38
- templogfile_content = templogfile.readlines.join()
39
- templogfile.close(true)
40
- DOCGENERATOR_LOGGER.level = @loglevel
41
- DOCGENERATOR_LOGGER.outputters = @outputter
42
- return templogfile_content
23
+ =begin rdoc
24
+ Define a new outputter to catch data into an array
25
+ =end
26
+ class ArrayOutputter < Log4r::StdoutOutputter
27
+ =begin rdoc
28
+ Collect messages in array.
29
+ =end
30
+ def write(message)
31
+ @messages ||= [] #create with first call
32
+ @messages << message
43
33
  end
44
- end
34
+ =begin rdoc
35
+ Clear message array and return messages
36
+ =end
37
+ def flush
38
+ @messages ||= [] #create with first call
39
+ messages = @messages.dup
40
+ @messages.clear
41
+ messages
42
+ end
43
+ end #ArrayOutputter
44
+
45
+ $log_array = Log4r::Logger.new('docgenerator', Log4r::DEBUG)
46
+ $log_array.outputters = $log_array_outputter = ArrayOutputter.new('xx')
45
47
 
46
48
 
47
49
 
48
50
  class Test_elements < Test::Unit::TestCase
49
- include Temp_Logger
51
+ def setup()
52
+ #Avoid warnings about missing logger in to_doc
53
+ @opt = { :log => DOCGENERATOR_DEFAULT_LOGGER } #unless defined? @opt
54
+ end
50
55
  def test_generell_settings()
51
56
  #Check the logger
52
57
  assert_instance_of( Log4r::Logger, DOCGENERATOR_LOGGER)
53
- assert_equal( Log4r::FATAL, DOCGENERATOR_LOGGER.level, "Default Level of Default-Logger (DOCGENERATOR_LOGGER) changed:")
54
- #~ assert_equal( Log4r::ERROR, DOCGENERATOR_LOGGER.level)
58
+
59
+ assert_equal( Log4r::ERROR, DOCGENERATOR_LOGGER.level, "Default Level of Default-Logger (DOCGENERATOR_LOGGER) changed:")
60
+ #Check the default logger
61
+ assert_instance_of( Log4r::Logger, DOCGENERATOR_DEFAULT_LOGGER)
62
+ assert_equal( Log4r::WARN, DOCGENERATOR_DEFAULT_LOGGER.level, "Default Level of Default-Logger (DOCGENERATOR_DEFAULT_LOGGER) changed:")
63
+
55
64
  assert_instance_of( Log4r::StdoutOutputter, DOCGENERATOR_LOGGER.outputters.first)
56
65
  #~ assert_equal( Log4r::FATAL, DOCGENERATOR_LOGGER.outputters.first.level)
57
66
  end
@@ -63,193 +72,32 @@ class Test_elements < Test::Unit::TestCase
63
72
 
64
73
  assert_equal( true, element(:p).content?)
65
74
  assert_equal( false, element(:br).content?)
66
- #Result ok, but warning
67
- assert_equal( "<br />", element(:br,{},'content').to_html)
68
75
 
69
- #fixme Umsetzen des logger in methoden
70
- templogfile = set_temporary_logger()
71
- assert_equal( "<br />", element(:br,{},'content').to_html)
76
+ #Result ok, but warning
77
+ assert_equal( "<br />", element(:br,{log: $log_array},'content').to_html(@opt))
72
78
  #~ assert_equal_filecontent( "expected/test_content.log", get_temporary_logger() )
73
79
  #Problem: ids.inspect is unsorted -> check only match
74
- #~ assert_equal(%Q{ WARN docgenerator: Add content to an element without this feature ["br/", :br, :newline, "br"], "content"\n}, get_temporary_logger(templogfile))
75
- assert_match(%r{WARN docgenerator: Add content to an element without this feature \[(.*):newline(.*)\], "content"\n}, get_temporary_logger(templogfile))
80
+ #~ assert_equal(%Q{ WARN docgenerator: Add content to an element without this feature ["br/", :br, :newline, "br"], "content"\n}, $log_array_outputter.flush.join)
81
+ assert_match(%r{WARN docgenerator: Add content to an element without this feature <Docgenerator::Elements::Newline.*>, "content"\n},
82
+ $log_array_outputter.flush.join)
76
83
  end
77
- def test_symbols()
78
- #~ log = Log4r::Logger.new( 'section_logger')
79
- #~ log.level = Log4r::ERROR
80
- #~ log.level = Log4r::DEBUG
81
- #~ log.outputters = Log4r::StdoutOutputter.new('test_section')
82
- assert_equal( '&ensp;', element(:space).to_html)
83
- assert_equal( '&ensp;', element(:ensp).to_html)
84
- assert_equal( '~', element(:space).to_latex)
85
- #~ assert_equal( '??', element(:space).to_context)
86
- assert_equal( '~', element(:ensp).to_latex)
87
- #~ assert_equal( '??', element(:ensp).to_context)
88
- assert_equal( '&emsp;', element(:bigspace).to_html)
89
- assert_equal( '&emsp;', element(:emsp).to_html)
90
- assert_equal( '~~', element(:bigspace).to_latex)
91
- #~ assert_equal( '??', element(:bigspace).to_context)
92
- assert_equal( '~~', element(:emsp).to_latex)
93
- #~ assert_equal( '??', element(:emsp).to_context)
94
- assert_equal( '&nbsp;', element(:nbsp).to_html)
95
- assert_equal( '~', element(:nbsp).to_latex)
96
- #~ assert_equal( '??', element(:nbsp).to_context)
97
- assert_equal( '&euro;', element(:euro).to_html)
98
- assert_equal( '\euro', element(:euro).to_latex)
99
- #~ assert_equal( '??', element(:euro).to_context)
100
- assert_equal( '%', element(:percent).to_html)
101
- assert_equal( '%', element(:'%').to_html)
102
- assert_equal( '\%', element(:percent).to_latex)
103
- #~ assert_equal( '??', element(:percent).to_context)
104
- assert_equal( '\%', element(:'%').to_latex)
105
- #~ assert_equal( '??', element(:'%').to_context)
106
- assert_equal( '^', element(:'^').to_html)
107
- assert_equal( '\hat{}', element(:'^').to_latex)
108
- #~ assert_equal( '??', element(:'^').to_context)
109
- assert_equal( '&iquest;', element(:iquest).to_html)
110
- assert_equal( '¿', element(:iquest).to_latex)
111
- #~ assert_equal( '??', element(:iquest).to_context)
112
- assert_equal( '&amp;', element(:ampersand).to_html)
113
- assert_equal( '&amp;', element(:'&').to_html)
114
- assert_equal( '\&', element(:ampersand).to_latex)
115
- #~ assert_equal( '??', element(:ampersand).to_context)
116
- assert_equal( '\&', element(:'&').to_latex)
117
- #~ assert_equal( '??', element(:'&').to_context)
118
- assert_equal( '}', element(:rbrace).to_html)
119
- assert_equal( '}', element(:'}').to_html)
120
- assert_equal( '\}', element(:rbrace).to_latex)
121
- #~ assert_equal( '??', element(:rbrace).to_context)
122
- assert_equal( '\}', element(:'}').to_latex)
123
- #~ assert_equal( '??', element(:'}').to_context)
124
- assert_equal( '{', element(:lbrace).to_html)
125
- assert_equal( '{', element(:'{').to_html)
126
- assert_equal( '\{', element(:lbrace).to_latex)
127
- #~ assert_equal( '??', element(:lbrace).to_context)
128
- assert_equal( '\{', element(:'{').to_latex)
129
- #~ assert_equal( '??', element(:'{').to_context)
130
- assert_equal( '\\', element(:backslash).to_html)
131
- assert_equal( '\ensuremath{\backslash}', element(:backslash).to_latex)
132
- #~ assert_equal( '??', element(:backslash).to_context)
133
- assert_equal( '&radic;', element(:radic).to_html)
134
- assert_equal( '\ensuremath{\sqrt{}}', element(:radic).to_latex)
135
- #~ assert_equal( '??', element(:radic).to_context)
136
- assert_equal( '&rarr;', element(:rarr).to_html)
137
- assert_equal( '&rarr;', element(:rightarrow).to_html)
138
- assert_equal( '&rarr;', element(:'->').to_html)
139
- assert_equal( '->', element(:'->').to_text)
140
- assert_equal( '\ensuremath{\rightarrow}', element(:rarr).to_latex)
141
- #~ assert_equal( '??', element(:rarr).to_context)
142
- assert_equal( '\ensuremath{\rightarrow}', element(:rightarrow).to_latex)
143
- #~ assert_equal( '??', element(:rightarrow).to_context)
144
- assert_equal( '\ensuremath{\rightarrow}', element(:'->').to_latex)
145
- #~ assert_equal( '??', element(:'->').to_context)
146
- assert_equal( '&rArr;', element(:rArr).to_html)
147
- assert_equal( '&rArr;', element(:Rightarrow).to_html)
148
- assert_equal( '&rArr;', element(:'=>').to_html)
149
- assert_equal( '=>', element(:'=>').to_text)
150
- assert_equal( '\ensuremath{\Rightarrow}', element(:rArr).to_latex)
151
- #~ assert_equal( '??', element(:rArr).to_context)
152
- assert_equal( '\ensuremath{\Rightarrow}', element(:Rightarrow).to_latex)
153
- #~ assert_equal( '??', element(:Rightarrow).to_context)
154
- assert_equal( '\ensuremath{\Rightarrow}', element(:'=>').to_latex)
155
- #~ assert_equal( '??', element(:'=>').to_context)
156
- assert_equal( '&larr;', element(:larr).to_html)
157
- assert_equal( '&larr;', element(:leftarrow).to_html)
158
- assert_equal( '&larr;', element(:'<-').to_html)
159
- assert_equal( '<-', element(:'<-').to_text)
160
- assert_equal( '\ensuremath{\leftarrow}', element(:larr).to_latex)
161
- #~ assert_equal( '??', element(:larr).to_context)
162
- assert_equal( '\ensuremath{\leftarrow}', element(:leftarrow).to_latex)
163
- #~ assert_equal( '??', element(:leftarrow).to_context)
164
- assert_equal( '\ensuremath{\leftarrow}', element(:'<-').to_latex)
165
- #~ assert_equal( '??', element(:'<-').to_context)
166
- assert_equal( '&lArr;', element(:lArr).to_html)
167
- assert_equal( '&lArr;', element(:Leftarrow).to_html)
168
- assert_equal( '&lArr;', element(:'<=').to_html)
169
- assert_equal( '<=', element(:'<=').to_text)
170
- assert_equal( '\ensuremath{\Lefttarrow}', element(:lArr).to_latex)
171
- #~ assert_equal( '??', element(:lArr).to_context)
172
- assert_equal( '\ensuremath{\Lefttarrow}', element(:Leftarrow).to_latex)
173
- #~ assert_equal( '??', element(:Leftarrow).to_context)
174
- assert_equal( '\ensuremath{\Lefttarrow}', element(:'<=').to_latex)
175
- #~ assert_equal( '??', element(:'<=').to_context)
176
- assert_equal( '&uArr;', element(:uArr).to_html)
177
- assert_equal( '&uArr;', element(:Uparrow).to_html)
178
- assert_equal( '\ensuremath{\Uparrow}', element(:uArr).to_latex)
179
- #~ assert_equal( '??', element(:uArr).to_context)
180
- assert_equal( '\ensuremath{\Uparrow}', element(:Uparrow).to_latex)
181
- #~ assert_equal( '??', element(:Uparrow).to_context)
182
- assert_equal( '&lt;', element(:lt).to_html)
183
- assert_equal( '&lt;', element(:'<').to_html)
184
- assert_equal( '\ensuremath{<}', element(:lt).to_latex)
185
- #~ assert_equal( '??', element(:lt).to_context)
186
- assert_equal( '\ensuremath{<}', element(:'<').to_latex)
187
- #~ assert_equal( '??', element(:'<').to_context)
188
- assert_equal( '&gt;', element(:gt).to_html)
189
- assert_equal( '&gt;', element(:'>').to_html)
190
- assert_equal( '\ensuremath{>}', element(:gt).to_latex)
191
- #~ assert_equal( '??', element(:gt).to_context)
192
- assert_equal( '\ensuremath{>}', element(:'>').to_latex)
193
- #~ assert_equal( '??', element(:'>').to_context)
194
- assert_equal( '&infin;', element(:infin).to_html)
195
- assert_equal( '&infin;', element(:infty).to_html)
196
- assert_equal( '\ensuremath{\infty}', element(:infin).to_latex)
197
- #~ assert_equal( '??', element(:infin).to_context)
198
- assert_equal( '\ensuremath{\infty}', element(:infty).to_latex)
199
- #~ assert_equal( '??', element(:infty).to_context)
200
- assert_equal( '&divide;', element(:divide).to_html)
201
- assert_equal( '\ensuremath{\div}', element(:divide).to_latex)
202
- #~ assert_equal( '??', element(:divide).to_context)
203
- assert_equal( '&yen;', element(:yen).to_html)
204
- assert_equal( '&sim;', element(:sim).to_html)
205
- assert_equal( '\ensuremath{\sim}', element(:sim).to_latex)
206
- #~ assert_equal( '??', element(:sim).to_context)
207
- assert_equal( '&brvbar;', element(:brvbar).to_html)
208
- assert_equal( '|', element(:brvbar).to_latex)
209
- #~ assert_equal( '??', element(:brvbar).to_context)
210
- assert_equal( '5&euro;', element(:euros,{},5).to_html)
211
- assert_equal( '\euros{5}', element(:euros,{},5).to_latex)
212
- #~ assert_equal( '??', element(:euros,{},5).to_context)
213
- assert_equal( '&not;', element(:neg).to_html)
214
- assert_equal( '&not;', element(:not).to_html)
215
- assert_equal( '\ensuremath{\neg}', element(:neg).to_latex)
216
- #~ assert_equal( '??', element(:neg).to_context)
217
- assert_equal( '\ensuremath{\neg}', element(:not).to_latex)
218
- #~ assert_equal( '??', element(:not).to_context)
219
- assert_equal( '&times;', element(:times).to_html)
220
- assert_equal( '\ensuremath{\times}', element(:times).to_latex)
221
- #~ assert_equal( '??', element(:times).to_context)
222
- assert_equal( '&otimes;', element(:otimes).to_html)
223
- assert_equal( '\ensuremath{\otimes}', element(:otimes).to_latex)
224
- #~ assert_equal( '??', element(:otimes).to_context)
225
- assert_equal( '&empty;', element(:empty).to_html)
226
- assert_equal( '\ensuremath{\emptyset}', element(:empty).to_latex)
227
- #~ assert_equal( '??', element(:empty).to_context)
228
- assert_equal( '_', element(:'_').to_html)
229
- assert_equal( '_', element(:underscore).to_html)
230
- assert_equal( '\_', element(:'_').to_latex)
231
- #~ assert_equal( '??', element(:'_').to_context)
232
- assert_equal( '\_', element(:underscore).to_latex)
233
- #~ assert_equal( '??', element(:underscore).to_context)
234
- assert_equal( '&#149;', element(:bullet).to_html)
235
- assert_equal( '\ensuremath{\bullet}', element(:bullet).to_latex)
236
- #~ assert_equal( '??', element(:bullet).to_context)
237
- assert_equal( '&ndash;', element(:'--').to_html)
238
- assert_equal( '&ndash;', element(:ndash).to_html)
239
- assert_equal( '--', element(:'--').to_latex)
240
- #~ assert_equal( '??', element(:'??').to_context)
241
- assert_equal( '--', element(:ndash).to_latex)
242
- #~ assert_equal( '??', element(:ndash).to_context)
243
- assert_equal( '&mdash;', element(:'---').to_html)
244
- assert_equal( '&mdash;', element(:mdash).to_html)
245
- assert_equal( '---', element(:'---').to_latex)
246
- #~ assert_equal( '??', element(:'??').to_context)
247
- assert_equal( '---', element(:mdash).to_latex)
248
- #~ assert_equal( '??', element(:mdash).to_context)
249
- assert_equal( '&dagger;', element(:dagger).to_html)
250
- assert_equal( '\dag', element(:dagger).to_latex)
251
- #~ assert_equal( '??', element(:dagger).to_context)
84
+ def test_is_a()
85
+
86
+ newline = element(:br)
87
+ assert_true( newline.is_a?(Element) )
88
+ assert_true( newline.is_a?(:br) )
89
+ assert_true( newline.is_a?(:newline) )
90
+
91
+ assert_false( newline.is_a?(:zeilenumbruch) )
92
+ assert_false( newline.is_a?(Symbol) )
93
+ assert_false( newline.is_a?(Array) )
94
+
95
+ #Standard behaviour: TypeError: class or module required
96
+ assert_false( newline.to_html(@opt).is_a?(:newline) )
97
+ assert_false( '<br />'.is_a?(:newline) )
98
+
252
99
  end
100
+
253
101
  def test_section()
254
102
  #~ log = Log4r::Logger.new( 'section_logger')
255
103
  #~ log.level = Log4r::ERROR
@@ -266,14 +114,14 @@ class Test_elements < Test::Unit::TestCase
266
114
  element(:h2, {}, 'Abschnitt 2.1' ).cr,
267
115
  element(:p, {}, 'Text zu Abschnitt 2.1' ).cr
268
116
  ]
269
- assert_equal_filecontent( "expected/test_section.html", text.to_doc(:html))
270
- assert_equal_filecontent( "expected/test_section.latex", text.to_doc(:latex))
117
+ assert_equal_filecontent( "expected/test_section.html", text.to_doc(:html, @opt))
118
+ assert_equal_filecontent( "expected/test_section.latex", text.to_doc(:latex, @opt))
271
119
  $log.warn('test_section: to_context')
272
- #~ assert_equal_filecontent( "expected/test_section.context", text.to_doc(:context))
120
+ #~ assert_equal_filecontent( "expected/test_section.context", text.to_doc(:context, @opt))
273
121
  $log.warn('test_section: to_creole')
274
- #~ assert_equal_filecontent( "expected/test_section.creole", text.to_doc(:creole))
275
- assert_equal_filecontent( "expected/test_section.wiki", text.to_doc(:wiki))
276
- assert_equal_filecontent( "expected/test_section.text", text.to_doc(:text))
122
+ #~ assert_equal_filecontent( "expected/test_section.creole", text.to_doc(:creole, @opt))
123
+ assert_equal_filecontent( "expected/test_section.wiki", text.to_doc(:wiki,@opt))
124
+ assert_equal_filecontent( "expected/test_section.text", text.to_doc(:text, @opt))
277
125
  end
278
126
  def test_href()
279
127
  #~ log = Log4r::Logger.new( 'section_logger')
@@ -290,59 +138,67 @@ class Test_elements < Test::Unit::TestCase
290
138
  element(:a, {:href=>'#ilink'}, 'target.'),
291
139
  ] ).cr,
292
140
  ]
293
- assert_equal_filecontent( "expected/test_href.html", text.to_doc(:html))
294
- assert_equal_filecontent( "expected/test_href.latex", text.to_doc(:latex))
141
+ assert_equal_filecontent( "expected/test_href.html", text.to_doc(:html, @opt))
142
+ assert_equal_filecontent( "expected/test_href.latex", text.to_doc(:latex, @opt))
295
143
  $log.warn('test_href: to_context')
296
- #~ assert_equal_filecontent( "expected/test_href.context", text.to_doc(:context))
144
+ #~ assert_equal_filecontent( "expected/test_href.context", text.to_doc(:context, @opt))
297
145
  $log.warn('test_href: to_creole')
298
- #~ assert_equal_filecontent( "expected/test_href.creole", text.to_doc(:creole))
299
- #~ assert_equal_filecontent( "expected/test_href.wiki", text.to_doc(:wiki))
300
- assert_equal_filecontent( "expected/test_href.text", text.to_doc(:text)) #not good
146
+ #~ assert_equal_filecontent( "expected/test_href.creole", text.to_doc(:creole, @opt))
147
+ #~ assert_equal_filecontent( "expected/test_href.wiki", text.to_doc(:wiki,@opt))
148
+ assert_equal_filecontent( "expected/test_href.text", text.to_doc(:text, @opt)) #not good
301
149
  end
302
150
  end #Test_elements
303
151
 
304
152
  class Test_lists < Test::Unit::TestCase
153
+ def setup()
154
+ #Avoid warnings about missing logger in to_doc
155
+ @opt = { :log => DOCGENERATOR_DEFAULT_LOGGER } #unless defined? @opt
156
+ end
305
157
  def test_itemize
306
158
  ul = element(:ul, {}, [
307
159
  element(:li, {}, 'Listpunkt 1'),
308
160
  ])
309
- assert_equal_filecontent( "expected/test_itemize.html", ul.to_doc(:html))
310
- assert_equal_filecontent( "expected/test_itemize.latex", ul.to_doc(:latex))
311
- assert_equal_filecontent( "expected/test_itemize.context", ul.to_doc(:context))
161
+ assert_equal_filecontent( "expected/test_itemize.html", ul.to_doc(:html, @opt))
162
+ assert_equal_filecontent( "expected/test_itemize.latex", ul.to_doc(:latex, @opt))
163
+ assert_equal_filecontent( "expected/test_itemize.context", ul.to_doc(:context, @opt))
312
164
  $log.warn('test_itemize: to_creole')
313
- #~ assert_equal_filecontent( "expected/test_itemize.creole", ul.to_doc(:creole))
314
- assert_equal_filecontent( "expected/test_itemize.wiki", ul.to_doc(:wiki))
315
- assert_equal_filecontent( "expected/test_itemize.text", ul.to_doc(:text))
165
+ #~ assert_equal_filecontent( "expected/test_itemize.creole", ul.to_doc(:creole, @opt))
166
+ assert_equal_filecontent( "expected/test_itemize.wiki", ul.to_doc(:wiki,@opt))
167
+ assert_equal_filecontent( "expected/test_itemize.text", ul.to_doc(:text, @opt))
316
168
  end
317
169
  def test_enumerate
318
170
  ol = element(:ol, {}, [
319
171
  element(:li, {}, 'Listpunkt 1'),
320
172
  ])
321
- assert_equal_filecontent( "expected/test_enumerate.html", ol.to_doc(:html))
322
- assert_equal_filecontent( "expected/test_enumerate.latex", ol.to_doc(:latex))
323
- assert_equal_filecontent( "expected/test_enumerate.context", ol.to_doc(:context))
173
+ assert_equal_filecontent( "expected/test_enumerate.html", ol.to_doc(:html, @opt))
174
+ assert_equal_filecontent( "expected/test_enumerate.latex", ol.to_doc(:latex, @opt))
175
+ assert_equal_filecontent( "expected/test_enumerate.context", ol.to_doc(:context, @opt))
324
176
  $log.warn('test_enumerate: to_creole')
325
- #~ assert_equal_filecontent( "expected/test_enumerate.creole", ol.to_doc(:creole))
326
- assert_equal_filecontent( "expected/test_enumerate.wiki", ol.to_doc(:wiki))
327
- assert_equal_filecontent( "expected/test_enumerate.text", ol.to_doc(:text))
177
+ #~ assert_equal_filecontent( "expected/test_enumerate.creole", ol.to_doc(:creole, @opt))
178
+ assert_equal_filecontent( "expected/test_enumerate.wiki", ol.to_doc(:wiki,@opt))
179
+ assert_equal_filecontent( "expected/test_enumerate.text", ol.to_doc(:text, @opt))
328
180
  end
329
181
  def test_description
330
182
  description = element(:description, {}, [
331
183
  element(:dt, {}, 'Top 1'),
332
184
  element(:dd, {}, 'Listpunkt 1'),
333
185
  ])
334
- assert_equal_filecontent( "expected/test_description.html", description.to_doc(:html))
335
- assert_equal_filecontent( "expected/test_description.latex", description.to_doc(:latex))
186
+ assert_equal_filecontent( "expected/test_description.html", description.to_doc(:html, @opt))
187
+ assert_equal_filecontent( "expected/test_description.latex", description.to_doc(:latex, @opt))
336
188
  $log.warn('test_description: to_context')
337
- #~ assert_equal_filecontent( "expected/test_description.context", description.to_doc(:context))
189
+ #~ assert_equal_filecontent( "expected/test_description.context", description.to_doc(:context, @opt))
338
190
  $log.warn('test_description: to_creole')
339
- #~ assert_equal_filecontent( "expected/test_description.creole", description.to_doc(:creole))
340
- assert_equal_filecontent( "expected/test_description.wiki", description.to_doc(:wiki))
341
- assert_equal_filecontent( "expected/test_description.text", description.to_doc(:text))
191
+ #~ assert_equal_filecontent( "expected/test_description.creole", description.to_doc(:creole, @opt))
192
+ assert_equal_filecontent( "expected/test_description.wiki", description.to_doc(:wiki,@opt))
193
+ assert_equal_filecontent( "expected/test_description.text", description.to_doc(:text, @opt))
342
194
  end
343
195
  end #Test_lists
344
196
 
345
197
  class Test_footnotes < Test::Unit::TestCase
198
+ def setup()
199
+ #Avoid warnings about missing logger in to_doc
200
+ @opt = { :log => DOCGENERATOR_DEFAULT_LOGGER } #unless defined? @opt
201
+ end
346
202
  def test_footnote
347
203
  footnotegroup = Footnotegroup.new()
348
204
  #~ footnotegroup = nil
@@ -357,14 +213,14 @@ class Test_footnotes < Test::Unit::TestCase
357
213
  element(:h2, {}, 'Footnotes' ).cr,
358
214
  footnotegroup,
359
215
  ]
360
- assert_equal_filecontent( "expected/test_footnote.html", text.to_doc(:html))
361
- assert_equal_filecontent( "expected/test_footnote.latex", text.to_doc(:latex))
216
+ assert_equal_filecontent( "expected/test_footnote.html", text.to_doc(:html, @opt))
217
+ assert_equal_filecontent( "expected/test_footnote.latex", text.to_doc(:latex, @opt))
362
218
  $log.warn('test_footnote: to_context')
363
- #~ assert_equal_filecontent( "expected/test_footnote.context", text.to_doc(:context))
219
+ #~ assert_equal_filecontent( "expected/test_footnote.context", text.to_doc(:context, @opt))
364
220
  $log.warn('test_footnote: to_creole')
365
- #~ assert_equal_filecontent( "expected/test_footnote.creole", text.to_doc(:creole))
366
- #~ assert_equal_filecontent( "expected/test_footnote.wiki", text.to_doc(:wiki))
367
- #~ assert_equal_filecontent( "expected/test_footnote.text", text.to_doc(:text))
221
+ #~ assert_equal_filecontent( "expected/test_footnote.creole", text.to_doc(:creole, @opt))
222
+ #~ assert_equal_filecontent( "expected/test_footnote.wiki", text.to_doc(:wiki,@opt))
223
+ #~ assert_equal_filecontent( "expected/test_footnote.text", text.to_doc(:text, @opt))
368
224
  end #test_footnote
369
225
  def test_footnote_group
370
226
  footnotegroup = Footnotegroup.new()
@@ -383,18 +239,22 @@ class Test_footnotes < Test::Unit::TestCase
383
239
  element(:h3, {}, 'Footnotes of group 1' ).cr,
384
240
  footnotegroup2,
385
241
  ]
386
- assert_equal_filecontent( "expected/test_footnote_group.html", text.to_doc(:html))
387
- assert_equal_filecontent( "expected/test_footnote_group.latex", text.to_doc(:latex))
242
+ assert_equal_filecontent( "expected/test_footnote_group.html", text.to_doc(:html, @opt))
243
+ assert_equal_filecontent( "expected/test_footnote_group.latex", text.to_doc(:latex, @opt))
388
244
  $log.warn('test_footnote_group: to_context')
389
- #~ assert_equal_filecontent( "expected/test_footnote_group.context", text.to_doc(:context))
245
+ #~ assert_equal_filecontent( "expected/test_footnote_group.context", text.to_doc(:context, @opt))
390
246
  $log.warn('test_footnote_group: to_creole')
391
- #~ assert_equal_filecontent( "expected/test_footnote_group.creole", text.to_doc(:creole))
392
- #~ assert_equal_filecontent( "expected/test_footnote_group.wiki", text.to_doc(:wiki))
393
- #~ assert_equal_filecontent( "expected/test_footnote_group.text", text.to_doc(:text))
247
+ #~ assert_equal_filecontent( "expected/test_footnote_group.creole", text.to_doc(:creole, @opt))
248
+ #~ assert_equal_filecontent( "expected/test_footnote_group.wiki", text.to_doc(:wiki,@opt))
249
+ #~ assert_equal_filecontent( "expected/test_footnote_group.text", text.to_doc(:text, @opt))
394
250
  end #test_footnote
395
251
  end #Test_footnotes
396
252
 
397
253
  class Test_tabular < Test::Unit::TestCase
254
+ def setup()
255
+ #Avoid warnings about missing logger in to_doc
256
+ @opt = { :log => DOCGENERATOR_DEFAULT_LOGGER } #unless defined? @opt
257
+ end
398
258
  def mk_tabular( columns, lines )
399
259
 
400
260
  tab = element(:tabular, {
@@ -425,23 +285,23 @@ class Test_tabular < Test::Unit::TestCase
425
285
  end
426
286
  def test_tabular()
427
287
  text = mk_tabular( Array('A'..'D'), Array(1..5) )
428
- assert_equal_filecontent( "expected/test_tabular.html", text.to_doc(:html))
288
+ assert_equal_filecontent( "expected/test_tabular.html", text.to_doc(:html, @opt))
429
289
  #The line ends will be \\\\
430
290
  #In usage in documents, it's converted into \\.
431
291
  #
432
292
  #~ doc = Document.new()
433
- #~ doc.body << text.to_doc(:latex)
293
+ #~ doc.body << text.to_doc(:latex, @opt)
434
294
  #~ doc.save('Test.tex') #\\ is ok
435
295
  #
436
296
  #~ $fixmes << "tabular/latex: tablines line 229 ../lib/docgenerator_tabular.rb#229"
437
- assert_equal_filecontent( "expected/test_tabular.latex", text.to_doc(:latex))
297
+ assert_equal_filecontent( "expected/test_tabular.latex", text.to_doc(:latex, @opt))
438
298
  $log.warn('test_tabular: to_context')
439
- #~ assert_equal_filecontent( "expected/test_tabular.context", text.to_doc(:context))
299
+ #~ assert_equal_filecontent( "expected/test_tabular.context", text.to_doc(:context, @opt))
440
300
  $log.warn('test_tabular: to_creole')
441
- #~ assert_equal_filecontent( "expected/test_tabular.creole", text.to_doc(:creole))
442
- assert_equal_filecontent( "expected/test_tabular.wiki", text.to_doc(:wiki))
301
+ #~ assert_equal_filecontent( "expected/test_tabular.creole", text.to_doc(:creole, @opt))
302
+ assert_equal_filecontent( "expected/test_tabular.wiki", text.to_doc(:wiki,@opt))
443
303
  $log.warn("text-output for tables")
444
- #~ assert_equal_filecontent( "expected/test_tabular.text", text.to_doc(:text))
304
+ #~ assert_equal_filecontent( "expected/test_tabular.text", text.to_doc(:text, @opt))
445
305
  end
446
306
  def test_tabular_doc()
447
307
  doc = Document.new()
@@ -451,7 +311,7 @@ class Test_tabular < Test::Unit::TestCase
451
311
  #~ doc.log.outputters = Log4r::StdoutOutputter.new('test_section')
452
312
  #~ doc.log.level = Log4r::INFO
453
313
 
454
- #~ assert_equal_filecontent( "expected/test_tabular_doc.html", text.to_doc(:html))
314
+ #~ assert_equal_filecontent( "expected/test_tabular_doc.html", text.to_doc(:html, @opt))
455
315
 
456
316
  #The row ends in tabulars are \\.
457
317
  #When used in documents, \\ is converted into \.
@@ -459,45 +319,52 @@ class Test_tabular < Test::Unit::TestCase
459
319
  assert_equal_filecontent( "expected/test_tabular_doc.latex", doc.to_doc(:latex,
460
320
  { :log => doc.log, :template=> DocumentTemplate[:article], :filename => 'test'}
461
321
  ) )
462
- #~ assert_equal_filecontent( "expected/test_tabular_doc.wiki", text.to_doc(:wiki))
463
- #~ assert_equal_filecontent( "expected/test_tabular_doc.text", text.to_doc(:text))
322
+ #~ assert_equal_filecontent( "expected/test_tabular_doc.wiki", text.to_doc(:wiki,@opt))
323
+ #~ assert_equal_filecontent( "expected/test_tabular_doc.text", text.to_doc(:text, @opt))
464
324
  end
465
325
  end
466
326
 
467
327
 
468
328
  class Test_Verbatim < Test::Unit::TestCase
469
- def test_verbatim()
329
+ def setup()
330
+ #Avoid warnings about missing logger in to_doc
331
+ @opt = { :log => DOCGENERATOR_DEFAULT_LOGGER } #unless defined? @opt
332
+ end
333
+ def test_verbatim()
470
334
  text = element(:verbatim,{}, <<verb
471
335
  Verbatim text
472
336
  second line
473
337
  verb
474
338
  )
475
- assert_equal_filecontent( "expected/test_verbatim.html", text.to_doc(:html))
476
- assert_equal_filecontent( "expected/test_verbatim.latex", text.to_doc(:latex))
339
+ assert_equal_filecontent( "expected/test_verbatim.html", text.to_doc(:html, @opt))
340
+ assert_equal_filecontent( "expected/test_verbatim.latex", text.to_doc(:latex, @opt))
477
341
  $log.warn('test_verbatim: to_context')
478
- #~ assert_equal_filecontent( "expected/test_verbatim.context", text.to_doc(:context))
342
+ #~ assert_equal_filecontent( "expected/test_verbatim.context", text.to_doc(:context, @opt))
479
343
  $log.warn('test_verbatim: to_creole/to_wiki')
480
- #~ assert_equal_filecontent( "expected/test_verbatim.creole", text.to_doc(:creole))
481
- #~ assert_equal_filecontent( "expected/test_verbatim.wiki", text.to_doc(:wiki))
344
+ #~ assert_equal_filecontent( "expected/test_verbatim.creole", text.to_doc(:creole, @opt))
345
+ #~ assert_equal_filecontent( "expected/test_verbatim.wiki", text.to_doc(:wiki,@opt))
482
346
  $log.warn("text-output for verbatim")
483
- #~ assert_equal_filecontent( "expected/test_verbatim.text", text.to_doc(:text))
347
+ #~ assert_equal_filecontent( "expected/test_verbatim.text", text.to_doc(:text, @opt))
484
348
  end
485
349
  def test_verbatim_array()
486
350
  text = element(:verbatim,{}, %w{Verbatim text second line})
487
- assert_equal_filecontent( "expected/test_verbatim_array.html", text.to_doc(:html))
488
- assert_equal_filecontent( "expected/test_verbatim_array.latex", text.to_doc(:latex))
351
+ assert_equal_filecontent( "expected/test_verbatim_array.html", text.to_doc(:html, @opt))
352
+ assert_equal_filecontent( "expected/test_verbatim_array.latex", text.to_doc(:latex, @opt))
489
353
  $log.warn('test_verbatim_array: to_context')
490
- #~ assert_equal_filecontent( "expected/test_verbatim.context", text.to_doc(:context))
354
+ #~ assert_equal_filecontent( "expected/test_verbatim.context", text.to_doc(:context, @opt))
491
355
  $log.warn('test_verbatim_array: to_creole/to_wiki')
492
- #~ assert_equal_filecontent( "expected/test_verbatim.creole", text.to_doc(:creole))
493
- #~ assert_equal_filecontent( "expected/test_verbatim.wiki", text.to_doc(:wiki))
356
+ #~ assert_equal_filecontent( "expected/test_verbatim.creole", text.to_doc(:creole, @opt))
357
+ #~ assert_equal_filecontent( "expected/test_verbatim.wiki", text.to_doc(:wiki,@opt))
494
358
  $log.warn("text-output for verbatim_array")
495
- #~ assert_equal_filecontent( "expected/test_verbatim.text", text.to_doc(:text))
359
+ #~ assert_equal_filecontent( "expected/test_verbatim.text", text.to_doc(:text, @opt))
496
360
  end
497
361
  end #Test_Verbatim
498
362
 
499
363
  class Test_CSS < Test::Unit::TestCase
500
- include Temp_Logger
364
+ def setup()
365
+ #Avoid warnings about missing logger in to_doc
366
+ @opt = { :log => DOCGENERATOR_DEFAULT_LOGGER } #unless defined? @opt
367
+ end
501
368
  def test_html_css()
502
369
  text = [
503
370
  element(:div,{}, [ 'Block 1',
@@ -510,34 +377,32 @@ class Test_CSS < Test::Unit::TestCase
510
377
  'Ende Block 1',
511
378
  ]).cr
512
379
  ]
513
- assert_equal_filecontent( "expected/test_html_css.html", text.to_doc(:html))
380
+ assert_equal_filecontent( "expected/test_html_css.html", text.to_doc(:html, @opt))
514
381
  end
515
382
  def test_css()
516
383
  css = CSS.new(
517
384
  :color => 'red',
518
385
  :background_color => 'blue'
519
386
  )
520
- assert_equal_filecontent( "expected/test_css.css", css.to_html)
387
+ assert_equal_filecontent( "expected/test_css.css", css.to_html(@opt))
521
388
  css[:float] = 'right'
522
- assert_equal_filecontent( "expected/test_css2.css", css.to_html)
389
+ assert_equal_filecontent( "expected/test_css2.css", css.to_html(@opt))
523
390
  end
524
391
  #The data for CSS are checked, warnings and error are returned.
525
392
  def test_css_error()
526
- templogfile = set_temporary_logger()
527
- css = CSS.new( :color => 'red')
528
- assert_equal('', get_temporary_logger(templogfile))
393
+ css = CSS.new( :color => 'red', :log => $log_array)
394
+ assert_equal('', $log_array_outputter.flush.join)
529
395
 
530
- templogfile = set_temporary_logger()
531
396
  css[:color] = 'black'
532
- assert_equal(" WARN docgenerator: CSS: Overwrite :color\n", get_temporary_logger(templogfile))
397
+ assert_equal(" WARN docgenerator: CSS: Overwrite :color\n", $log_array_outputter.flush.join)
533
398
 
534
- templogfile = set_temporary_logger()
535
399
  css[:background_color] = 'nocolor'
536
- assert_equal("ERROR docgenerator: CSS: nocolor not allowed for background-color\n", get_temporary_logger(templogfile))
400
+ assert_equal("ERROR docgenerator: CSS: nocolor not allowed for background-color\n", $log_array_outputter.flush.join)
537
401
 
538
- templogfile = set_temporary_logger()
402
+ #logger must be reset to clear result for the test.
403
+ css = CSS.new( :color => 'red', :log => $log_array)
539
404
  css[:nonsense] = 'not valid'
540
- assert_equal("ERROR docgenerator: CSS: Undefined key :nonsense\n", get_temporary_logger(templogfile))
405
+ assert_equal("ERROR docgenerator: CSS: Undefined key :nonsense\n", $log_array_outputter.flush.join)
541
406
 
542
407
  end
543
408
  def test_css_collection_anonym
@@ -546,7 +411,7 @@ class Test_CSS < Test::Unit::TestCase
546
411
  :font_size => 'xx-small',
547
412
  :font_weight => 'normal'
548
413
  ))
549
- assert_equal_filecontent( "expected/css_collection_anonym.html", test.style.to_html)
414
+ assert_equal_filecontent( "expected/css_collection_anonym.html", test.style.to_html(@opt))
550
415
  end
551
416
  def test_css_collection
552
417
  CSS_collection.new(:test, 'CSS to test')
@@ -554,10 +419,10 @@ class Test_CSS < Test::Unit::TestCase
554
419
  :font_size => 'xx-small',
555
420
  :font_weight => 'normal'
556
421
  ))
557
- assert_equal_filecontent( "expected/css_collection.html", CSS_collection[:test].style.to_html)
422
+ assert_equal_filecontent( "expected/css_collection.html", CSS_collection[:test].style.to_html(@opt))
558
423
  end
559
424
  def test_css_collection_toc
560
- assert_equal_filecontent( "expected/toc_css.css", CSS_collection[:toc].style.to_html)
425
+ assert_equal_filecontent( "expected/toc_css.css", CSS_collection[:toc].style.to_html(@opt))
561
426
  end
562
427
  end
563
428
 
@@ -566,7 +431,10 @@ end
566
431
  #- The <<prefix>> is replaced by Document.save.
567
432
  #- With <<prefix>> we get always differences (timestamp)
568
433
  class Test_document < Test::Unit::TestCase
569
- include Temp_Logger
434
+ def setup()
435
+ #Avoid warnings about missing logger in to_doc
436
+ @opt = { :log => DOCGENERATOR_DEFAULT_LOGGER } #unless defined? @opt
437
+ end
570
438
  def test_document()
571
439
  doc = Document.new(
572
440
  :title => 'Testdokument',
@@ -641,7 +509,10 @@ class Test_document < Test::Unit::TestCase
641
509
  end
642
510
  end #Test_document < Test::Unit::TestCase
643
511
  class Test_document_toc < Test::Unit::TestCase
644
- include Temp_Logger
512
+ def setup()
513
+ #Avoid warnings about missing logger in to_doc
514
+ @opt = { :log => DOCGENERATOR_DEFAULT_LOGGER } #unless defined? @opt
515
+ end
645
516
  def test_document_toc()
646
517
  doc = Document.new(
647
518
  :title => 'Testdokument for toc-command'
@@ -661,14 +532,14 @@ class Test_document_toc < Test::Unit::TestCase
661
532
  element(:h1, {:id=>'sect3'}, 'Abschnitt 3' ).cr,
662
533
  ]
663
534
 
664
- assert_equal_filecontent( "expected/test_document_toc_single.html", doc.toc( :tocfilename => 'test.html/').to_doc(:html))
665
- assert_equal_filecontent( "expected/test_document_toc_single.latex", doc.toc().to_doc(:latex))
535
+ assert_equal_filecontent( "expected/test_document_toc_single.html", doc.toc( :tocfilename => 'test.html/').to_doc(:html, @opt))
536
+ assert_equal_filecontent( "expected/test_document_toc_single.latex", doc.toc().to_doc(:latex, @opt))
666
537
  $log.warn('test_document_toc_single: to_context')
667
- #~ assert_equal_filecontent( "expected/test_document_toc_single.context", doc.toc().to_doc(:context))
538
+ #~ assert_equal_filecontent( "expected/test_document_toc_single.context", doc.toc().to_doc(:context, @opt))
668
539
  $log.warn('test_document_toc_single: to_creole')
669
- #~ assert_equal_filecontent( "expected/test_document_toc_single.creole", doc.toc().to_doc(:creole))
540
+ #~ assert_equal_filecontent( "expected/test_document_toc_single.creole", doc.toc().to_doc(:creole, @opt))
670
541
  #Normaly, the standard tableofcontents is used
671
- assert_equal( "\\tableofcontents ", element(:tableofcontents).to_doc(:latex))
542
+ assert_equal( "\\tableofcontents ", element(:tableofcontents).to_doc(:latex, @opt))
672
543
 
673
544
  {
674
545
  :html => :html,
@@ -691,21 +562,21 @@ class Test_document_toc < Test::Unit::TestCase
691
562
 
692
563
  #Test with pre and post
693
564
  prepost = { :pre => 'Pretext', :post => 'Posttext' }
694
- assert_equal_filecontent( "expected/test_document_toc_single_pre.html", doc.toc( prepost).to_doc(:html))
695
- assert_equal_filecontent( "expected/test_document_toc_single_pre.latex", doc.toc(prepost).to_doc(:latex))
565
+ assert_equal_filecontent( "expected/test_document_toc_single_pre.html", doc.toc( prepost).to_doc(:html, @opt))
566
+ assert_equal_filecontent( "expected/test_document_toc_single_pre.latex", doc.toc(prepost).to_doc(:latex, @opt))
696
567
  $log.warn('test_document_toc_single_pre: to_context')
697
- #~ assert_equal_filecontent( "expected/test_document_toc_single_pre.context", doc.toc(prepost).to_doc(:context))
568
+ #~ assert_equal_filecontent( "expected/test_document_toc_single_pre.context", doc.toc(prepost).to_doc(:context, @opt))
698
569
  $log.warn('test_document_toc_single_pre: to_creole')
699
- #~ assert_equal_filecontent( "expected/test_document_toc_single_pre.creole", doc.toc(prepost).to_doc(:creole))
570
+ #~ assert_equal_filecontent( "expected/test_document_toc_single_pre.creole", doc.toc(prepost).to_doc(:creole, @opt))
700
571
 
701
572
  testel = element(:ul,{},[element(:li,{},'1'),element(:li,{},'2')])
702
573
  prepost = { :pre => testel , :post => testel }
703
- assert_equal_filecontent( "expected/test_document_toc_single_pre2.html", doc.toc( prepost).to_doc(:html))
704
- assert_equal_filecontent( "expected/test_document_toc_single_pre2.latex", doc.toc(prepost).to_doc(:latex))
574
+ assert_equal_filecontent( "expected/test_document_toc_single_pre2.html", doc.toc( prepost).to_doc(:html, @opt))
575
+ assert_equal_filecontent( "expected/test_document_toc_single_pre2.latex", doc.toc(prepost).to_doc(:latex, @opt))
705
576
  $log.warn('test_document_toc_single_pre2: to_context')
706
- #~ assert_equal_filecontent( "expected/test_document_toc_single_pre2.context", doc.toc(prepost).to_doc(:context))
577
+ #~ assert_equal_filecontent( "expected/test_document_toc_single_pre2.context", doc.toc(prepost).to_doc(:context, @opt))
707
578
  $log.warn('test_document_toc_single_pre2: to_creole')
708
- #~ assert_equal_filecontent( "expected/test_document_toc_single_pre2.creole", doc.toc(prepost).to_doc(:creole))
579
+ #~ assert_equal_filecontent( "expected/test_document_toc_single_pre2.creole", doc.toc(prepost).to_doc(:creole, @opt))
709
580
  end
710
581
  def test_document_toc_deep()
711
582
  doc = Document.new(
@@ -725,26 +596,26 @@ class Test_document_toc < Test::Unit::TestCase
725
596
  element(:h4, {}, 'Abschnitt 2.1.1.1' ).cr,
726
597
  element(:h5, {}, 'Abschnitt 2.1.1.1.1' ).cr, ]
727
598
 
728
- assert_equal_filecontent( "expected/test_document_toc_deep.html", doc.toc().to_doc(:html))
729
- assert_equal_filecontent( "expected/test_document_toc_deep.latex", doc.toc().to_doc(:latex))
599
+ assert_equal_filecontent( "expected/test_document_toc_deep.html", doc.toc().to_doc(:html, @opt))
600
+ assert_equal_filecontent( "expected/test_document_toc_deep.latex", doc.toc().to_doc(:latex, @opt))
730
601
  $log.warn('test_document_toc_deep: to_context')
731
- #~ assert_equal_filecontent( "expected/test_document_toc_deep.context", doc.toc().to_doc(:context))
602
+ #~ assert_equal_filecontent( "expected/test_document_toc_deep.context", doc.toc().to_doc(:context, @opt))
732
603
  $log.warn('test_document_toc_deep: to_creole')
733
- #~ assert_equal_filecontent( "expected/test_document_toc_deep.creole", doc.toc().to_doc(:creole))
604
+ #~ assert_equal_filecontent( "expected/test_document_toc_deep.creole", doc.toc().to_doc(:creole, @opt))
734
605
 
735
- assert_equal_filecontent( "expected/test_document_toc_deep_1.html", doc.toc(:level=>1).to_doc(:html))
736
- assert_equal_filecontent( "expected/test_document_toc_deep_1.latex", doc.toc(:level=>1).to_doc(:latex))
606
+ assert_equal_filecontent( "expected/test_document_toc_deep_1.html", doc.toc(:level=>1).to_doc(:html, @opt))
607
+ assert_equal_filecontent( "expected/test_document_toc_deep_1.latex", doc.toc(:level=>1).to_doc(:latex, @opt))
737
608
  $log.warn('test_document_toc_deep_1: to_context')
738
- #~ assert_equal_filecontent( "expected/test_document_toc_deep_1.context", doc.toc(:level=>1).to_doc(:context))
609
+ #~ assert_equal_filecontent( "expected/test_document_toc_deep_1.context", doc.toc(:level=>1).to_doc(:context, @opt))
739
610
  $log.warn('test_document_toc_deep_1: to_creole')
740
- #~ assert_equal_filecontent( "expected/test_document_toc_deep_1.creole", doc.toc(:level=>1).to_doc(:creole))
611
+ #~ assert_equal_filecontent( "expected/test_document_toc_deep_1.creole", doc.toc(:level=>1).to_doc(:creole, @opt))
741
612
 
742
- assert_equal_filecontent( "expected/test_document_toc_deep_4.html", doc.toc(:level=>4).to_doc(:html))
743
- assert_equal_filecontent( "expected/test_document_toc_deep_4.latex", doc.toc(:level=>4).to_doc(:latex))
613
+ assert_equal_filecontent( "expected/test_document_toc_deep_4.html", doc.toc(:level=>4).to_doc(:html, @opt))
614
+ assert_equal_filecontent( "expected/test_document_toc_deep_4.latex", doc.toc(:level=>4).to_doc(:latex, @opt))
744
615
  $log.warn('test_document_toc_deep_4: to_context')
745
- #~ assert_equal_filecontent( "expected/test_document_toc_deep_4.context", doc.toc(:level=>4).to_doc(:context))
616
+ #~ assert_equal_filecontent( "expected/test_document_toc_deep_4.context", doc.toc(:level=>4).to_doc(:context, @opt))
746
617
  $log.warn('test_document_toc_deep_4: to_creole')
747
- #~ assert_equal_filecontent( "expected/test_document_toc_deep_4.creole", doc.toc(:level=>4).to_doc(:creole))
618
+ #~ assert_equal_filecontent( "expected/test_document_toc_deep_4.creole", doc.toc(:level=>4).to_doc(:creole, @opt))
748
619
 
749
620
  end
750
621
  def test_document_toc_deep_err()
@@ -770,28 +641,31 @@ class Test_document_toc < Test::Unit::TestCase
770
641
  element(:h4, {}, 'Abschnitt 3.1.1.1' ).cr,
771
642
  ]
772
643
 
773
- templogfile = set_temporary_logger()
774
- assert_equal_filecontent( "expected/test_document_toc_deep_err.html", doc.toc(:level=>4, :log => DOCGENERATOR_LOGGER).to_doc(:html))
775
- assert_equal_filecontent( "expected/test_document_toc_deep_err.log", get_temporary_logger(templogfile))
644
+ $log_array.level = Log4r::WARN
645
+ assert_equal_filecontent( "expected/test_document_toc_deep_err.html", doc.toc(:level=>4, :log => $log_array).to_doc(:html, @opt))
646
+ assert_equal_filecontent( "expected/test_document_toc_deep_err.log", $log_array_outputter.flush.join)
647
+ $log_array.level = Log4r::DEBUG #back again.
776
648
 
777
- assert_equal_filecontent( "expected/test_document_toc_deep_err.latex", doc.toc().to_doc(:latex))
649
+ assert_equal_filecontent( "expected/test_document_toc_deep_err.latex", doc.toc().to_doc(:latex, @opt))
778
650
  $log.warn('test_document_toc_deep_err: to_context')
779
- #~ assert_equal_filecontent( "expected/test_document_toc_deep_err.context", doc.toc().to_doc(:context))
651
+ #~ assert_equal_filecontent( "expected/test_document_toc_deep_err.context", doc.toc().to_doc(:context, @opt))
780
652
  $log.warn('test_document_toc_deep_err: to_creole')
781
- #~ assert_equal_filecontent( "expected/test_document_toc_deep_err.creole", doc.toc().to_doc(:creole))
653
+ #~ assert_equal_filecontent( "expected/test_document_toc_deep_err.creole", doc.toc().to_doc(:creole, @opt))
782
654
 
783
655
  end
784
656
 
785
657
  end
786
658
 
787
659
  class Test_usepackage < Test::Unit::TestCase
788
- include Temp_Logger
660
+ def setup()
661
+ #Avoid warnings about missing logger in to_doc
662
+ @opt = { :log => DOCGENERATOR_DEFAULT_LOGGER } #unless defined? @opt
663
+ end
789
664
  #
790
665
  #If an unknown package is requested, you get an information.
791
666
  def test_usepackage_unknown()
792
- templogfile = set_temporary_logger(Log4r::DEBUG)
793
- element(:usepackage,{},'undefined package')
794
- assert_equal_filecontent( "expected/test_document_usepackage_undefined.log", get_temporary_logger(templogfile))
667
+ element(:usepackage,{:log => $log_array },'undefined package')
668
+ assert_equal_filecontent( "expected/test_document_usepackage_undefined.log", $log_array_outputter.flush.join)
795
669
  end
796
670
  #Known packages 'require' new ruby packages.
797
671
  def test_usepackage_pdfpages()
@@ -803,10 +677,10 @@ class Test_usepackage < Test::Unit::TestCase
803
677
  req_diff = $" - old_required
804
678
  assert_equal( 1, req_diff.size )
805
679
  #Ruby 1.9 has full path, Ruby 1.8 only require-parameter
806
- assert_match( %r{packages/docgenerator_pdfpages.rb}, req_diff.first )
680
+ assert_match( %r{docgenerator/packages/pdfpages.rb}, req_diff.first )
807
681
 
808
- assert_equal( '\usepackage{pdfpages}', usepackage_element.to_latex)
809
- assert_equal( '', usepackage_element.to_html)
682
+ assert_equal( '\usepackage{pdfpages}', usepackage_element.to_latex(@opt))
683
+ assert_equal( '', usepackage_element.to_html(@opt))
810
684
 
811
685
  end #test_usepackage_pdfpages()
812
686
  end