예제 #1
0
 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))
예제 #2
0
 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))
예제 #3
0
    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))
예제 #4
0
    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)))