'Assert that L{printTraceback} produces and prints a default traceback.
The default traceback consists of a header::
Traceback (most recent call last):
The body with traceback::
File "/twisted/trial/_synctest.py", line 1180, in _run
runWithWarningsSuppressed(suppress, method)
And the footer::
--- <exception caught here> ---
File "twisted/test/test_failure.py", line 39, in getDivisionFailure
1/0
exceptions.ZeroDivisionError: float division
@param captureVars: Enables L{Failure.captureVars}.
@type captureVars: C{bool}'

def assertDefaultTraceback(self, captureVars=False):

    if captureVars:
        exampleLocalVar = 'xyzzy'
        exampleLocalVar
    f = getDivisionFailure(captureVars=captureVars)
    out = NativeStringIO()
    f.printTraceback(out)
    tb = out.getvalue()
    stack = ''
    for (method, filename, lineno, localVars, globalVars) in f.frames:
        stack += ('        File    "%s",    line    %s,    in    %s\n' % (filename, lineno, method))
        stack += ('                %s\n' % (linecache.getline(filename, lineno).strip(),))
    self.assertTracebackFormat(tb, 'Traceback    (most    recent    call    last):', ('%s\n%s%s:    %s\n' % (failure.EXCEPTION_CAUGHT_HERE, stack, reflect.qual(f.type), reflect.safe_str(f.value))))
    if captureVars:
        self.assertIsNone(re.search('exampleLocalVar.*xyzzy', tb))
