Completed
Push — master ( fd0a0f...c04e20 )
by Kenji
15s queued 12s
created

CIPHPUnitTestLogger::resetLogs()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * Part of ci-phpunit-test
4
 *
5
 * @author     Kenji Suzuki <https://github.com/kenjis>
6
 * @license    MIT License
7
 * @copyright  2020 Kenji Suzuki
8
 * @link       https://github.com/kenjis/ci-phpunit-test
9
 */
10
11
class CIPHPUnitTestLogger
12
{
13
	/**
14
	 * @var array
15
	 */
16
	private static $logs = [];
17
18
	private function __construct()
19
	{
20
	}
21
22
//	/**
23
//	 * @return array
24
//	 */
25
//	public static function getLogs()
26
//	{
27
//		return self::$logs;
28
//	}
29
30
	public static function resetLogs()
31
	{
32
		self::$logs = [];
33
	}
34
35
	/**
36
	 * @param string $level
37
	 * @param string $message
38
	 */
39
	public static function log($level, $message)
40
	{
41
		$trace = debug_backtrace();
42
		$file  = null;
43
44
		foreach ($trace as $row)
45
		{
46
			if (in_array($row['function'], ['log_message']))
47
			{
48
				$file = self::cleanFileNames($row['file'] ? $row['file'] : '');
49
				break;
50
			}
51
		}
52
53
		self::$logs[] = [
54
			'level' => $level,
55
			'message' => $message,
56
			'file' => $file,
57
		];
58
	}
59
60
	/**
61
	 * @param string $level
62
	 * @param string $message
63
	 *
64
	 * @return bool
65
	 */
66
	public static function didLog($level, $message)
67
	{
68
		foreach (self::$logs as $log) {
69
			if (strtolower($log['level']) === strtolower($level) && $message === $log['message']) {
70
				return true;
71
			}
72
		}
73
74
		return false;
75
	}
76
77
	/**
78
	 * @param string $file
79
	 *
80
	 * @return string
81
	 */
82
	private static function cleanFileNames($file)
83
	{
84
		$file = str_replace(APPPATH, 'APPPATH/', $file);
85
		$file = str_replace(BASEPATH, 'BASEPATH/', $file);
86
87
		return str_replace(FCPATH, 'FCPATH/', $file);
88
	}
89
}
90