- change tests references to testcases
- fix changed field abbreviations
- display help text in popup divs
- disabled testgroup/subgroup editing -> interim step before test runs
- display lists of all testgroups/subgroups to which a testcase belongs when viewing a testcase
- make separate testing config (SysConfig) template, and display testing config when present and viewing matching single testcases
- allow admins to run individual testcases regardless of whether they are enabled or not
- remove secondary, imprecise build ID lookup JS stanza
- change layout/options for admin sidebar

b=322585
- fix defaulttestgroup display when continuing to test

b=320546
- add top testers stats back to stats page, now that we can hide email addresses

b=322607
- add show all/hide all to test list display for runtests

b=334871
- allow fulltext searching of testcases by summary, steps, and expected results


git-svn-id: svn://10.0.0.236/trunk@199013 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
ccooper%deadsquid.com 2006-06-05 03:40:24 +00:00
parent 5f64517f1a
commit 4cf5b27edb
26 changed files with 465 additions and 292 deletions

View File

@ -1,6 +1,6 @@
<input type="text" size="10" name="test_id"
value="[% IF defaults.test_id != '' %]
[% defaults.test_id FILTER html %]
<input type="text" size="10" name="testcase_id"
value="[% IF defaults.testcase_id != '' %]
[% defaults.testcase_id FILTER html %]
[% ELSE %]-Testcase ID#-
[% END %]"
onFocus="if(this.value=='-Test #-'){this.value = '';}">

View File

@ -1,29 +1,29 @@
<table class="radio-testresults">
<tr class="not-run">
<td><input type="radio" name="testresult_[% test_id | html %]"
id="testresult_[% test_id | html %]_0" value="0" checked="checked"/>
</td><td><label for="testresult_[% test_id | html %]_0">Not Run</label>
<td><input type="radio" name="testresult_[% testcase_id | html %]"
id="testresult_[% testcase_id | html %]_0" value="0" checked="checked"/>
</td><td><label for="testresult_[% testcase_id | html %]_0">Not Run</label>
</td>
</tr>
<tr class="pass">
<td><input type="radio" name="testresult_[% test_id | html %]"
id="testresult_[% test_id | html %]_1" value="1" />
</td><td><label for="testresult_[% test_id | html %]_1">Pass</label>
<td><input type="radio" name="testresult_[% testcase_id | html %]"
id="testresult_[% testcase_id | html %]_1" value="1" />
</td><td><label for="testresult_[% testcase_id | html %]_1">Pass</label>
</td>
</tr>
<tr class="fail">
<td><input type="radio" name="testresult_[% test_id | html %]"
id="testresult_[% test_id | html %]_2" value="2"/>
</td><td><labelfor="testresult_[% test_id | html %]_2">Fail</label>
<td><input type="radio" name="testresult_[% testcase_id | html %]"
id="testresult_[% testcase_id | html %]_2" value="2"/>
</td><td><labelfor="testresult_[% testcase_id | html %]_2">Fail</label>
</td>
</tr>
<tr class="unclear">
<td><input type="radio" name="testresult_[% test_id | html %]"
id="testresult_[% test_id | html %]_3" value="3" />
</td><td><label for="testresult_[% test_id | html %]_3">
<td><input type="radio" name="testresult_[% testcase_id | html %]"
id="testresult_[% testcase_id | html %]_3" value="3" />
</td><td><label for="testresult_[% testcase_id | html %]_3">
Test unclear/broken</label>
</td>
</tr>

View File

@ -1,10 +1,10 @@
<select name="[% name %]"[% IF size %] size="[% size %]"[% END %][% IF disabled %] disabled[% END %]>
[% IF placeholder %]<option value="">-Testcase ID#-</option>[% END %]
[% IF test_ids %]
[% FOREACH test_id=test_ids %]
<option[% IF defaults.test_id==test_id.test_id %] selected[% END %]
value="[% test_id.test_id | html %]">
[% test_id.test_id | html%]</option>
[% IF testcase_ids %]
[% FOREACH testcase_id=testcase_ids %]
<option[% IF defaults.testcase_id==testcase_id.testcase_id %] selected[% END %]
value="[% testcase_id.testcase_id | html %]">
[% testcase_id.testcase_id | html%]</option>
[% END %]
[% END %]
</select>

View File

@ -0,0 +1,10 @@
<select name="[% name %]"[% IF size %] size="[% size %]"[% END %][% IF disabled %] disabled[% END %]>
[% IF placeholder %]<option value="">-Testcase ID#-</option>[% END %]
[% IF testcases %]
[% FOREACH testcase=testcases %]
<option[% IF defaults.testcase_id==testcase.testcase_id %] selected[% END %]
value="[% testcase.testcase_id | html %]">
[% testcase.testcase_id | html%]</option>
[% END %]
[% END %]
</select>

View File

@ -35,10 +35,11 @@
[% # platform dropdown box
# defaultplatform - the object for the default platform selection
# (can be either a single object or a list)
# test (optional) - if present, the selection name will be platform_testid
# testcase (optional) - if present, the selection name will be
# platform_testcase_id
%]
[% BLOCK platformbox %]
[% IF test %] [% testidflag = "_$test.testid" %]
[% IF testcase %] [% testidflag = "_$testcase.testcase_id" %]
[% ELSE %] [% testidflag = "" %][% END %]
[% IF defaultplatform %]
@ -50,18 +51,18 @@
[% END %]
<select name="platform[%testidflag | html %]"
id="platform[%testidflag FILTER html%]"
onchange="changePlatform([%test.testid FILTER js%])"
onchange="changePlatform([%testcase.testcase_id FILTER js%])"
class="select_platform">
</select>
[% END %]
[% # opsys dropdown box
# test (optional) - if given, the select name will be opsys_testid
# testcase (optional) - if given, the select name will be opsys_testid
# defaultopsys - the default opsys to select
# (can be either a single object or a list)
%]
[% BLOCK opsysbox %]
[% IF test %] [% testidflag = "_$test.testid" %]
[% IF testcase %] [% testidflag = "_$testcase.testcase_id" %]
[% ELSE %] [% testidflag = "" %][% END %]
[% IF defaultopsys %]
[% valuelist = defaultopsys.list.join(',') %]
@ -78,10 +79,10 @@
[% # branch dropdown box
# defaultbranch - default branch selection
# (can be either a single object or a list)
# test (optional) - if given, the select name will be branch_branchid
# testcase (optional) - if given, the select name will be branch_branchid
%]
[% BLOCK branchbox %]
[% IF test %] [% testidflag = "_$test.testid" %]
[% IF testcase %] [% testidflag = "_$testcase.testcase_id" %]
[% ELSE %] [% testidflag = "" %][% END %]
[% IF defaultbranch %]
[% valuelist = defaultbranch.list.join(',') %]
@ -98,10 +99,10 @@
[% # locale dropdown box
# defaultlocale - default locale selection
# (can be either a single object or a list)
# test (optional) - if given, the select name will be locale_localeid
# testcase (optional) - if given, the select name will be locale_localeid
%]
[% BLOCK localebox %]
[% IF test %] [% testidflag = "_$test.testid" %]
[% IF testcase %] [% testidflag = "_$testcase.testcase_id" %]
[% ELSE %] [% testidflag = "" %][% END %]
[% IF defaultbranch %]
[% valuelist = defaultlocale.list.join(',') %]
@ -118,11 +119,11 @@
[% # testgroup drowndown box
# default (optional) - the default selection
# (can be either a single object or a list)
# testid (optional) - the current testid. If given,
# the selname will be testgroup_testid
# testcase_id (optional) - the current testcase_id. If given,
# the selname will be testgroup_testcase_id
%]
[% BLOCK testgroupbox %]
[% IF test %] [% testidflag = "_$test.testid" %]
[% IF testcase %] [% testidflag = "_$testcase.testcase_id" %]
[% ELSE %] [% testidflag = "" %][% END %]
[% IF default %]
[% valuelist = default.list.join(',') %]
@ -132,7 +133,7 @@
value="[%default FILTER html%]">
[% END %]
<select name="testgroup[%testidflag FILTER html%]" id="testgroup[%testidflag FILTER html%]"
onchange="changeTestgroup([%test.testid FILTER js%])"
onchange="changeTestgroup([%testcase.testcase_id FILTER js%])"
class="select_testgroup">
</select>
[% END %]
@ -140,11 +141,11 @@
[% # subgroup drowndown box
# default (optional) - the default selection
# (can be either a single object or a list)
# testid (optional) - the current testid. If given,
# the selname will be subgroup_testid
# testcase_id (optional) - the current testcase_id. If given,
# the selname will be subgroup_testcase_id
%]
[% BLOCK subgroupbox %]
[% IF test %] [% testidflag = "_$test.testid" %]
[% IF testcase %] [% testidflag = "_$testcase.testcase_id" %]
[% ELSE %] [% testidflag = "" %][% END %]
[% IF default %]
[% valuelist = default.list.join(',') %]
@ -162,11 +163,11 @@
[% # product dropdown box
# selected (optional) - product for the default selection
# (can be either a single object or a list)
# test (optional) - the current test object. If given,
# the selname will be product_testid
# testcase (optional) - the current testcase object. If given,
# the selname will be product_testcase_id
%]
[% BLOCK productbox %]
[% IF test %] [% testidflag = "_$test.testid" %]
[% IF testcase %] [% testidflag = "_$testcase.testcase_id" %]
[% ELSE %] [% testidflag = "" %][% END %]
[% IF selected %]
[% valuelist = selected.list.join(',') %]
@ -176,7 +177,7 @@
value="[%valuelist FILTER html%]">
[% END %]
<select name="product[%testidflag FILTER html%]" id="product[%testidflag FILTER html%]"
onchange="changeProduct([%test.testid FILTER js%])"
onchange="changeProduct([%testcase.testcase_id FILTER js%])"
class="select_product">
</select>
[% END %]

