mirror of
				https://github.com/brmlab/brmsklad.git
				synced 2025-10-31 00:03:58 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			92 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * CakePHP(tm) Tests <http://book.cakephp.org/2.0/en/development/testing.html>
 | |
|  * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
 | |
|  *
 | |
|  * Licensed under The MIT License
 | |
|  * For full copyright and license information, please see the LICENSE.txt
 | |
|  * Redistributions of files must retain the above copyright notice
 | |
|  *
 | |
|  * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
 | |
|  * @link          http://book.cakephp.org/2.0/en/development/testing.html CakePHP(tm) Tests
 | |
|  * @package       Cake.Test.Case.Log.Engine
 | |
|  * @since         CakePHP(tm) v 2.4
 | |
|  * @license       http://www.opensource.org/licenses/mit-license.php MIT License
 | |
|  */
 | |
| 
 | |
| App::uses('SyslogLog', 'Log/Engine');
 | |
| 
 | |
| /**
 | |
|  * SyslogLogTest class
 | |
|  *
 | |
|  * @package       Cake.Test.Case.Log.Engine
 | |
|  */
 | |
| class SyslogLogTest extends CakeTestCase {
 | |
| 
 | |
| /**
 | |
|  * Tests that the connection to the logger is open with the right arguments
 | |
|  *
 | |
|  * @return void
 | |
|  */
 | |
| 	public function testOpenLog() {
 | |
| 		$log = $this->getMock('SyslogLog', array('_open', '_write'));
 | |
| 		$log->expects($this->once())->method('_open')->with('', LOG_ODELAY, LOG_USER);
 | |
| 		$log->write('debug', 'message');
 | |
| 
 | |
| 		$log = $this->getMock('SyslogLog', array('_open', '_write'));
 | |
| 		$log->config(array(
 | |
| 			'prefix' => 'thing',
 | |
| 			'flag' => LOG_NDELAY,
 | |
| 			'facility' => LOG_MAIL,
 | |
| 			'format' => '%s: %s'
 | |
| 		));
 | |
| 		$log->expects($this->once())->method('_open')
 | |
| 			->with('thing', LOG_NDELAY, LOG_MAIL);
 | |
| 		$log->write('debug', 'message');
 | |
| 	}
 | |
| 
 | |
| /**
 | |
|  * Tests that single lines are written to syslog
 | |
|  *
 | |
|  * @dataProvider typesProvider
 | |
|  * @return void
 | |
|  */
 | |
| 	public function testWriteOneLine($type, $expected) {
 | |
| 		$log = $this->getMock('SyslogLog', array('_open', '_write'));
 | |
| 		$log->expects($this->once())->method('_write')->with($expected, $type . ': Foo');
 | |
| 		$log->write($type, 'Foo');
 | |
| 	}
 | |
| 
 | |
| /**
 | |
|  * Tests that multiple lines are split and logged separately
 | |
|  *
 | |
|  * @return void
 | |
|  */
 | |
| 	public function testWriteMultiLine() {
 | |
| 		$log = $this->getMock('SyslogLog', array('_open', '_write'));
 | |
| 		$log->expects($this->at(1))->method('_write')->with(LOG_DEBUG, 'debug: Foo');
 | |
| 		$log->expects($this->at(2))->method('_write')->with(LOG_DEBUG, 'debug: Bar');
 | |
| 		$log->expects($this->exactly(2))->method('_write');
 | |
| 		$log->write('debug', "Foo\nBar");
 | |
| 	}
 | |
| 
 | |
| /**
 | |
|  * Data provider for the write function test
 | |
|  *
 | |
|  * @return array
 | |
|  */
 | |
| 	public function typesProvider() {
 | |
| 		return array(
 | |
| 			array('emergency', LOG_EMERG),
 | |
| 			array('alert', LOG_ALERT),
 | |
| 			array('critical', LOG_CRIT),
 | |
| 			array('error', LOG_ERR),
 | |
| 			array('warning', LOG_WARNING),
 | |
| 			array('notice', LOG_NOTICE),
 | |
| 			array('info', LOG_INFO),
 | |
| 			array('debug', LOG_DEBUG)
 | |
| 		);
 | |
| 	}
 | |
| 
 | |
| }
 | |
| 
 | 
