-
Notifications
You must be signed in to change notification settings - Fork 967
/
disambiguate_cond.xml
101 lines (101 loc) · 3.79 KB
/
disambiguate_cond.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<tool id="disambiguate_cond" name="disambiguate_cond">
<command>
echo "$p1.p1v $p2.p2v $p3.p3v" > $out_file1;
#if $files.attach_files
cat "$files.p4.file" >> $out_file1;
#else
echo "no file specified" >> $out_file1;
#end if
</command>
<inputs>
<conditional name="p1">
<param type="boolean" name="use" />
<when value="true">
<param name="p1v" value="4" type="integer" />
</when>
<when value="false">
<param name="p1v" value="7" type="integer" />
</when>
</conditional>
<conditional name="p2">
<param type="boolean" name="use" />
<when value="true">
<param name="p2v" value="4" type="integer" />
</when>
<when value="false">
<param name="p2v" value="7" type="integer" />
</when>
</conditional>
<conditional name="p3">
<param type="boolean" name="use" />
<when value="true">
<param name="p3v" value="4" type="integer" />
</when>
<when value="false">
<param name="p3v" value="7" type="integer" />
</when>
</conditional>
<conditional name="files">
<param name="attach_files" type="boolean" checked="true" />
<when value="true">
<conditional name="p4">
<param type="boolean" name="use" />
<when value="true">
<param type="data" name="file" />
</when>
<when value="false" />
</conditional>
</when>
<when value="false" />
</conditional>
</inputs>
<outputs>
<data name="out_file1" format="txt" />
</outputs>
<tests>
<!-- Can use nested conditional blocks as shown below to disambiguate
various nested parameters. -->
<test>
<conditional name="p1">
<param name="use" value="False"/>
</conditional>
<conditional name="p2">
<param name="use" value="True"/>
</conditional>
<conditional name="p3">
<param name="use" value="False"/>
</conditional>
<conditional name="files">
<param name="attach_files" value="True" />
<conditional name="p4">
<param name="use" value="True"/>
<param name="file" value="simple_line_alternative.txt" />
</conditional>
</conditional>
<output name="out_file1">
<assert_contents>
<has_line line="7 4 7" />
<has_line line="This is a different line of text." />
</assert_contents>
</output>
</test>
<!-- Can also use a more concise, flat verison of this, but it the
above version is more clear and should be considered preferable.
-->
<test>
<param name="p1|use" value="True"/>
<param name="p2|use" value="False"/>
<param name="p3|use" value="True"/>
<param name="p4|use" value="True" />
<!-- Only need to specify enough of a suffix to disambiguate,
but don't do this - it is too clever. -->
<param name="p4|file" value="simple_line.txt" />
<output name="out_file1">
<assert_contents>
<has_line line="4 7 4" />
<has_line line="This is a line of text." />
</assert_contents>
</output>
</test>
</tests>
</tool>