View File

@ -25,25 +25,33 @@
# ***** END LICENSE BLOCK *****
#%]
[% INCLUDE global/html_header.tmpl js_files=['js/RunTests.js','js/prototype.lite.js','js/moo.fx.js','js/moo.fx.pack.js','js/Navigation.js'] %]
[% INCLUDE global/html_header.tmpl js_files=['js/Help.js'] %]
[% INCLUDE global/litmus_header.tmpl %]
[% staricon="<img class=icon src=\"images/star1.gif\" title=\"This result has comments\" alt=\"*\">" %]
<script type="text/javascript">
var navigationHelpTitle = "Navigation";
var navigationHelpText = '<ul class="instructions"><li>Click on the number in the "result id#" column to see a full listing of the test result, including comments.</li><li>Click on the number at the start of the "testcase id#: summary" column to see a more detailed description of that particular testcase.</li><li>Results marked with the star icon ([% staricon %]) have comments associated with them. Clicking on the star will display the comments in-page.</li></ul>';
</script>
<div id="page">
[% INCLUDE sidebar/sidebar.tmpl %]
<div id="content">
<h1 class="firstHeading">Recent Test Results</h1>
[% INCLUDE reporting/test_results.tmpl show_instructions=1 %]
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td valign="middle"><h1 class="firstHeading">Recent Test Results</h1><td>
<td align="right" valign="middle">&nbsp;&lArr;&nbsp;<a name="showNavigationHelpText" onclick="toggleHelp(navigationHelpTitle,navigationHelpText);">Navigation</a>
</td>
</tr>
</table>
[% INCLUDE reporting/test_results.tmpl %]
</div> <!--END content-->
<script type="text/javascript">
Element.cleanWhitespace('instructions');
nav_init();
</script>
</div> <!--END page-->
[% INCLUDE global/litmus_footer.tmpl %]

View File

@ -29,7 +29,7 @@
<table width="75%" border="0">
<tr>
<th width="5%"><div align="center"><strong>Test #</strong></div>
<th width="5%"><div align="center"><strong>Testcase #</strong></div>
</th>
<th width="4%"><div align="center">Product</div>
</th>
@ -41,15 +41,15 @@
</th>
</tr>
[% FOREACH test=testlist %]
[% FOREACH testcase=testlist %]
<tr>
<td><div align="center">
<a href="show_test.cgi?id=[% test.testid FILTER html | uri %]">[% test.testid FILTER html %]</a>
<a href="show_test.cgi?id=[% testcase.testcase_id FILTER html | uri %]">[% testcase.testcase_id FILTER html %]</a>
</div></td>
<td><div align="center">[% INCLUDE product_to_img product=test.product %]</div></td>
<td><div align="center">[% test.summary FILTER html %]</div></td>
<td><div align="center">[% INCLUDE platformtable test=test %]</div></td>
<td><div align="center">[% test.status.name FILTER html %]</div></td>
<td><div align="center">[% INCLUDE product_to_img product=testcase.product %]</div></td>
<td><div align="center">[% testcase.summary FILTER html %]</div></td>
<td><div align="center">[% INCLUDE platformtable testcase=testcase %]</div></td>
<td><div align="center">[% testcase.status.name FILTER html %]</div></td>
</tr>
[% END %]

View File

@ -31,7 +31,7 @@
# %resultcounts (optional) - a summary of how many results were submitted
# from each status where the key is the result name and the value is
# the number of results submitted.
# @changedlist (optional) - an array of testids that were edited
# @changedlist (optional) - an array of testcase_ids that were edited
# $testgroup (optional) - the group the tests were from
# $return (optional) - a url to return to. the default is to run more tests
# from the current group
@ -93,7 +93,7 @@ Results submitted
[% IF return %]
<a href="[% return | html | uri %]">Go Back</a> or
[% END %]
<a href="run_tests.cgi?product=[% product.productid | html | uri %]&continuetesting=1&defaulttestgroup=[% testgroup.testgroupid | html | uri %]">Run Some More Tests</a>
<a href="run_tests.cgi?product=[% product.productid | html | uri %]&continuetesting=1[% IF testgroup %]&defaulttestgroup=[% testgroup.testgroup_id | html | uri %][% END %]">Run Some More Tests</a>
</p>
</div> <!--END section-content-->

View File

@ -75,7 +75,7 @@ Limit your search to specific values of visible fields.
[% END %]
<tr>
<td class="heading">Testcase ID#:</td>
<td>[% INCLUDE form_widgets/select_test_id.tmpl name="test_id" placeholder=1 %]</td>
<td>[% INCLUDE form_widgets/select_testcase_id.tmpl name="testcase_id" placeholder=1 %]</td>
</tr>
<tr>
<td class="heading">Testgroup:</td>

View File

@ -38,11 +38,11 @@
[% FOREACH result=results %]
<tr class="[% status | html %]">
<td align="center">
<a href="search_results.cgi?order_by_created=DESC&amp;result_status=[% status | uri | html %]&amp;test_id=[% result.test_id | uri | html %]">
<a href="search_results.cgi?order_by_created=DESC&amp;result_status=[% status | uri | html %]&amp;testcase_id=[% result.testcase_id | uri | html %]">
[% result.num_results | html %]</a>
</td>
<td align="center"><a href="show_test.cgi?id=[% result.test_id | uri | html %]">
[% result.test_id | html %]</a></td>
<td align="center"><a href="show_test.cgi?id=[% result.testcase_id | uri | html %]">
[% result.testcase_id | html %]</a></td>
<td align="left">[% result.summary | html %]</td>
<td align="center"><a href="single_result.cgi?id=[% result.max_id | uri | html %]">
[% result.most_recent | html %]</a></td>

View File

