mirror of
https://github.com/WhatCD/Gazelle.git
synced 2024-12-13 10:56:26 +00:00
175 lines
4.1 KiB
PHP
175 lines
4.1 KiB
PHP
<?
|
|
|
|
class TestingView {
|
|
/**
|
|
* Render the linkbox
|
|
*/
|
|
public static function render_linkbox($Page) { ?>
|
|
<div class="linkbox">
|
|
<? if ($Page != "classes") { ?>
|
|
<a href="testing.php" class="brackets">Classes</a>
|
|
<? }
|
|
if ($Page != "comments") { ?>
|
|
<a href="testing.php?action=comments" class="brackets">Comments</a>
|
|
<? } ?>
|
|
</div>
|
|
<? }
|
|
|
|
/**
|
|
* Render a list of classes
|
|
*/
|
|
public static function render_classes($Classes) { ?>
|
|
<table>
|
|
<tr class="colhead">
|
|
<td>
|
|
Class
|
|
</td>
|
|
<td>
|
|
Testable functions
|
|
</td>
|
|
</tr>
|
|
<? foreach($Classes as $Key => $Value) {
|
|
$Doc = Testing::get_class_comment($Key);
|
|
$Methods = count(Testing::get_testable_methods($Key));
|
|
?>
|
|
<tr>
|
|
<td>
|
|
<a href="testing.php?action=class&name=<?=$Key?>" class="tooltip" title="<?=$Doc?>"><?=$Key?></a>
|
|
</td>
|
|
<td>
|
|
<?=$Methods?>
|
|
</td>
|
|
</tr>
|
|
<? } ?>
|
|
</table>
|
|
<? }
|
|
|
|
/**
|
|
* Render functions in a class
|
|
*/
|
|
public static function render_functions($Methods) {
|
|
foreach($Methods as $Index => $Method) {
|
|
$ClassName = $Method->getDeclaringClass()->getName();
|
|
$MethodName = $Method->getName();
|
|
?>
|
|
<div class="box box2">
|
|
<div class="head">
|
|
<span><?=self::render_method_definition($Method)?></span>
|
|
<span style="float: right;">
|
|
<a href="#" class="brackets" onclick="$('#method_params_<?=$Index?>').gtoggle(); return false;">Params</a>
|
|
<a href="#" class="brackets run" data-gazelle-id="<?=$Index?>" data-gazelle-class="<?=$ClassName?>" data-gazelle-method="<?=$MethodName?>">Run</a>
|
|
</span>
|
|
</div>
|
|
<div class="pad hidden" id="method_params_<?=$Index?>">
|
|
<?self::render_method_params($Method);?>
|
|
</div>
|
|
<div class="pad hidden" id="method_results_<?=$Index?>">
|
|
</div>
|
|
</div>
|
|
<? }
|
|
}
|
|
|
|
/**
|
|
* Render method parameters
|
|
*/
|
|
private static function render_method_params($Method) { ?>
|
|
<table>
|
|
<? foreach($Method->getParameters() as $Parameter) {
|
|
$DefaultValue = $Parameter->isDefaultValueAvailable() ? $Parameter->getDefaultValue() : "";
|
|
?>
|
|
<tr>
|
|
<td class="label">
|
|
<?=$Parameter->getName()?>
|
|
</td>
|
|
<td>
|
|
<input type="text" name="<?=$Parameter->getName()?>" value="<?=$DefaultValue?>"/>
|
|
</td>
|
|
</tr>
|
|
<? } ?>
|
|
</table>
|
|
<? }
|
|
|
|
/**
|
|
* Render the method definition
|
|
*/
|
|
private static function render_method_definition($Method) {
|
|
$Title = "<span class='tooltip' title='" . Testing::get_method_comment($Method) . "'>" . $Method->getName() . "</span> (";
|
|
foreach($Method->getParameters() as $Parameter) {
|
|
$Color = "red";
|
|
if ($Parameter->isDefaultValueAvailable()) {
|
|
$Color = "green";
|
|
}
|
|
$Title .= "<span style='color: $Color'>";
|
|
$Title .= "$" . $Parameter->getName();
|
|
if ($Parameter->isDefaultValueAvailable()) {
|
|
$Title .= " = " . $Parameter->getDefaultValue();
|
|
}
|
|
$Title .= "</span>";
|
|
$Title .= ", ";
|
|
|
|
}
|
|
$Title = rtrim($Title, ", ");
|
|
$Title .= ")";
|
|
return $Title;
|
|
}
|
|
|
|
/**
|
|
* Renders class documentation stats
|
|
*/
|
|
public static function render_missing_documentation($Classes) { ?>
|
|
<table>
|
|
<tr class="colhead">
|
|
<td>
|
|
Class
|
|
</td>
|
|
<td>
|
|
Class documented
|
|
</td>
|
|
<td>
|
|
Undocumented functions
|
|
</td>
|
|
<td>
|
|
Documented functions
|
|
</td>
|
|
</tr>
|
|
<? foreach($Classes as $Key => $Value) {
|
|
$ClassComment = Testing::get_class_comment($Key);
|
|
?>
|
|
<tr>
|
|
<td>
|
|
<?=$Key?>
|
|
</td>
|
|
<td>
|
|
<?=!empty($ClassComment) ? "Yes" : "No"?>
|
|
<td>
|
|
<?=count(Testing::get_undocumented_methods($Key))?>
|
|
</td>
|
|
<td>
|
|
<?=count(Testing::get_documented_methods($Key))?>
|
|
</td>
|
|
</tr>
|
|
<? } ?>
|
|
</table>
|
|
<? }
|
|
|
|
/**
|
|
* Pretty print any data
|
|
*/
|
|
public static function render_results($Data) {
|
|
$Results = '<pre><ul style="list-style-type: none">';
|
|
if (is_array($Data)) {
|
|
foreach ($Data as $Key => $Value){
|
|
if (is_array($Value)){
|
|
$Results .= '<li>' . $Key . ' => ' . self::render_results($Value) . '</li>';
|
|
} else{
|
|
$Results .= '<li>' . $Key . ' => ' . $Value . '</li>';
|
|
}
|
|
}
|
|
} else {
|
|
$Results .= '<li>' . $Data . '</li>';
|
|
}
|
|
$Results .= '</ul></pre>';
|
|
echo $Results;
|
|
}
|
|
|
|
}
|