-
Notifications
You must be signed in to change notification settings - Fork 2
/
test.php
60 lines (50 loc) · 1.14 KB
/
test.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
/*
Copyright (c) 2009-2012 F3::Factory/Bong Cosca, All rights reserved.
This file is part of the Fat-Free Framework (http://fatfree.sf.net).
THE SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
PURPOSE.
Please see the license.txt file for more information.
*/
//! Unit test kit
class Test {
private
//! Test results
$data=array();
/**
Return test results
@return array
**/
function results() {
return $this->data;
}
/**
Evaluate condition and save test result
@return NULL
@param $cond bool
@param $text string
**/
function expect($cond,$text=NULL) {
$out=(bool)$cond;
foreach (debug_backtrace() as $frame)
if (isset($frame['file'])) {
$this->data[]=array(
'status'=>$out,
'text'=>$text,
'source'=>Base::instance()->
fixslashes($frame['file']).':'.$frame['line']
);
break;
}
}
/**
Push message to test results
@return NULL
@param $text string
**/
function message($text) {
$this->expect(TRUE,$text);
}
}