@ -36,11 +36,11 @@ Summary Information
<td width="20%">Status:</td><td>[% result.result.name | html %]</td>
</tr>
<tr class="even">
<td>Test Summary:</td><td>[% result.testid.summary | html %]</td>
<td>Test Summary:</td><td>[% result.testcase.summary | html %]</td>
</tr>
<tr class="odd">
<td>Testcase ID#:</td><td><a href="show_test.cgi?id=[% result.test_id | uri | html%]">
[% result.test_id | html %]</a></td>
<td>Testcase ID#:</td><td><a href="show_test.cgi?id=[% result.testcase_id | uri | html%]">
[% result.testcase_id | html %]</a></td>
</tr>
<tr class="even">
<td>Submitted on:</td><td>[% result.submission_time | html %]</td>
@ -68,16 +68,16 @@ Product and Platform
<table class="single-result">
<tr class="odd">
<td width="20%">Product:</td><td>
[% result.testid.subgroup.testgroup.product.name | html %]</td>
[% result.testcase.product.name | html %]</td>
</tr>
<tr class="even">
<td>Platform:</td><td>[% result.platform.name | html %]</td>
<td>Platform:</td><td>[% result.opsys.platform.name | html %]</td>
</tr>
<tr class="odd">
<td>Operating System:</td><td>[% result.opsys.name | html %]</td>
</tr>
<tr class="even">
<td>Build ID:</td><td>[% result.buildid | html %]</td>
<td>Build ID:</td><td>[% result.build_id | html %]</td>
</tr>
<tr class="odd">
<td>Locale:</td><td>[% result.locale_abbrev.name | html %] ([% result.locale_abbrev | html %])</td>

View File

@ -25,7 +25,7 @@
# ***** END LICENSE BLOCK *****
#%]
[% icon="<img class=icon src='images/star1.gif' title='This result has comments' alt='*'>" %]
[% staricon="<img class='icon' src='images/star1.gif' title='This result has comments' alt='*'>" %]
[% IF results %]
<script type="text/javascript" src="js/Comments.js"></script>
@ -33,25 +33,12 @@
var comments = new Array();
[% subscript=0 %]
[% FOREACH result=results %]
comments[[% subscript | js %]] = "[% IF result.comments %][% FOREACH comment=result.comments %][% IF loop.count>1 %]<hr/>[% END %]<p class='comment'><b>[% IF show_admin %]<a href=\"mailto:[% comment.user.email | html | email | uri %]\">[% END %][% comment.user.getDisplayName | html | js | email %][% IF show_admin %]</a>[% END %]<br/>[% comment.submission_time.strftime("%Y-%m-%d&nbsp;%T %Z") %]</b><br/>[% icon | none %]&nbsp;[% comment.comment | js | html %]<br/></p>[% END %][% END %]";
comments[[% subscript | js %]] = "[% IF result.comments %][% FOREACH comment=result.comments %][% IF loop.count>1 %]<hr/>[% END %]<p class='comment'><b>[% IF show_admin %]<a href=\"mailto:[% comment.user.email | html | email | uri %]\">[% END %][% comment.user.getDisplayName | html | js | email %][% IF show_admin %]</a>[% END %]<br/>[% comment.submission_time.strftime("%Y-%m-%d&nbsp;%T&nbsp;%Z") %]</b><br/>[% staricon | none %]&nbsp;[% comment.comment | js | html %]<br/></p>[% END %][% END %]";
[% subscript=subscript+1 %]
[% END %]
</script>
[% END %]
[% IF show_instructions==1 %]
<div class="section">
<div class="section-header">
<a onclick="myHeight.toggle();" name="#navigation">Navigation&nbsp;&raquo;</a>
</div>
<div id="instructions" class="instructions">
[% INCLUDE instructions/test_result_navigation.tmpl %]
</div>
</div>
[% END %]
<table class="test-results">
<tr>
<td colspan="2" class="header">Submission Date</td>
@ -79,11 +66,11 @@
[% result.testresult_id | html %]</a><br/>
[% IF result.comments %]
<a href="" onclick="return comment(event,[% subscript | js | html %],'');">
[% icon | none%]</a>
[% staricon | none%]</a>
[% END %]
</td>
<td align="left"><a href="show_test.cgi?id=[% result.test_id | html | uri %]">
[% result.test_id | html %]</a>: [% result.summary | html %]</td>
<td align="left"><a href="show_test.cgi?id=[% result.testcase_id | html | uri %]">
[% result.testcase_id | html %]</a>: [% result.summary | html %]</td>
[% IF show_admin==1 %]<td align="center">[% result.email | html | uri | email %]</td>[% END %]
<td align="center">[% result.test_group_name | html %]</td>
<td align="center">[% result.product_name | html %]</td>

View File

@ -61,10 +61,10 @@ function checkSearchForm(f)
<td class="search"></td>
<td class="search"><select name="order_by_test_id">
<td class="search"><select name="order_by_testcase_id">
<option value="">-Sort-</option>
<option[% IF order_bys.test_id == 'ASC' %] selected[% END %] value="ASC">A->Z</option>
<option[% IF order_bys.test_id == 'DESC' %] selected[% END %] value="DESC">Z->A</option>
<option[% IF order_bys.testcase_id == 'ASC' %] selected[% END %] value="ASC">A->Z</option>
<option[% IF order_bys.testcase_id == 'DESC' %] selected[% END %] value="DESC">Z->A</option>
</select></td>
[% colspan=7 %]

View File

@ -31,7 +31,7 @@
# %resultcounts (optional) - a summary of how many results were submitted
# from each status where the key is the result name and the value is
# the number of results submitted.
# @changedlist (optional) - an array of testids that were edited
# @changedlist (optional) - an array of testcase_ids that were edited
# $testgroup (optional) - the group the tests were from
# $return (optional) - a url to return to. the default is to run more tests
# from the current group

View File

