From e8e2235cfa2c48d7bd1e1daf757060bda94dfa8e Mon Sep 17 00:00:00 2001 From: Mark Story Date: Sun, 9 May 2010 22:15:20 -0400 Subject: [PATCH] Updating coverage report and tests to include hiding javascript. --- .../cases/libs/html_coverage_report.test.php | 4 +-- .../lib/coverage/html_coverage_report.php | 25 ++++++++++++++++--- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/cake/tests/cases/libs/html_coverage_report.test.php b/cake/tests/cases/libs/html_coverage_report.test.php index d3beb6758b7..68a5d92621d 100644 --- a/cake/tests/cases/libs/html_coverage_report.test.php +++ b/cake/tests/cases/libs/html_coverage_report.test.php @@ -173,8 +173,8 @@ function testGenerateDiff() { ) ); $result = $this->Coverage->generateDiff('myfile.php', $file, $coverage); - $this->assertRegExp('/

myfile\.php Code coverage\: \d+\.?\d*\%<\/h2>/', $result); - $this->assertRegExp('/
/', $result); + $this->assertRegExp('/myfile\.php Code coverage\: \d+\.?\d*\%/', $result); + $this->assertRegExp('/
assertRegExp('/
/', $result);
 		foreach ($file as $i => $line) {
 			$this->assertTrue(strpos($line, $result) !== 0, 'Content is missing ' . $i);
diff --git a/cake/tests/lib/coverage/html_coverage_report.php b/cake/tests/lib/coverage/html_coverage_report.php
index 63d2d0dbab0..2bf406ef2f2 100644
--- a/cake/tests/lib/coverage/html_coverage_report.php
+++ b/cake/tests/lib/coverage/html_coverage_report.php
@@ -84,7 +84,7 @@ public function report() {
 		if (empty($coverageData)) {
 			return '

No files to generate coverage for

'; } - $output = ''; + $output = $this->coverageScript(); foreach ($coverageData as $file => $coverageData) { $fileData = file($file); $output .= $this->generateDiff($file, $fileData, $coverageData); @@ -197,6 +197,21 @@ protected function _paintLine($line, $linenumber, $class) { ); } +/** + * generate some javascript for the coverage report. + * + * @return void + */ + public function coverageScript() { + return << + function coverage_show_hide(selector) { + var element = document.getElementById(selector); + element.style.display = (element.style.display == 'none') ? '' : 'none'; + } + +HTML; + } /** * Generate an HTML snippet for coverage headers @@ -206,8 +221,12 @@ protected function _paintLine($line, $linenumber, $class) { public function coverageHeader($filename, $percent) { $filename = basename($filename); return <<$filename Code coverage: $percent%

-
+

+ + $filename Code coverage: $percent% + +

+