30 lines
		
	
	
		
			904 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			904 B
		
	
	
	
		
			Python
		
	
	
	
| import logging
 | |
| 
 | |
| import py.io
 | |
| from _pytest.logging import ColoredLevelFormatter
 | |
| 
 | |
| 
 | |
| def test_coloredlogformatter():
 | |
|     logfmt = '%(filename)-25s %(lineno)4d %(levelname)-8s %(message)s'
 | |
| 
 | |
|     record = logging.LogRecord(
 | |
|         name='dummy', level=logging.INFO, pathname='dummypath', lineno=10,
 | |
|         msg='Test Message', args=(), exc_info=False)
 | |
| 
 | |
|     class ColorConfig(object):
 | |
|         class option(object):
 | |
|             pass
 | |
| 
 | |
|     tw = py.io.TerminalWriter()
 | |
|     tw.hasmarkup = True
 | |
|     formatter = ColoredLevelFormatter(tw, logfmt)
 | |
|     output = formatter.format(record)
 | |
|     assert output == ('dummypath                   10 '
 | |
|                       '\x1b[32mINFO    \x1b[0m Test Message')
 | |
| 
 | |
|     tw.hasmarkup = False
 | |
|     formatter = ColoredLevelFormatter(tw, logfmt)
 | |
|     output = formatter.format(record)
 | |
|     assert output == ('dummypath                   10 '
 | |
|                       'INFO     Test Message')
 |