/** * Callback function forming a Diagnostics-like output. * @param file * @param line * @param message String with the assertion */ function contractsCallback($file, $line, $message) { // parse the comment in the message if (($position = strpos($message, '//')) !== FALSE) { // get the comment, trim whitespace and capitalize $title = ucfirst(trim(substr($message, $position + 2))); $message = ''; } else { // don't bother and echo the assert statement $title = 'Contract Condition Failed'; $message = "<br />{$message}"; } // cleanup output ob_end_clean(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Contract Condition Failed</title> <style type="text/css"> body{background:#fff;color:#33393c;font:12px/1.5 "Trebuchet MS", "Geneva CE", lucida,sans-serif; margin:0;}#title{background:#222;color:#565656;border-bottom:1px solid #C52F24;margin:0 auto; padding:10px 30px;}#message,.error{background-color:#C52F24;color:#fff;font-weight:700; font-size:100%;margin:0;padding:1px 0;}#message{border-top:1px solid #980905;padding:5px 30px 10px;} h1{margin-bottom:0;font-weight:400;font-size:175%;}#box{background-color:#EEE;border:1px solid #ADAEAF; margin:10px 30px 0;padding:5px;}#file{background-color:#D5E9F6;border:1px solid #8FCDF6; color:#234A69;margin:10px 30px 0;padding:5px;}.code{background-color:#FFF9D8;border:1px solid #FECA51; margin:10px 30px;padding:5px;}i{color:#999;}.num{color:#9E9E7E;font-style:normal;font-weight:400;} a{color:#980905;}table{font:16px/1.5 "Trebuchet MS", "Geneva CE", lucida, sans-serif;font-size:100%;} td{padding-right:20px;}#title b,span.err{color:#FFF;} </style> </head> <body> <div id="title"><b><?php echo FARI; ?> </b> running <b><?php echo APP_VERSION; ?> </b></div> <div id="message"><h1><?php echo $title; ?> </h1><?php echo $message; ?> </div> <div id="file">File: <b><?php echo $file; ?> </b> Line: <b><?php echo $line; ?> </b></div> <?php Fari_ApplicationDiagnostics::showErrorSource($file, $line); ?> </body> </html> <?php }
/** * Show a resulting test report. */ public function report() { // header formatting if ($this->failed === TRUE) { $title = 'Test(s) failed'; $color = '#C52F24'; $line = '#980905'; } else { $title = 'All tests passed'; $color = '#26BF26'; $line = '#059824'; } // HTML output ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Unit Testing</title> <?php Fari_ApplicationDiagnostics::jsToggle(); ?> <style type="text/css"> body{background:#fff;color:#33393c;font:12px/1.5 "Trebuchet MS", "Geneva CE", lucida,sans-serif; margin:0;}#title{background:#222;color:#565656;border-bottom:1px solid <?php echo $color; ?> ; margin:0 auto;padding:10px 30px;}#message{background-color:<?php echo $color; ?> ;font-weight:700; color:#fff;font-size:100%;margin:0;padding:1px 0;}#message{border-top:1px solid <?php echo $line; ?> ; padding:5px 30px 10px;}h1{margin-bottom:0;font-weight:400;font-size:175%;}#box{background-color:#EEE; border:1px solid #ADAEAF;margin:10px 30px 0;padding:5px;}#test{margin:10px 30px 0;padding:5px;background:#F5F5F5; color:#33393C;border:1px solid #CCCDCF;}#test .failed{color:#C52F24;}#test .passed{color:#008800;} i{color:#999;}.num{color:#9E9E7E;font-style:normal;font-weight:400;}a{color:#980905;}td{padding-right:20px;} table{font:16px/1.5 "Trebuchet MS", "Geneva CE", lucida, sans-serif;font-size:100%;}#title b,span.err{color:#FFF;} .code{background-color:#FFF9D8;border:1px solid #FECA51;margin:10px 30px;padding:5px;}.error{background-color:#C52F24; color:#fff;font-weight:700;background-color:#C52F24;font-size:100%;margin:0;padding:1px 0;} </style> </head> <body> <div id="title"><b><?php echo FARI; ?> </b> running <b><?php echo APP_VERSION; ?> </b></div> <div id="message"><h1><?php echo $title; ?> </h1></div> <?php $i = 1; foreach ($this->results as $result) { ?> <div id="test"> <div style="float:right;"> <?php echo '<b>File:</b> ' . $result['trace'][0] . ' <b>Line:</b> ' . $result['trace'][1]; echo ' <a href="" onclick="toggle(\'' . $i . '\');return false;" >source</a>'; ?> </div> <div class="<?php echo $result['result']; ?> "> <?php echo '<b>' . ucfirst($result['result']) . '</b> ' . $result['name']; ?> </div> <?php Fari_ApplicationDiagnostics::showErrorSource($result['trace'][0], $result['trace'][1], 6, $i); $i++; ?> </div> <?php } ?> </body> </html> <?php die; }