42
42
<py:for each="test_suite in exercise.test_suites">
44
<a id="suite_header_${test_suite.suiteid}" onclick="tog('suite_data_${test_suite.suiteid}')"><h3>Suite ${test_suite.seq_no + 1} - ${test_suite.description}</h3></a>
44
<h3><a onclick="delete_suite('${test_suite.suiteid}')"><img src="${mediapath}cross.png"/></a> <a id="suite_header_${test_suite.suiteid}" onclick="tog('suite_data_${test_suite.suiteid}')">Suite ${test_suite.seq_no + 1} - ${test_suite.description}</a></h3>
46
46
<div class="testsuite" id="suite_data_${test_suite.suiteid}">
47
47
<div class="test_suite_vals">
64
64
<div class="test_variables" id="variables_${test_suite.suiteid}">
65
65
<py:for each="variable in test_suite.variables">
67
<a onclick="delete_var('${variable.varid}', '${test_suite.suiteid}')"><img src="${mediapath}cross.png"/></a>
67
68
<label for="var_type_${variable.varid}">Type:</label>
68
69
<select name="Variable Type" id="var_type_${variable.varid}">
69
70
<py:for each="var_type in var_types">
105
106
<py:for each="test_case in test_suite.test_cases">
107
<a onclick="tog('test_case_${test_case.testid}')" id="case_header_${test_case.testid}"><h5>Test Case ${test_case.seq_no}</h5></a>
108
<div class="test_case" id="test_case_${test_case.testid}">
109
<label for="test_case_pass_${test_case.testid}">Pass Message:</label>
110
<input class="textinput" type="text" id="test_case_pass_${test_case.testid}" value="${test_case.passmsg}" />
112
<label for="test_case_fail_${test_case.testid}">Fail Message:</label>
113
<input class="textinput" type="text" id="test_case_fail_${test_case.testid}" value="${test_case.failmsg}" />
115
<label for="test_case_default_${test_case.test_default}">Default Mode:</label>
116
<input class="textinput" type="text" id="test_case_default_${test_case.test_default}" value="${test_case.test_default}" />
119
<div class="disabled_test_case_parts" id="test_case_parts_${test_case.testid}">
108
<h5><a onclick="delete_testcase('${test_case.testid}','${test_suite.suiteid}')"><img src="${mediapath}cross.png"/></a><a onclick="tog('test_case_${test_case.testid}_${test_suite.suiteid}')" id="case_header_${test_case.testid}"> Test Case ${test_case.seq_no + 1}</a></h5>
109
<div class="test_case" id="test_case_${test_case.testid}_${test_suite.suiteid}">
110
<label for="test_case_pass_${test_case.testid}_${test_suite.suiteid}">Pass Message:</label>
111
<input class="textinput" type="text" id="test_case_pass_${test_case.testid}_${test_suite.suiteid}" value="${test_case.passmsg}" />
113
<label for="test_case_fail_${test_case.testid}_${test_suite.suiteid}">Fail Message:</label>
114
<input class="textinput" type="text" id="test_case_fail_${test_case.testid}_${test_suite.suiteid}" value="${test_case.failmsg}" />
116
<label for="test_case_default_${test_case.test_default}_${test_suite.suiteid}">Default Mode:</label>
117
<input class="textinput" type="text" id="test_case_default_${test_case.test_default}_${test_suite.suiteid}" value="${test_case.test_default}" />
119
<input type="submit" onclick="edit_test_case('${test_case.testid}','${test_suite.suiteid}')" value="Save Case" />
121
<h5>Test Case Parts</h5>
122
<div class="disabled_test_case_parts" id="test_case_parts_${test_case.testid}_${test_suite.suiteid}">
120
123
<py:for each="test_part in test_case.parts">
124
<a onclick="delete_testpart('${test_part.partid}','${test_case.testid}','${test_suite.suiteid}')"><img src="${mediapath}cross.png"/></a>
121
125
<label for="test_part_part_type_${test_part.partid}">Part Type:</label>
122
126
<select name="Part Type" id="test_part_part_type_${test_part.partid}">
123
127
<py:for each="part_type in part_types">
139
143
<label for="test_part_file_${test_part.partid}">Filename:</label>
140
144
<input type="text" id="test_part_file_${test_part.partid}" value="${test_part.filename}" />
146
<input type="submit" value="Save Part" onclick="edit_test_part('${test_part.partid}', '${test_case.testid}', ${test_suite.suiteid})"/>
150
<a>Add a New part</a>
151
<div class="new_test_part" id="new_test_part_${test_case.testid}">
152
<label for="new_test_part_part_type_${test_case.testid}">Part Type:</label>
153
<select name="Part Type" id="new_test_part_part_type_${test_case.testid}">
154
<py:for each="part_type in part_types">
155
<option value="${part_type}">${part_type}</option>
159
<label>Test Type:</label>
160
<select name="Test Type" id="new_test_part_test_type_${test_case.testid}">
161
<py:for each="test_type in test_types">
162
<option value="${test_type}">${test_type}</option>
167
<textarea id="new_test_part_data_${test_case.testid}" rows="2" cols="80"></textarea>
169
<label>Filename:</label>
170
<input type="text" id="new_test_part_file_${test_case.testid}"/>
172
<input type="submit" value="Add Part" onclick="add_test_part('${test_case.testid}', '${test_suite.suiteid}')" id="new_test_part_save_${test_case.testid}" />
154
184
<input class="textinput" type="text" id="new_test_case_fail_${test_suite.suiteid}" />
156
186
<label for="new_test_case_default_${test_suite.suiteid}">Default Mode:</label>
157
<input class="textinput" type="text" id="new_test_case_default_${test_suite.suiteid}" />
187
<input class="textinput" type="text" value="ignore" id="new_test_case_default_${test_suite.suiteid}" />
159
<input type="submit" value="Add Case" onclick="add_part('${test_suite.suiteid}')" />
189
<input type="submit" value="Add Case" onclick="add_test_case('${test_suite.suiteid}')" />