Skip to content

Commit a07ad20

Browse files
Refactor.
1 parent 8195ff4 commit a07ad20

32 files changed

+206
-184
lines changed

PHP/CodeCoverage/Autoload.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,10 @@ function php_codecoverage_autoload($class) {
6161
'php_codecoverage_report_clover' => '/CodeCoverage/Report/Clover.php',
6262
'php_codecoverage_report_factory' => '/CodeCoverage/Report/Factory.php',
6363
'php_codecoverage_report_html' => '/CodeCoverage/Report/HTML.php',
64-
'php_codecoverage_report_html_dashboard' => '/CodeCoverage/Report/HTML/Dashboard.php',
65-
'php_codecoverage_report_html_directory' => '/CodeCoverage/Report/HTML/Directory.php',
66-
'php_codecoverage_report_html_file' => '/CodeCoverage/Report/HTML/File.php',
64+
'php_codecoverage_report_html_renderer' => '/CodeCoverage/Report/HTML/Renderer.php',
65+
'php_codecoverage_report_html_renderer_dashboard' => '/CodeCoverage/Report/HTML/Renderer/Dashboard.php',
66+
'php_codecoverage_report_html_renderer_directory' => '/CodeCoverage/Report/HTML/Renderer/Directory.php',
67+
'php_codecoverage_report_html_renderer_file' => '/CodeCoverage/Report/HTML/Renderer/File.php',
6768
'php_codecoverage_report_node' => '/CodeCoverage/Report/Node.php',
6869
'php_codecoverage_report_node_directory' => '/CodeCoverage/Report/Node/Directory.php',
6970
'php_codecoverage_report_node_file' => '/CodeCoverage/Report/Node/File.php',

PHP/CodeCoverage/Report/HTML.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,11 +113,12 @@ public function __construct($title = '', $charset = 'UTF-8', $yui = TRUE, $highl
113113
$this->yui = $yui;
114114

115115
$this->templatePath = sprintf(
116-
'%s%sHTML%sTemplate%s',
116+
'%s%sHTML%sRenderer%sTemplate%s',
117117

118118
dirname(__FILE__),
119119
DIRECTORY_SEPARATOR,
120120
DIRECTORY_SEPARATOR,
121+
DIRECTORY_SEPARATOR,
121122
DIRECTORY_SEPARATOR
122123
);
123124
}
@@ -134,11 +135,11 @@ public function process(PHP_CodeCoverage $coverage, $target)
134135

135136
$date = date('D M j G:i:s T Y', $_SERVER['REQUEST_TIME']);
136137

137-
$dashboard = new PHP_CodeCoverage_Report_HTML_Dashboard(
138+
$dashboard = new PHP_CodeCoverage_Report_HTML_Renderer_Dashboard(
138139
$this->templatePath, $this->charset, $this->generator, $date
139140
);
140141

141-
$directory = new PHP_CodeCoverage_Report_HTML_Directory(
142+
$directory = new PHP_CodeCoverage_Report_HTML_Renderer_Directory(
142143
$this->templatePath,
143144
$this->charset,
144145
$this->generator,
@@ -147,7 +148,7 @@ public function process(PHP_CodeCoverage $coverage, $target)
147148
$this->highLowerBound
148149
);
149150

150-
$file = new PHP_CodeCoverage_Report_HTML_File(
151+
$file = new PHP_CodeCoverage_Report_HTML_Renderer_File(
151152
$this->templatePath,
152153
$this->charset,
153154
$this->generator,
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
<?php
2+
/**
3+
* PHP_CodeCoverage
4+
*
5+
* Copyright (c) 2009-2011, Sebastian Bergmann <[email protected]>.
6+
* All rights reserved.
7+
*
8+
* Redistribution and use in source and binary forms, with or without
9+
* modification, are permitted provided that the following conditions
10+
* are met:
11+
*
12+
* * Redistributions of source code must retain the above copyright
13+
* notice, this list of conditions and the following disclaimer.
14+
*
15+
* * Redistributions in binary form must reproduce the above copyright
16+
* notice, this list of conditions and the following disclaimer in
17+
* the documentation and/or other materials provided with the
18+
* distribution.
19+
*
20+
* * Neither the name of Sebastian Bergmann nor the names of his
21+
* contributors may be used to endorse or promote products derived
22+
* from this software without specific prior written permission.
23+
*
24+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
27+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
28+
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
29+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
30+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
31+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
32+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
34+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35+
* POSSIBILITY OF SUCH DAMAGE.
36+
*
37+
* @category PHP
38+
* @package CodeCoverage
39+
* @author Sebastian Bergmann <[email protected]>
40+
* @copyright 2009-2011 Sebastian Bergmann <[email protected]>
41+
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
42+
* @link http://github.com/sebastianbergmann/php-code-coverage
43+
* @since File available since Release 1.1.0
44+
*/
45+
46+
/**
47+
* Base class for PHP_CodeCoverage_Report_Node renderers.
48+
*
49+
* @category PHP
50+
* @package CodeCoverage
51+
* @author Sebastian Bergmann <[email protected]>
52+
* @copyright 2009-2011 Sebastian Bergmann <[email protected]>
53+
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
54+
* @version Release: @package_version@
55+
* @link http://github.com/sebastianbergmann/php-code-coverage
56+
* @since Class available since Release 1.1.0
57+
*/
58+
abstract class PHP_CodeCoverage_Report_HTML_Renderer
59+
{
60+
/**
61+
* @var string
62+
*/
63+
protected $templatePath;
64+
65+
/**
66+
* @var string
67+
*/
68+
protected $charset;
69+
70+
/**
71+
* @var string
72+
*/
73+
protected $generator;
74+
75+
/**
76+
* @var string
77+
*/
78+
protected $date;
79+
80+
/**
81+
* Constructor.
82+
*
83+
* @param string $templatePath
84+
* @param string $charset
85+
* @param string $generator
86+
* @param string $date
87+
*/
88+
public function __construct($templatePath, $charset, $generator, $date)
89+
{
90+
$this->templatePath = $templatePath;
91+
$this->charset = $charset;
92+
$this->generator = $generator;
93+
$this->date = $date;
94+
}
95+
96+
/**
97+
* @param Text_Template $template
98+
*/
99+
protected function setCommonTemplateVariables(Text_Template $template, $title)
100+
{
101+
$template->setVar(
102+
array(
103+
'title' => $title,
104+
'charset' => $this->charset,
105+
'date' => $this->date,
106+
'version' => '@package_version@',
107+
'php_version' => PHP_VERSION,
108+
'generator' => $this->generator
109+
)
110+
);
111+
}
112+
}

PHP/CodeCoverage/Report/HTML/Dashboard.php renamed to PHP/CodeCoverage/Report/HTML/Renderer/Dashboard.php

Lines changed: 8 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -55,44 +55,8 @@
5555
* @link http://github.com/sebastianbergmann/php-code-coverage
5656
* @since Class available since Release 1.1.0
5757
*/
58-
class PHP_CodeCoverage_Report_HTML_Dashboard
58+
class PHP_CodeCoverage_Report_HTML_Renderer_Dashboard extends PHP_CodeCoverage_Report_HTML_Renderer
5959
{
60-
/**
61-
* @var string
62-
*/
63-
protected $templatePath;
64-
65-
/**
66-
* @var string
67-
*/
68-
protected $charset;
69-
70-
/**
71-
* @var string
72-
*/
73-
protected $generator;
74-
75-
/**
76-
* @var string
77-
*/
78-
protected $date;
79-
80-
/**
81-
* Constructor.
82-
*
83-
* @param string $templatePath
84-
* @param string $charset
85-
* @param string $generator
86-
* @param string $date
87-
*/
88-
public function __construct($templatePath, $charset, $generator, $date)
89-
{
90-
$this->templatePath = $templatePath;
91-
$this->charset = $charset;
92-
$this->generator = $generator;
93-
$this->date = $date;
94-
}
95-
9660
/**
9761
* @param PHP_CodeCoverage_Report_Node_Directory $node
9862
* @param string $file
@@ -109,19 +73,15 @@ public function render(PHP_CodeCoverage_Report_Node_Directory $node, $file, $tit
10973
$this->templatePath . 'dashboard.html'
11074
);
11175

76+
$this->setCommonTemplateVariables($template, $title);
77+
11278
$template->setVar(
11379
array(
114-
'title' => $title,
115-
'charset' => $this->charset,
116-
'date' => $this->date,
117-
'version' => '@package_version@',
118-
'php_version' => PHP_VERSION,
119-
'generator' => $this->generator,
120-
'least_tested_methods' => $this->leastTestedMethods($classes),
121-
'top_project_risks' => $this->topProjectRisks($classes),
122-
'cc_values' => $this->classComplexity($classes),
123-
'ccd_values' => $this->classCoverageDistribution($classes),
124-
'backlink' => basename(str_replace('.dashboard', '', $file))
80+
'least_tested_methods' => $this->leastTestedMethods($classes),
81+
'top_project_risks' => $this->topProjectRisks($classes),
82+
'cc_values' => $this->classComplexity($classes),
83+
'ccd_values' => $this->classCoverageDistribution($classes),
84+
'backlink' => basename(str_replace('.dashboard', '', $file))
12585
)
12686
);
12787

PHP/CodeCoverage/Report/HTML/Directory.php renamed to PHP/CodeCoverage/Report/HTML/Renderer/Directory.php

Lines changed: 6 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -55,28 +55,8 @@
5555
* @link http://github.com/sebastianbergmann/php-code-coverage
5656
* @since Class available since Release 1.1.0
5757
*/
58-
class PHP_CodeCoverage_Report_HTML_Directory
58+
class PHP_CodeCoverage_Report_HTML_Renderer_Directory extends PHP_CodeCoverage_Report_HTML_Renderer
5959
{
60-
/**
61-
* @var string
62-
*/
63-
protected $templatePath;
64-
65-
/**
66-
* @var string
67-
*/
68-
protected $charset;
69-
70-
/**
71-
* @var string
72-
*/
73-
protected $generator;
74-
75-
/**
76-
* @var string
77-
*/
78-
protected $date;
79-
8060
/**
8161
* @var integer
8262
*/
@@ -99,10 +79,8 @@ class PHP_CodeCoverage_Report_HTML_Directory
9979
*/
10080
public function __construct($templatePath, $charset, $generator, $date, $lowUpperBound, $highLowerBound)
10181
{
102-
$this->templatePath = $templatePath;
103-
$this->charset = $charset;
104-
$this->generator = $generator;
105-
$this->date = $date;
82+
parent::__construct($templatePath, $charset, $generator, $date);
83+
10684
$this->lowUpperBound = $lowUpperBound;
10785
$this->highLowerBound = $highLowerBound;
10886
}
@@ -120,16 +98,12 @@ public function render(PHP_CodeCoverage_Report_Node_Directory $node, $file, $tit
12098

12199
$template = new Text_Template($this->templatePath . 'directory.html');
122100

101+
$this->setCommonTemplateVariables($template, $title);
102+
123103
$template->setVar(
124104
array(
125-
'title' => $title,
126-
'charset' => $this->charset,
127105
'low_upper_bound' => $this->lowUpperBound,
128-
'high_lower_bound' => $this->highLowerBound,
129-
'date' => $this->date,
130-
'version' => '@package_version@',
131-
'php_version' => PHP_VERSION,
132-
'generator' => $this->generator
106+
'high_lower_bound' => $this->highLowerBound
133107
)
134108
);
135109

PHP/CodeCoverage/Report/HTML/File.php renamed to PHP/CodeCoverage/Report/HTML/Renderer/File.php

Lines changed: 4 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -55,28 +55,8 @@
5555
* @link http://github.com/sebastianbergmann/php-code-coverage
5656
* @since Class available since Release 1.1.0
5757
*/
58-
class PHP_CodeCoverage_Report_HTML_File
58+
class PHP_CodeCoverage_Report_HTML_Renderer_File extends PHP_CodeCoverage_Report_HTML_Renderer
5959
{
60-
/**
61-
* @var string
62-
*/
63-
protected $templatePath;
64-
65-
/**
66-
* @var string
67-
*/
68-
protected $charset;
69-
70-
/**
71-
* @var string
72-
*/
73-
protected $generator;
74-
75-
/**
76-
* @var string
77-
*/
78-
protected $date;
79-
8060
/**
8161
* @var integer
8262
*/
@@ -111,10 +91,8 @@ class PHP_CodeCoverage_Report_HTML_File
11191
*/
11292
public function __construct($templatePath, $charset, $generator, $date, $lowUpperBound, $highLowerBound, $highlight, $yui)
11393
{
114-
$this->templatePath = $templatePath;
115-
$this->charset = $charset;
116-
$this->generator = $generator;
117-
$this->date = $date;
94+
parent::__construct($templatePath, $charset, $generator, $date);
95+
11896
$this->lowUpperBound = $lowUpperBound;
11997
$this->highLowerBound = $highLowerBound;
12098
$this->highlight = $highlight;
@@ -140,16 +118,7 @@ public function render(PHP_CodeCoverage_Report_Node_File $node, $file, $title =
140118
);
141119
}
142120

143-
$template->setVar(
144-
array(
145-
'title' => $title,
146-
'charset' => $this->charset,
147-
'date' => $this->date,
148-
'version' => '@package_version@',
149-
'php_version' => PHP_VERSION,
150-
'generator' => $this->generator
151-
)
152-
);
121+
$this->setCommonTemplateVariables($template, $title);
153122

154123
$template->renderTo($file);
155124
}

0 commit comments

Comments
 (0)