Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/site/app/views/elements/developers/testresults_group.thtml
blob: 96cc2b8a4ed599ae7b21d151dc43b023ba2488ee (plain)
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<?php
/* ***** BEGIN LICENSE BLOCK *****
 * Version: MPL 1.1/GPL 2.0/LGPL 2.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 addons.mozilla.org site.
 *
 * The Initial Developer of the Original Code is
 * The Mozilla Foundation.
 * Portions created by the Initial Developer are Copyright (C) 2009
 * the Initial Developer. All Rights Reserved.
 *
 * Contributor(s):
 *    RJ Walsh <rwalsh@mozilla.com>
 *
 * Alternatively, the contents of this file may be used under the terms of
 * either the GNU General Public License Version 2 or later (the "GPL"), or
 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 * in which case the provisions of the GPL or the LGPL are applicable instead
 * of those above. If you wish to allow use of your version of this file only
 * under the terms of either the GPL or the LGPL, and not to allow others to
 * use your version of this file under the terms of the MPL, indicate your
 * decision by deleting the provisions above and replace them with the notice
 * and other provisions required by the GPL or the LGPL. If you do not delete
 * the provisions above, a recipient may use your version of this file under
 * the terms of any one of the MPL, the GPL or the LGPL.
 *
 * ***** END LICENSE BLOCK ***** */

$group_class = '';
if ($group['counts'][TEST_WARN] == 0 && $group['counts'][TEST_FAIL] == 0) {
    $group_class = 'passed';
} else if ($group['counts'][TEST_FAIL] == 0) {
    $group_class = 'warning';
} else {
    $group_class = 'failed';
}
?>
<div class="test-heading" id="test-group-<?=$file['File']['id']?>-<?=$group['TestGroup']['id']?>">
    <h4 class="<?=$group_class?>">
        <?=sprintf(n___('%s result', '%s results',  count($group['cases'])), $group['TestGroup']['name'])?>
    </h4>
    <a href="#test-summary-<?=$file['File']['id']?>"><?=___('Back to Top')?></a>
</div>
<div id="test-details-<?=$file['File']['id']?>-<?=$group['TestGroup']['id']?>">
<?php if (!empty($group['cases'])) : ?>
    <div class="results-list <?=$group_class?>">
    <?php foreach ($group['cases'] as $case) : ?>
        <h5><?=$case['name']?> [<?=$html->link(___('help', 'devcp_validation_help'), '/pages/validation#help-'.$case['id'])?>]</h5>
        <ul class="test-results">
        <?php $resultNum = 0; ?>
        <?php if (!empty($case['results'])) : ?>
            <?php foreach ($case['results'] as $result) : ?>
                <?
                $resultNum++;
                switch ($result['result']) {
                    case TEST_PASS:
                        $class = 'pass';
                        break;
                    case TEST_WARN:
                        $class = 'warning';
                        break;
                    case TEST_FAIL:
                        $class = 'error';
                        break;
                    default:
                        $class = '';
                }
                ?>
                <li class="<?=$class?>">
                    <?php if ($result['filename'] != '') : ?>
                        <?php if (is_numeric($file['File']['id'])) : ?>
                            <a href="<?=SITE_URL . '/files/browse/' . $file['File']['id'] . '/0/?start=' . $result['filename']?>" target="_blank">
                                <?=$result['filename']?><?=($result['line'] != 0 ? " ({$result['line']})" : '')?>
                            </a> :
                        <?php else: ?>
                            <?=$result['filename']?><?=($result['line'] != 0 ? " ({$result['line']})" : '')?> :
                        <?php endif; ?>
                    <?php endif; ?>
                    <?php if (!empty($result['message'])) : ?>
                        <?=$result['message']?>
                    <?php else: ?>
                        <?=$case['description']?>
                    <?php endif; ?>
                    <?php if (!empty($result['preview'])) : ?>
                        <div class="code">
                            <?php foreach ($result['preview'] as $line => $code) : ?>
                                <div class="line<?=($line==$result['line'] ? ' target' : '')?>"><?=$code?>&nbsp;</div>
                            <?php endforeach; ?>
                        </div>
                    <?php endif; ?>
                </li>
                <?php if ($resultNum == 3 && count($case['results']) > 3) : ?>
                <li class="more">
                    <a href="#" onclick="versions_validate.showMore($(this)); return false;" class="show-more-link"><?=sprintf(n___('Show %1$s more result', 'Show %1$s more results', count($case['results']) - 3), count($case['results']) - 3)?></a>
                </li>
                <div class="hidden-results">
                <?php endif; ?>
            <?php endforeach; ?>
        <?php endif; ?>
        <?php if ($resultNum > 3) : ?>
            </div>
        <?php endif; ?>
        </ul>
    <?php endforeach; ?>
    </div>
    <?php if ($group_class =='passed') : ?>
        <i><?= ___('All tests passed.') ?> <a href="#" onclick="versions_validate.showPasses($(this)); return false;"><?= n___('Show pass', 'Show passes', count($group['cases'])) ?></a></i>
    <?php endif; ?>
<?php else: ?>
    <i><?= ___('No test results found.', 'devcp_versions_validate_no_results') ?></i>
<?php endif; ?>
</div>