diff options
author | Bharat Mediratta <bharat@menalto.com> | 2008-11-01 07:55:48 +0000 |
---|---|---|
committer | Bharat Mediratta <bharat@menalto.com> | 2008-11-01 07:55:48 +0000 |
commit | f8b4c669063b49acd658b1d85194632b57350e68 (patch) | |
tree | 5fe90ad082bea167d8fefb9a0ce4b05363063cea /modules/gallery_unit_test/views | |
parent | 146f34dc07c7c47505d8a6e4bdf9e535fcddfbb5 (diff) |
Set up unit test framework. Tweak configuration so that it only runs in
command line mode, and expects to put data into test/var. Create a module
to wrap it that generates a nice text-only view of the output.
Diffstat (limited to 'modules/gallery_unit_test/views')
-rw-r--r-- | modules/gallery_unit_test/views/kohana_unit_test.php | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/modules/gallery_unit_test/views/kohana_unit_test.php b/modules/gallery_unit_test/views/kohana_unit_test.php new file mode 100644 index 00000000..2201245c --- /dev/null +++ b/modules/gallery_unit_test/views/kohana_unit_test.php @@ -0,0 +1,58 @@ +<?php +foreach ($results as $class => $methods) { + echo str_repeat("-", 100), "\n"; + echo $class, "\n"; + echo str_repeat("-", 100), "\n"; + + foreach (array("score", "total", "passed", "failed", "errors") as $key) { + @$totals[$key] += $stats[$class][$key]; + } + + if (empty($methods)) { + echo Kohana::lang("unit_test.no_tests_found"), "\n"; + } else { + foreach ($methods as $method => $result) { + // Hide passed tests from report + if ($result === true AND $hide_passed === true) { + continue; + } + printf("%-40.40s", $method); + if ($result === true) { + echo Kohana::lang("unit_test.passed"), "\n"; + } else if ($result instanceof Kohana_Unit_Test_Exception) { + echo Kohana::lang("unit_test.failed"), "\n"; + echo " ", html::specialchars($result->getMessage()), "\n"; + echo " ", html::specialchars($result->getFile()); + echo " ", "(" . Kohana::lang("unit_test.line") . " " . $result->getLine(), ")\n"; + if ($result->getDebug() !== null) { + echo " ", "(", gettype($result->getDebug()), ") ", + html::specialchars(var_export($result->getDebug(), true)), "\n"; + } + } else if ($result instanceof Exception) { + echo Kohana::lang("unit_test.error"), "\n"; + if ($result->getMessage()) { + echo " ", html::specialchars($result->getMessage()), "\n"; + } + echo " ", html::specialchars($result->getFile()), " (", + Kohana::lang("unit_test.line"), " ", $result->getLine(), ")\n"; + } + } + } + + echo str_repeat("=", 100), "\n"; + printf(">> %s\t%s: %.2f%%\t%s: %d\t%s: %d\t%s: %d\t%s: %d\n", + $class, + Kohana::lang("unit_test.score"), $stats[$class]["score"], + Kohana::lang("unit_test.total"), $stats[$class]["total"], + Kohana::lang("unit_test.passed"), $stats[$class]["passed"], + Kohana::lang("unit_test.failed"), $stats[$class]["failed"], + Kohana::lang("unit_test.errors"), $stats[$class]["errors"]); + echo str_repeat("-", 100), "\n\n\n"; +} + +printf(">> TOTAL\t%s: %.2f%%\t%s: %d\t%s: %d\t%s: %d\t%s: %d\n", + Kohana::lang("unit_test.score"), 100 * ($totals["passed"] / $totals["total"]), + Kohana::lang("unit_test.total"), $totals["total"], + Kohana::lang("unit_test.passed"), $totals["passed"], + Kohana::lang("unit_test.failed"), $totals["failed"], + Kohana::lang("unit_test.errors"), $totals["errors"]); |