@ -36,9 +36,14 @@
[% onload = "$onload; showsubgroup();" %]
[% INCLUDE global/html_header.tmpl js_files=['js/prototype.lite.js','js/moo.fx.js','js/moo.fx.pack.js','js/SubGroup.js','js/SelectBoxes.js','js/RunTests.js'] %]
[% INCLUDE global/html_header.tmpl js_files=['js/prototype.lite.js','js/moo.fx.js','js/moo.fx.pack.js','js/SubGroup.js','js/SelectBoxes.js','js/RunTests.js','js/Help.js'] %]
[% INCLUDE global/litmus_header.tmpl %]
<script type="text/javascript">
var percentagesHelpTitle = 'Percentages explained';
var percentagesHelpText = '<p>The testing coverage percentages are based on Platform (Windows, Mac, Linux) and Build ID. Since the Build ID is datestamp-based, this should mean that there are always some tests that need running if you update to the latest nightly build.</p><p>While we appreciate all testing efforts, it is more helpful if you select a testing group or subgroup for testing that does not already have complete testing coverage by the community.</p><p>If there are problems with an existing test result that you have submitted (e.g. invalid status), please add a comment to the test result in question.</p>';
</script>
<div id="page">
[% INCLUDE sidebar/sidebar.tmpl %]
@ -47,49 +52,7 @@
<h1 class="firstHeading">[% title | html %]</h1>
<div class="section-full">
<div class="section-header">
<a onclick="testConfigHeight.toggle();" name="#testconfig">Testing Configuration&nbsp;&raquo;</a>
</div>
<div id="testconfig" class="summary">
<table class="test-config">
<tr>
<td>
<div class="dh">Product:</div><div class="dv">[% sysconfig.product.name FILTER html %]</div>
<div class="dh">Locale:</div><div class="dv">[% sysconfig.locale.name FILTER html %] ([% sysconfig.locale.abbrev FILTER html %])</div>
</td>
<td>
<div class="dh">Platform:</div><div class="dv">[% sysconfig.platform.name FILTER html %]</div>
<div class="dh">Opsys:</div><div class="dv">[% sysconfig.opsys.name FILTER html %]</div>
</td>
<td>
<div class="dh">Branch:</div><div class="dv">[% sysconfig.branch.name FILTER html %]</div>
<div class="dh">Build ID:</div><div class="dv">[% sysconfig.buildid FILTER html %]</div>
</td>
</tr>
<tr>
<td colspan="3">
<div class="t_link"><a href="run_tests.cgi">Change Configuration</a></div>
</td>
</tr>
</table>
</div> <!--END sum-->
</div>
<div class="section-full">
<div class="section-header">
<a onclick="percentagesHeight.toggle();" name="#percentages">Percentages Explained&nbsp;&raquo;</a>
</div>
<div id="percentages" class="instructions">
[% INCLUDE instructions/percentages_explained.tmpl %]
</div>
</div>
[% INCLUDE runtests/testing_config.tmpl sysconfig=sysconfig %]
<div class="section-full">
<div class="section-header">
@ -99,6 +62,9 @@ Select Testing Group
<form action="run_tests.cgi" method="post" name="form" id="form">
<p>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<table class="run-tests">
<tr>
@ -107,15 +73,15 @@ Select Testing Group
<th>Community Testing Coverage</th>
</tr>
[% IF defaultgroup.testgroupid=="" %]
[% IF defaultgroup.testgroup_id=="" %]
[% select_first_avail_group=1 %]
[% ELSE %]
[% select_first_avail_group=0 %]
[% END %]
[% FOREACH curgroup = groups %]
[% community_completed = curgroup.community_coverage(sysconfig.platform, sysconfig.buildid, sysconfig.locale, 0) %]
[% personal_completed = curgroup.personal_coverage(sysconfig.platform, sysconfig.buildid, sysconfig.locale, 0, user) %]
[% community_completed = curgroup.coverage(sysconfig.platform, sysconfig.build_id, sysconfig.locale, 0) %]
[% personal_completed = curgroup.coverage(sysconfig.platform, sysconfig.build_id, sysconfig.locale, 0, user) %]
[% IF community_completed == 100 OR completed == 'N/A' %]
[% groupstyle = 'completegroup' %]
@ -126,12 +92,12 @@ Select Testing Group
[% groupstyle = 'odd' %]
[% END %]
[% END %]
<tr class="[% groupstyle | none %]">
[% IF personal_completed != 100 AND
personal_completed != 'N/A' AND
(defaultgroup.testgroupid==curgroup.testgroupid OR
(defaultgroup.testgroup_id==curgroup.testgroup_id OR
select_first_avail_group==1) %]
[% selected = "checked" %]
[% select_first_avail_group=0 %]
@ -139,7 +105,7 @@ Select Testing Group
[% selected = "" %]
[% END %]
<td><input [% IF personal_completed == 'N/A' %]disabled [% END %] type="radio" name="group" value="[% curgroup.testgroupid FILTER html %]"
<td><input [% IF personal_completed == 'N/A' %]disabled [% END %] type="radio" name="group" value="[% curgroup.testgroup_id FILTER html %]"
onchange="showsubgroup()" [% selected | none %]>
[% curgroup.name FILTER html %]</td>
<td align="center">[% personal_completed FILTER html %][% IF personal_completed != 'N/A' %]%[% END %]</td>
@ -149,6 +115,13 @@ Select Testing Group
</table>
</td>
<td style="padding-left: 1em;">&lArr; <a name="showPercentagesHelpText" onclick="toggleHelp(percentagesHelpTitle,percentagesHelpText);">Percentages explained</a></td>
</tr>
</table>
</p>
</div> <!--END section-content-->
@ -177,13 +150,16 @@ Please select a testing group with testcases, or that has not yet been tested in
[% FOREACH curgroup = subgroups.keys %]
[% cursubgrouplist = subgroups.$curgroup %]
<div id="divsubgroup_[% curgroup FILTER html %]" style="display: none;">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<table class="run-tests">
[% headerrow | none %]
[% select_first_avail_subgroup=1 %]
[% FOREACH cursubgroup = cursubgrouplist %]
[% community_completed = cursubgroup.community_coverage(sysconfig.platform, sysconfig.buildid, sysconfig.locale, 0) %]
[% personal_completed = cursubgroup.personal_coverage(sysconfig.platform, sysconfig.buildid, sysconfig.locale, 0, user) %]
[% community_completed = cursubgroup.coverage(sysconfig.platform, sysconfig.build_id, sysconfig.locale, 0) %]
[% personal_completed = cursubgroup.coverage(sysconfig.platform, sysconfig.build_id, sysconfig.locale, 0, user) %]
[% IF community_completed == 100 OR completed == 'N/A' %]
[% groupstyle = 'completegroup' %]
@ -195,21 +171,25 @@ Please select a testing group with testcases, or that has not yet been tested in
[% END %]
[% END %]
[% counttests = cursubgroup.tests('enabled',1) %]
[% counttests = cursubgroup.search_NumEnabledTestcases(cursubgroup.subgroup_id) %]
<tr class="[% groupstyle | none %]">
<td align="left"><input [% IF ! counttests %]disabled [% ELSIF select_first_avail_subgroup==1 %][% select_first_avail_subgroup=0 %]checked [% END %]type="radio" name="subgroup_[% curgroup FILTER html %]"
<td align="left"><input [% IF ! counttests.num_testcases %]disabled [% ELSIF select_first_avail_subgroup==1 %][% select_first_avail_subgroup=0 %]checked [% END %]type="radio" name="subgroup_[% curgroup FILTER html %]"
value="[% cursubgroup.id FILTER html %]">
[% cursubgroup.name FILTER html %]</input></td>
<td align="center">
[% IF ! counttests %] 0
[% ELSIF ! counttests.testid %][% counttests.list.size %]
[% ELSE %]
1[% END %]</td>
<td align="center">[% IF ! counttests.num_testcases %] 0 [% ELSE %] [% counttests.num_testcases %] [% END %]</td>
<td align="center">[% personal_completed FILTER html %][% IF personal_completed != 'N/A' %]%[% END %]</td>
<td align="center">[% community_completed FILTER html %][% IF community_completed != 'N/A' %]%[% END %]</td>
</tr>
[% END %]
</table>
</td>
<td style="padding-left: 1em;">&lArr; <a name="showPercentagesHelpText" onclick="toggleHelp(percentagesHelpTitle,percentagesHelpText);">Percentages explained</a></td>
</tr>
</table>
</div>
[% END %]
<br>
@ -230,7 +210,6 @@ Please select a testing group with testcases, or that has not yet been tested in
<script type="text/javascript">
Element.cleanWhitespace('testconfig');
Element.cleanWhitespace('percentages');
group_init();
</script>

View File

@ -50,7 +50,7 @@
<script type="text/javascript">
function checkFormContents(f) {
return (
checkBuildId(f.buildid)
checkBuildId(f.build_id)
);
}
@ -66,15 +66,6 @@ try {
// Cascade to the next lookup method.
}
if (appBuildID == '0000000000') {
var ua = navigator.userAgent;
var cap = ua.match(/rv:([\d.ab+]+).*Gecko\/(\d{8,8}) ([\S]+)\/([\d.]+)/);
if (cap && cap.length == 5) {
appBuildID = cap[2] + '00';
}
}
var buildIDHelpTitle = 'How do I determine the build ID?';
var buildIDHelpText = '<p>The build ID is a 10-digit number that identifies a Mozilla product build down to the date and hour of the build. By supplying the full, correct build ID, you will be making the job of the Mozilla QA team <em>much</em> easier. There are several different ways to determine the build ID of the build you are testing.</p><ol><li><b>Manually</b>: Provided you have installed Talkback, this is the fail-safe method, and allows you to submit the build ID for products other than the one currently being used to submit the results. The Mozilla Quality Assurance wiki has instructions on <a target="external_link_from_litmus" href="http://wiki.mozilla.org/MozillaQualityAssurance:Build_Ids">how to manually verify the build ID</a>.</li><li><b>Nightly Tester Tools</b>: Available for both Firefox and Thunderbird, the Nightly Tester Tools extension adds a number of useful features for testing Mozilla products. This includes a handy display of the build ID of the running build in the title bar. You can download this extension from <a target="external_link_from_litmus" href="https://addons.mozilla.org/search.php?q=Nightly+Tester+Tools">addons.mozilla.org</a>.</li><li><b>Automatic detection</b>: Litmus has JavaScript code built-in to automatically detect the build ID of the current build, but it relies on <a target="external_link_from_litmus" href="http://www.mozilla.org/projects/security/components/signed-scripts.html#codebase">JavaScript codebase principals</a> to do so. To enable codebase principals, testers must add this line to the prefs.js file in their Mozilla user profile dir, or simply edit the pref directly in <a target="external_link_from_litmus" href="http://kb.mozillazine.org/About:config">about:config</a>:<br/><br/><b><code>user_pref("signed.applets.codebase_principal_support", true);</code></b><br/><br/><b>NOTE</b>: this will only be useful if you are submitting results for the currently running version of Firefox. If you are concerned about the security issues of enabling codebase support, you can <a target="external_link_from_litmus" href="http://www.mozilla.org/projects/security/components/signed-scripts.html#codebase">read more about codebase principals here</a>.</li></ol>';
@ -157,9 +148,9 @@ System Information
</tr>
<tr>
<td><div align="right">Build ID:</div></td>
<td><input type="text" id="buildid" name="buildid" size="25" value="">
<td><input type="text" id="build_id" name="build_id" size="25" value="">
<script type="text/javascript">
var em = document.getElementById("buildid");
var em = document.getElementById("build_id");
em.value = appBuildID;
</script>
</td>

View File

@ -31,7 +31,6 @@
# $group - selected group to test
# $subgroup - selected subgroup to test
# @tests - an array of test objects to run
# @results - the list of all possible test results
#%]
[% INCLUDE global/html_header.tmpl js_files=['js/prototype.lite.js','js/moo.fx.js','js/moo.fx.pack.js','js/RunTests.js'] %]
@ -45,52 +44,20 @@
<h1 class="firstHeading">[% title | html %]</h1>
<div class="section-full">
<div class="section-header">
<a onclick="testConfigHeight.toggle();" name="#testconfig">Testing Configuration&nbsp;&raquo;</a>
</div>
<div id="testconfig" class="summary">
<table class="test-config">
<tr>
<td>
<div class="dh">Product:</div><div class="dv">[% sysconfig.product.name FILTER html %]</div>
<div class="dh">Locale:</div><div class="dv">[% sysconfig.locale.name FILTER html %] ([% sysconfig.locale.abbrev FILTER html %])</div>
</td>
<td>
<div class="dh">Platform:</div><div class="dv">[% sysconfig.platform.name FILTER html %]</div>
<div class="dh">Opsys:</div><div class="dv">[% sysconfig.opsys.name FILTER html %]</div>
</td>
<td>
<div class="dh">Branch:</div><div class="dv">[% sysconfig.branch.name FILTER html %]</div>
<div class="dh">Build ID:</div><div class="dv">[% sysconfig.buildid FILTER html %]</div>
</td>
</tr>
<tr>
<td colspan="3">
<div class="t_link"><a href="run_tests.cgi">Change Configuration</a></div>
</td>
</tr>
</table>
</div> <!--END sum-->
</div>
[% INCLUDE runtests/testing_config.tmpl sysconfig=sysconfig %]
<form action="process_test.cgi" method="post" name="form" id="form">
<input name="isTestResult" type="hidden" value="true" />
<input name="editingTestcases" id="editingTestcases" type="hidden" value="" />
<input name="testgroup" type="hidden" value="[% tests.list.0.testgroup.testgroupid FILTER html %]" />
<input name="testgroup" type="hidden" value="[% group.testgroup_id FILTER html %]" />
<div class="section-full">
<div class="sec_head">
<table cellspacing="0" cellpadding="0">
<tr>
<td class="l">Testcases - <a href="run_tests.cgi?product=[% sysconfig.product.productid %]&amp;defaulttestgroup=[% tests.list.0.testgroup.testgroupid %]&amp;continuetesting=1" title="Click here to return to the Test Group selection page">[% tests.list.0.testgroup.name | html %]</a>: [% tests.list.0.subgroup.name | html %]</td>
<td class="l">Testcases - <a href="run_tests.cgi?product=[% sysconfig.product.productid %]&amp;defaulttestgroup=[% group.testgroup_id %]&amp;continuetesting=1" title="Click here to return to the Test Group selection page">[% group.name | html %]</a>: [% subgroup.name | html %]</td>
<td class="r">
<div class="nav"><a id="top_all" href="#" onclick="allStretch.showAll('height'); return false;">Show All</a></div>
<div class="nav"><a id="top_all" href="#" onclick="allStretch.showAll('height'); return false;">Show All</a>&nbsp;/&nbsp;<a id="top_all" href="#" onclick="allStretch.hideAll('height'); return false;">Hide All</a></div>
</td>
</tr>
</table>
@ -98,14 +65,14 @@
<br/>
[% first_test_id=0 %]
[% first_testcase_id=0 %]
[% num_testcases=0 %]
[% separators=[] %]
[% test_ids=[] %]
[% testcase_ids=[] %]
[% i=1 %]
[% FOREACH curtest=tests %]
[% IF first_test_id==0 %]
[% first_test_id=curtest.testid %]
[% IF first_testcase_id==0 %]
[% first_testcase_id=curtest.testcase_id %]
[% END %]
[% IF num_testcases!=0 %]
@ -115,26 +82,26 @@
[% END %]
[% num_testcases=num_testcases+1 %]
[% test_ids.push(curtest.testid) %]
[% testcase_ids.push(curtest.testcase_id) %]
<!-- Test [% i %] Start -->
[% results=curtest.is_completed(sysconfig.platform,sysconfig.buildid,sysconfig.locale,defaultemail) %]
[% results=curtest.is_completed(sysconfig.platform,sysconfig.build_id,sysconfig.locale,defaultemail) %]
[% IF results %][% testcase_class="testcase-completed" %][% ELSE %][% testcase_class="testcase" %][% END %]
<div class="[% testcase_class %]" id="t[% i %]">
<div class="testcase-head">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="l"><a name="test_[% i %]" onclick="allStretch.showThisHideOpen(document.getElementById('t[% i %]-content'), 100, 'height');">[% loop.count %]: [% curtest.summary | html %]&nbsp;&raquo;</a></td>
<td class="l"><a name="test_[% i %]" onclick="allStretch.toggle(document.getElementById('t[% i %]-content'), 'height');">[% loop.count %]: [% curtest.summary | html %]&nbsp;&raquo;</a></td>
<td class="r">[% IF results %]<a title="You have already submitted a result for this testcase." target="test_results" href="single_result.cgi?id=[% results.0.testresult_id %]"><img align="absmiddle" src="images/confirm.png" border="0" /></a>&nbsp;[% END %]
<a title="Testcase ID#: [% curtest.testid | html %]" href="show_test.cgi?id=[% curtest.testid | uri | html %]">View&nbsp;/&nbsp;Edit</a></td>
<a title="Testcase ID#: [% curtest.testcase_id | html %]" href="show_test.cgi?id=[% curtest.testcase_id | uri | html %]">View&nbsp;/&nbsp;Edit</a></td>
</tr>
</table>
</div> <!--END testcase-head-->
<div id="t[% i %]-content" class="testcase-content">
[% INCLUDE test/test.html.tmpl test=curtest showedit=0 %]
[% INCLUDE test/test.html.tmpl testcase=curtest showedit=0 %]
</div>
@ -147,10 +114,10 @@
<script language="JavaScript" type="text/JavaScript">
var tmp_pagepos=1;
var tmp_pagetotal=[% num_testcases | js | html %];
var tmp_tests=new Array([% i=1 %][% FOREACH test_id=test_ids %][% IF i>1 %],[% END %]"t[% i %]"[% i=i+1 %][% END %]);
var tmp_tests=new Array([% i=1 %][% FOREACH testcase_id=testcase_ids %][% IF i>1 %],[% END %]"t[% i %]"[% i=i+1 %][% END %]);
var tmp_separ=new Array([% i=1 %][% FOREACH separator=separators %][% IF i>1 %],[% END %]"[% separator | none %]"[% i=i+1 %][% END %]);
var tmp_menua=new Array([% i=1 %][% FOREACH test_id=test_ids %]"ma[% i %]",[% i=i+1 %][% END %]"mf");
var tmp_menub=new Array([% i=1 %][% FOREACH test_id=test_ids %]"mb[% i %]",[% i=i+1 %][% END %]"ml");
var tmp_menua=new Array([% i=1 %][% FOREACH testcase_id=testcase_ids %]"ma[% i %]",[% i=i+1 %][% END %]"mf");
var tmp_menub=new Array([% i=1 %][% FOREACH testcase_id=testcase_ids %]"mb[% i %]",[% i=i+1 %][% END %]"ml");
</script>
<div class="sec_head">

View File

@ -0,0 +1,32 @@
<div class="section-full">
<div class="section-header">
<a onclick="testConfigHeight.toggle();" name="#testconfig">Testing Configuration&nbsp;&raquo;</a>
</div>
<div id="testconfig" class="summary">
<table class="test-config">
<tr>
<td>
<div class="dh">Product:</div><div class="dv">[% sysconfig.product.name FILTER html %]</div>
<div class="dh">Locale:</div><div class="dv">[% sysconfig.locale.name FILTER html %] ([% sysconfig.locale.abbrev FILTER html %])</div>
</td>
<td>
<div class="dh">Platform:</div><div class="dv">[% sysconfig.platform.name FILTER html %]</div>
<div class="dh">Opsys:</div><div class="dv">[% sysconfig.opsys.name FILTER html %]</div>
</td>
<td>
<div class="dh">Branch:</div><div class="dv">[% sysconfig.branch.name FILTER html %]</div>
<div class="dh">Build ID:</div><div class="dv">[% sysconfig.build_id FILTER html %]</div>
</td>
</tr>
<tr>
<td colspan="3">
<div class="t_link"><a href="run_tests.cgi">Change Configuration</a></div>
</td>
</tr>
</table>
</div> <!--END sum-->
</div>

View File

@ -0,0 +1,122 @@
[%# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Litmus.
#
# The Initial Developer of the Original Code is
# The Mozilla Corporation.
# Portions created by the Initial Developer are Copyright (C) 2006
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Chris Cooper <ccooper@deadsquid.com>
# Zach Lipton <zach@zachlipton.com>
#
# ***** END LICENSE BLOCK *****
#%]
[%# INTERFACE:
# no interface for this template
#%]
[% title="View Testcase" %]
[% INCLUDE global/html_header.tmpl %]
[% INCLUDE global/litmus_header.tmpl %]
<script type="text/javascript">
function init()
{
FormInit(document.forms['search_by_testcase_id'], document.location.search);
FormInit(document.forms['search_fulltext'], document.location.search);
}
</script>
<div id="page">
[% INCLUDE sidebar/sidebar.tmpl %]
<div id="content">
<h1 class="firstHeading">[% title | html %]</h1>
<div class="section-full">
<div class="section-header">
Search by Testcase ID #
</div>
<div class="section-content">
<form action="show_test.cgi" method="get" name="search_by_testcase_id" id="search_by_testcase_id">
<table border="0" celpadding="5" cellspacing="5">
<tr>
<td>Testcase ID#:</td><td><input type="text" id="id" name="id" size="25" /></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" value="Submit"></td>
</tr>
</table>
</form>
</div>
<div class="or">OR</div>
<div class="section-header">
Full-text Search
</div>
<div class="section-content">
<form action="show_test.cgi" method="get" name="search_fulltext" id="search_fulltext">
<table border="0" celpadding="5" cellspacing="5">
<tr>
<td>String to match:</td><td><input type="text" id="text_snippet" name="text_snippet" size="25" /></td>
</tr>
<tr>
<td># of Matches:</td><td><input type="text" name="match_limit" id="match_limit" value="[% default_match_limit %]" size="5" /></td>
</tr>
<tr>
<td>Minimum Relevance Score:</td><td><input type="text" name="relevance_threshold" id="relevance_threshold" value="[% default_relevance_threshold %]" size="5" /></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" value="Submit"></td>
</tr>
</table>
</form>
</div>
</div>
[% IF testcases %]
<h1 class="firstHeading">Matching Testcases[% IF search_string_for_display %] - [% search_string_for_display | html %][% END %]</h1>
<div class="section-full">
<div class="section-content">
[% INCLUDE show/testcase_list.tmpl %]
</div>
</div>
[% END %]
</div> <!--END content-->
</div> <!--END page-->
[% INCLUDE global/litmus_footer.tmpl %]
[% INCLUDE global/html_footer.tmpl %]

View File

@ -26,19 +26,24 @@
#%]
[%# INTERFACE:
# $test - the test object to display
# @results - the list of all possible test results
# $testcase - the testcase object to display
# $showallresults (optional) - if true, then all test results
# will be shown
#
# @testgroups - a list of testgroups to which the current testcase belongs
# @subgroups - a list of subgroups to which the current testcase belongs
#%]
[% PROCESS global/selects.none.tmpl %]
[% title="Testcase ID #$test.testid - $test.summary" %]
[% IF testcase.community_enabled OR show_admin %]
[% title="Testcase ID #$testcase.testcase_id - $testcase.summary" %]
[% ELSE %]
[% title="Testcase disabled" %]
[% END %]
[% includeselects=1 %]
[% INCLUDE global/html_header.tmpl js_files=['js/EditTests.js', 'js/SelectBoxes.js', 'js/FormValidation.js'] %]
[% INCLUDE global/html_header.tmpl js_files=['js/prototype.lite.js','js/moo.fx.js','js/moo.fx.pack.js','js/EditTests.js', 'js/SelectBoxes.js', 'js/FormValidation.js'] %]
[% INCLUDE global/litmus_header.tmpl %]
<div id="page">
@ -49,21 +54,38 @@
<h1 class="firstHeading">[% title | html %]</h1>
[% IF ! testcase.community_enabled AND ! show_admin %]
<div class="section-full">
<div class="section-content">
<span class="errorHeading">This testcase is not currently enabled.</span>
</div>
</div>
[% ELSE %]
<div class="section-full">
<div class="section-content">
<form action="process_test.cgi" method="post" name="form" id="show_test_form">
<input name="isTestResult" type="hidden" value="true">
<input name="editingTestcases" id="editingTestcases" type="hidden" value="">
<input name="return" type="hidden" value="show_test.cgi?id=[% test.testid | html %]">
<input name="id" type="hidden" value="[% test.testid | html %]">
<input name="return" type="hidden" value="show_test.cgi?id=[% testcase.testcase_id | html %]">
<input name="id" type="hidden" value="[% testcase.testcase_id | html %]">
<div class="testcase-content">
[% INCLUDE test/test.html.tmpl test=test results=results showedit=show_admin show_config=1 %]
[% INCLUDE test/test.html.tmpl testcase=testcase results=results showedit=show_admin show_config=1 sysconfig=sysconfig %]
</div>
</div>
</div>
[% IF sysconfig %]
[% INCLUDE runtests/testing_config.tmpl sysconfig=sysconfig %]
<script type="text/javascript">
Element.cleanWhitespace('testconfig');
tc_init();
</script>
[% END %]
<h1 class="firstHeading">Recent Test Results for [% title | html %]</h1>
@ -72,6 +94,7 @@
</div>
</div>
[% END %]
</div> <!--END content-->

View File

@ -0,0 +1,58 @@
[%# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Litmus.
#
# The Initial Developer of the Original Code is
# The Mozilla Corporation.
# Portions created by the Initial Developer are Copyright (C) 2006
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Chris Cooper <ccooper@deadsquid.com>
# Zach Lipton <zach@zachlipton.com>
#
# ***** END LICENSE BLOCK *****
#%]
[%# INTERFACE:
# @testcases - a spartan list of testcase to display
#%]
<table class="testcases">
<tr>
<th width="5%">Relevance</th>
<th width="5%">Testcase ID#</th>
<td class="headerleft">Name</td>
</tr>
[% IF testcases.size==0 %]
<tr>
<td class="no-results" colspan="3">No matching testcases were found.</td>
</tr>
[% ELSE %]
[% FOREACH testcase=testcases %]
[% IF not (loop.count % 2) %]
[% rowstyle = 'even' %]
[% ELSE %]
[% rowstyle = 'odd' %]
[% END %]
<tr class="[% rowstyle %]">
<td align="center">[% testcase.relevance | html | format('%.2f') %]</td>
<td align="center"><a href="show_test.cgi?id=[% testcase.testcase_id | html | uri %]">[% testcase.testcase_id | html %]</a></td>
<td align="left">[% testcase.summary | html %]</td>
</tr>
[% END %]
[% END %]
</table>

View File

@ -3,15 +3,13 @@
<div>
<h3>Admin</h3>
<ul>
<li>Add Test Case</li>
<li>Edit Test Case</li>
<li>Create Testlist</li>
<li>Edit Testlist</li>
<li>Create Test Run</li>
<li>Edit Test Run</li>
<li>Manange Test Runs</li>
<hr/>
<li><a href="edit_categories.cgi">Edit Categories</a></li>
<li>Edit Groups</li>
<li>Manage Testcases</li>
<li>Manage Subgroups</li>
<li>Manage Testgroups</li>
<hr/>
<li>Manage Categories</li>
<li>Manage Users</li>
</ul>
</div>

View File

@ -4,13 +4,13 @@
<ul>
[% order_num=1 %]
[% FOREACH curtest=tests %]
[% results=curtest.is_completed(sysconfig.platform,sysconfig.buildid,sysconfig.locale,defaultemail) %]
[% results=curtest.is_completed(sysconfig.platform,sysconfig.build_id,sysconfig.locale,defaultemail) %]
<li class="tcs" id="li[% order_num %]"><a id="a[% order_num %]" href="#" onclick="allStretch.showThisHideOpen($('t[% order_num %]-content'), 100, 'height'); return false;">[% order_num %]. [% IF results %]<strike>[% END %][% curtest.summary | html %][% IF results %]</strike>[% END %]</a>
</li>
[% order_num=order_num+1 %]
[% END %]
<hr/>
<li class="tcs" id="li_all"><a id="a_all" href="#" onclick="allStretch.showAll('height'); return false;">show all</a>
<li class="tcs" id="li_all"><a id="a_show_all" href="#" onclick="allStretch.showAll('height'); return false;">Show all</a>&nbsp;/&nbsp;<a id="a_hide_all" href="#" onclick="allStretch.hideAll('height'); return false;">Hide all</a></li>
</ul>
</div>
</div>

View File

@ -53,6 +53,8 @@ General Statistics
<div class="section-content">
<ul>
<li>Testcases - [% numtests FILTER html %] testcases</li>
<li>Subgroups - [% numsubgroups FILTER html %] subgroups</li>
<li>Testgroups - [% numtestgroups FILTER html %] test groups</li>
<li>Users - [% numusers FILTER html %] users</li>
<li>Results - [% numresults FILTER html %] results</li>
</ul>
@ -64,7 +66,6 @@ General Statistics
<br/>
<!--
<div class="section-full">
<div class="section-header">
Top Testers
@ -82,11 +83,8 @@ Top Testers
<tr [% IF not (loop.count % 2) %]class="even"[% ELSE %]class="odd"[% END %]>
<td align="center">[% loop.count %]</td>
<td align="center">
[% IF curtester.email %]
<a href="mailto:[% curtester.email | html | uri | email %]">
[% curtester.getDisplayName | html | email %]</a>
[% ELSE %]Anonymous[% END %]</td>
<td align="center">[% curtester.numtests | html %]</td>
[% IF show_admin %]<a href="mailto:[% curtester.email | html | uri | email %]">[% END %][% curtester.getDisplayName | html | email %][% IF show_admin %]</a>[% END %]</td>
<td align="center">[% curtester.num_results | html %]</td>
</tr>
[% END %]
[% ELSE %]
@ -97,7 +95,6 @@ Top Testers
</table>
</div>
</div> <!--END section-full-->
-->
</div> <!--END content-->

View File

@ -26,8 +26,8 @@
#%]
[%# INTERFACE:
# $test - the testcase object to show
# @results - the list of all possible test results
# $testcase - the testcase object to show
#
# $showedit (optional) - include UI to edit the testcase?
# for this to work, you must include the
# required scripts in the head
@ -42,40 +42,39 @@
<tr>
<td width="20%"><b>Product:</b></td>
<td>
[% IF showedit %]<div id="product_edit_[% test.testid | html %]" style="display: none;">[% INCLUDE productbox test=test selected=test.product %]<input type="hidden" name="product_initial_[% test.testid | html %]" value="[% test.product.productid | html %]"></div>[% END %]
<div id="product_text_[% test.testid | html %]">[% test.product.name | html %]</div>
[% IF showedit %]<div id="product_edit_[% testcase.testcase_id | html %]" style="display: none;">[% INCLUDE productbox testcase=testcase selected=testcase.product %]<input type="hidden" name="product_initial_[% testcase.testcase_id | html %]" value="[% testcase.product.product_id | html %]"></div>[% END %]
<div id="product_text_[% testcase.testcase_id | html %]">[% testcase.product.name | html %]</div>
</td>
[% IF showedit %]
<td align="right" valign="top" colspan="5">
<a id="editlink_[%test.testid | html %]" href="#editing" onclick="showEdit('[% test.testid | js %]')"> Edit Testcase</a>
<a id="canceleditlink_[%test.testid | html%]" style="display: none;" href="#editing" onclick="cancelEdit('[% test.testid | js %]')"> Cancel Edit</a>
<a id="editlink_[%testcase.testcase_id | html %]" href="#editing" onclick="showEdit('[% testcase.testcase_id | js %]')"> Edit Testcase</a>
<a id="canceleditlink_[%testcase.testcase_id | html%]" style="display: none;" href="#editing" onclick="cancelEdit('[% testcase.testcase_id | js %]')"> Cancel Edit</a>
</td>
[% END %]
</tr>
<tr>
<td><b>Test Group:</b></td>
<td><b>Test Group(s):</b></td>
<td>
[% IF showedit %]<div id="testgroup_edit_[% test.testid | html %]" style="display: none;">[% INCLUDE testgroupbox product=test.product testid=test.testid default=test.testgroup%]</div>[% END %]
<div id="testgroup_text_[% test.testid | html %]">[% test.testgroup.name | html %]</div></td>
<div id="testgroups_[% testcase.testcase_id | html %]">[% IF testgroups.size==0 %]<span class="errorHeading">This testcase does not belong to any testgroups that are currently enabled.</span>[% ELSE %][% FOREACH testgroup=testgroups %][% testgroup.name | html %][% UNLESS loop.last %], [% END %][% END %][% END %]</div>
</td>
</tr>
<tr>
<td><b>Subgroup:</b></td>
<td><b>Subgroup(s):</b></td>
<td>
[% IF showedit %]<div id="subgroup_edit_[% test.testid | html %]" style="display: none;">[% INCLUDE subgroupbox product=test.product test=test default=test.subgroup%]</div>[% END %]
<div id="subgroup_text_[% test.testid | html %]">[% test.subgroup.name | html %]</div>
<div id="subgroups_[% testcase.testcase_id | html %]">[% IF subgroups.size==0 %]<span class="errorHeading">This testcase does not belong to any subgroups that are currently enabled.</span>[% ELSE %][% FOREACH subgroup=subgroups %][% subgroup.name | html %][% UNLESS loop.last %], [% END %][% END %][% END %]</div>
</td>
</tr>
<tr>
<td><b>Testcase ID #:</b></td>
<td>[% test.testid | html %]</td>
<td>[% testcase.testcase_id | html %]</td>
</tr>
<tr>
<td><b>Summary:</b></td>
<td><div id="summary_edit_[%test.testid | html%]" style="display: none;"><input name="summary_edit_[%test.testid | html%]"
id="summary_edit_[%test.testid | html%]"
value="[% test.summary | html %]"
<td><div id="summary_edit_[%testcase.testcase_id | html%]" style="display: none;"><input name="summary_edit_[%testcase.testcase_id | html%]"
id="summary_edit_[%testcase.testcase_id | html%]"
value="[% testcase.summary | html %]"
size="35"/></div>
<div id="summary_text_[%test.testid | html%]">[% test.summary | html %]</div>
<div id="summary_text_[%testcase.testcase_id | html%]">[% testcase.summary | html %]</div>
</td>
</tr>
</table>
@ -86,48 +85,50 @@
<table cellspacing="0" cellpadding="0" class="tcm">
<tr>
<td width="50%" class="content"><div class="dh">Steps to Perform:</div>
<div class="dv" id ="steps_text_[%test.testid | html%]">[% test.steps %]</div>
<div class="dv" id ="steps_text_[%testcase.testcase_id | html%]">[% testcase.steps %]</div>
[% IF showedit %]
<div class="dv" id="steps_edit_[%test.testid | html%]" style="display: none;">
<textarea name="steps_edit_[%test.testid | html%]"
id="steps_edit_[%test.testid | html%]"
rows="15" cols="40">[% test.steps | testdata %]</textarea></div>
<div class="dv" id="steps_edit_[%testcase.testcase_id | html%]" style="display: none;">
<textarea name="steps_edit_[%testcase.testcase_id | html%]"
id="steps_edit_[%testcase.testcase_id | html%]"
rows="15" cols="40">[% testcase.steps | testdata %]</textarea></div>
[% END %]
</td>
<td width="50%" class="content"><div class="dh">Expected Results:</div>
<div class="dv" id="results_text_[%test.testid | html%]">[% test.expected_results %]</div>
<div class="dv" id="results_text_[%testcase.testcase_id | html%]">[% testcase.expected_results %]</div>
[% IF showedit %]
<div class="dv" id="results_edit_[%test.testid | html%]" style="display: none;">
<textarea name="results_edit_[%test.testid | html%]"
id="results_edit_[%test.testid | html%]"
rows="15" cols="40">[% test.expected_results | testdata %]</textarea></div>
<div class="dv" id="results_edit_[%testcase.testcase_id | html%]" style="display: none;">
<textarea name="results_edit_[%testcase.testcase_id | html%]"
id="results_edit_[%testcase.testcase_id | html%]"
rows="15" cols="40">[% testcase.expected_results | testdata %]</textarea></div>
[% END %]
</td>
</tr>
[% IF defaultemail %]
[% IF defaultemail AND sysconfig %]
<!-- Only allow the user to submit a single result if they are already
logged in _AND_ have a sysconfig cookie for the current product. -->
<tr>
<td class="content" colspan="2">
<div id="admin_text_[%test.testid | html%]">
<div id="admin_text_[%testcase.testcase_id | html%]">
<table cellspacing="0" cellpadding="0" class="tcmf">
<tr>
<td width="210px">
<div class="dh">Result:</div>
[% INCLUDE form_widgets/radio_testresults.tmpl test_id=test.testid %]
[% INCLUDE form_widgets/radio_testresults.tmpl testcase_id=testcase.testcase_id %]
<br/>
<div><input class="button" type="submit" id="Submit[% test.testid | html %]" name="Submit[% test.testid | html %]" value="Submit This Result" onClick="return confirmPartialSubmission()"/>
<div><input class="button" type="submit" id="Submit[% testcase.testcase_id | html %]" name="Submit[% testcase.testcase_id | html %]" value="Submit This Result" onClick="return confirmPartialSubmission()"/>
</div>
</td>
<td>
<div class="dh">Notes/Comments (optional):</div>
<div class="dv">
<textarea name="comment_[% test.testid | html %]"
cols="45" rows="4" id="note_[% test.testid | html %]"></textarea></div>
<textarea name="comment_[% testcase.testcase_id | html %]"
cols="45" rows="4" id="note_[% testcase.testcase_id | html %]"></textarea></div>
<div class="dh">Associated Bug #s:</div>
<div class="dv"><input type="text" name="bugs_[% test.testid | html %]"
<div class="dv"><input type="text" name="bugs_[% testcase.testcase_id | html %]"
class="result_bug" /> (bug #,bug #,...)</div>
</td>
</tr>
@ -137,67 +138,67 @@
</div>
[% IF showedit %]
<div id="admin_edit_[%test.testid | html%]" style="display: none;">
<div id="admin_edit_[%testcase.testcase_id | html%]" style="display: none;">
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td><b>Enabled?</b></td>
<td>[% IF test.enabled %][% checked = "checked" %][% END %]
<input name="enabled_[%test.testid | html%]"
<td>[% IF testcase.enabled %][% checked = "checked" %][% END %]
<input name="enabled_[%testcase.testcase_id | html%]"
type="checkbox"
id="enabled_[%test.testid | html%]"
id="enabled_[%testcase.testcase_id | html%]"
value="1" [% checked %]>
</td>
<td>Uncheck this to completely disable this testcase.</td>
</tr>
<tr>
<td><b>Community Enabled?</b></td>
<td>[% IF test.communityenabled %][% checked = "checked" %][% END %]
<input name="communityenabled_[%test.testid | html%]"
<td>[% IF testcase.communityenabled %][% checked = "checked" %][% END %]
<input name="communityenabled_[%testcase.testcase_id | html%]"
type="checkbox"
id="communityenabled_[%test.testid | html%]"
id="communityenabled_[%testcase.testcase_id | html%]"
value="1" [% checked %]>
</td>
<td>Uncheck this to disable this testcase for the community-at-large.<br/>Note: trusted testers will stlil be able to see and run this testcase.</td>
</tr>
<tr>
<td><b>Regression Bug ID#</b>:</td>
<td><input name="regression_bug_id_[%test.testid | html%]"
<td><input name="regression_bug_id_[%testcase.testcase_id | html%]"
type="text"
id="regression_bug_id_[%test.testid | html%]"
value="[%test.regression_bug_id | html%]">
id="regression_bug_id_[%testcase.testcase_id | html%]"
value="[%testcase.regression_bug_id | html%]">
</td>
</tr>
<tr>
<td><b>Sort Order</b>:</td>
<td><input name="sort_order_[%test.testid | html%]"
<td><input name="sort_order_[%testcase.testcase_id | html%]"
type="text"
id="sort_order_[%test.testid | html%]"
value="[%test.sort_order | html%]">
id="sort_order_[%testcase.testcase_id | html%]"
value="[%testcase.sort_order | html%]">
</td>
</tr>
<tr>
<td><b>Author</b>:</td>
<td>[% test.author.getDisplayName %]</td>
<td>[% testcase.author.getDisplayName %]</td>
</tr>
<tr>
<td><b>Creation Date</b>:</td>
<td>[% test.creation_date %]</td>
<td>[% testcase.creation_date %]</td>
</tr>
<tr>
<td><b>Last Updated</b>:</td>
<td>[% test.last_updated %]</td>
<td>[% testcase.last_updated %]</td>
</tr>
<tr>
<td><b>Litmus Version</b>:</td>
<td>[% test.version %]</td>
<td>[% testcase.version %]</td>
</tr>
<tr>
<td><b>Testrunner Case ID#</b>:</td>
<td>[% test.testrunner_case_id %]</td>
<td>[% testcase.testrunner_case_id %]</td>
</tr>
<tr>
<td><b>Testrunner Case Version</b>:</td>
<td>[% test.testrunner_case_version %]</td>
<td>[% testcase.testrunner_case_version %]</td>
</tr>
<tr>
<td colspan="2"><input class="button" type="submit" id="submit_edit_testcase" name="submit_edit_testcase" onClick="findEdited()" value="Submit These Edits"/></div>
@ -209,6 +210,5 @@
</td>
</tr>
[% END %]
[% END %]
</table>

View File

@ -154,8 +154,8 @@
<tr>
<td>
<div align="right">
<a href="show_test.cgi?id=[%curtest.testid | uri | html %]">
[% curtest.testid FILTER html %]
<a href="show_test.cgi?id=[%curtest.testcase_id | uri | html %]">
[% curtest.testcase_id FILTER html %]
</a>
</div>
</td>