Skip to content

Commit 1d6c3b7

Browse files
committed
Add pseudo-integration tests for modules with all options disabled
1 parent 7fead10 commit 1d6c3b7

File tree

5 files changed

+122
-1
lines changed

5 files changed

+122
-1
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
ifdef::context[:parent-context-of-minimal-assembly: {context}]
2+
3+
ifndef::context[]
4+
[id="minimal-assembly"]
5+
endif::[]
6+
ifdef::context[]
7+
[id="minimal-assembly_{context}"]
8+
endif::[]
9+
= Minimal assembly
10+
11+
:context: minimal-assembly
12+
13+
[role="_abstract"]
14+
15+
== Prerequisites
16+
17+
[role="_additional-resources"]
18+
== Additional resources (or Next steps)
19+
20+
ifdef::parent-context-of-minimal-assembly[:context: {parent-context-of-minimal-assembly}]
21+
ifndef::parent-context-of-minimal-assembly[:!context:]
22+
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[id="minimal-concept_{context}"]
2+
= Minimal concept
3+
4+
[role="_abstract"]
5+
6+
[role="_additional-resources"]
7+
.Additional resources
8+
9+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
[id="minimal-procedure_{context}"]
2+
= Minimal procedure
3+
4+
[role="_abstract"]
5+
6+
.Prerequisites
7+
8+
.Procedure
9+
10+
.Verification
11+
12+
[role="_additional-resources"]
13+
.Additional resources
14+
15+
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[id="minimal-reference_{context}"]
2+
= Minimal reference
3+
4+
[role="_abstract"]
5+
6+
[role="_additional-resources"]
7+
.Additional resources
8+
9+

src/main.rs

Lines changed: 67 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)