37 lines
		
	
	
		
			915 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			915 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")
 |