38 lines
		
	
	
		
			931 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			931 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")
 |