@@ -129,13 +129,14 @@ mod tests {
129129 use crate :: module:: ModuleType ;
130130 use crate :: Options ;
131131
132+ // These values represent the default newdoc options.
132133 fn basic_options ( ) -> Options {
133134 Options {
134135 comments : true ,
135136 prefixes : true ,
136137 examples : true ,
137138 target_dir : "." . to_string ( ) ,
138- detect_directory : false ,
139+ detect_directory : true ,
139140 }
140141 }
141142
@@ -192,4 +193,69 @@ mod tests {
192193
193194 assert_eq ! ( reference. text, pre_generated) ;
194195 }
196+
197+ // These values strip down the modules to the bare minimum.
198+ fn minimal_options ( ) -> Options {
199+ Options {
200+ comments : false ,
201+ prefixes : false ,
202+ examples : false ,
203+ target_dir : "." . to_string ( ) ,
204+ detect_directory : true ,
205+ }
206+ }
207+
208+ /// Test that we generate the assembly that we expect.
209+ #[ test]
210+ fn test_minimal_assembly ( ) {
211+ let mod_type = & ModuleType :: Assembly ;
212+ let mod_title = "Minimal assembly" ;
213+ let options = minimal_options ( ) ;
214+ let assembly = Module :: new ( mod_type, mod_title, & options) ;
215+
216+ let pre_generated =
217+ include_str ! ( "../data/generated/minimal-assembly.adoc" ) ;
218+
219+ assert_eq ! ( assembly. text, pre_generated) ;
220+ }
221+
222+ /// Test that we generate the concept module that we expect.
223+ #[ test]
224+ fn test_minimal_concept ( ) {
225+ let mod_type = & ModuleType :: Concept ;
226+ let mod_title = "Minimal concept" ;
227+ let options = minimal_options ( ) ;
228+ let concept = Module :: new ( mod_type, mod_title, & options) ;
229+
230+ let pre_generated = include_str ! ( "../data/generated/minimal-concept.adoc" ) ;
231+
232+ assert_eq ! ( concept. text, pre_generated) ;
233+ }
234+
235+ /// Test that we generate the procedure module that we expect.
236+ #[ test]
237+ fn test_minimal_procedure ( ) {
238+ let mod_type = & ModuleType :: Procedure ;
239+ let mod_title = "Minimal procedure" ;
240+ let options = minimal_options ( ) ;
241+ let procedure = Module :: new ( mod_type, mod_title, & options) ;
242+
243+ let pre_generated = include_str ! ( "../data/generated/minimal-procedure.adoc" ) ;
244+
245+ assert_eq ! ( procedure. text, pre_generated) ;
246+ }
247+
248+ /// Test that we generate the reference module that we expect.
249+ #[ test]
250+ fn test_minimal_reference ( ) {
251+ let mod_type = & ModuleType :: Reference ;
252+ let mod_title = "Minimal reference" ;
253+ let options = minimal_options ( ) ;
254+ let reference = Module :: new ( mod_type, mod_title, & options) ;
255+
256+ let pre_generated =
257+ include_str ! ( "../data/generated/minimal-reference.adoc" ) ;
258+
259+ assert_eq ! ( reference. text, pre_generated) ;
260+ }
195261}
0 commit comments