def testMultilineValueWrapped(self): # Multiline values are line wrapped. multilineStr = 'line1\nline2' with disableColoring(), captureStandardStreams() as (out, err): ic(multilineStr) pair = parseOutputIntoPairs(out, err, 2)[0][0] assert pair == ('multilineStr', ic.argToStringFunction(multilineStr))
def testSingleArgumentLongLineNotWrapped(self): # A single long line with one argument is not line wrapped. longStr = '*' * (ic.lineWrapWidth + 1) with disableColoring(), captureStandardStreams() as (out, err): ic(longStr) pair = parseOutputIntoPairs(out, err, 1)[0][0] assert len(err.getvalue()) > ic.lineWrapWidth assert pair == ('longStr', ic.argToStringFunction(longStr))
def testIncludeContextMultiLine(self): multilineStr = 'line1\nline2' with configureIcecreamOutput(includeContext=True): with disableColoring(), captureStandardStreams() as (out, err): ic(multilineStr) firstLine = err.getvalue().splitlines()[0] assert lineIsContext(firstLine) pair = parseOutputIntoPairs(out, err, 3)[1][0] assert pair == ('multilineStr', ic.argToStringFunction(multilineStr))
def testMultipleArgumentsLongLineWrapped(self): # A single long line with multiple variables is line wrapped. val = '*' * int(ic.lineWrapWidth / 4) valStr = ic.argToStringFunction(val) v1 = v2 = v3 = v4 = val with disableColoring(), captureStandardStreams() as (out, err): ic(v1, v2, v3, v4) pairs = parseOutputIntoPairs(out, err, 4) assert pairs == [[(k, valStr)] for k in ['v1', 'v2', 'v3', 'v4']] lines = err.getvalue().splitlines() assert (lines[0].startswith(ic.prefix) and lines[1].startswith(' ' * len(ic.prefix)) and lines[2].startswith(' ' * len(ic.prefix)) and lines[3].startswith(' ' * len(ic.prefix)))