Ejemplo n.º 1
0
def test_pip_progressbar_at_4096_byte_boundary_error():
    """
    Test for unicode characters from the pip installation progress bar
    causing a UnicodeDecodeError.
    """
    expect = '█' * 4096

    class Mock(object):
        def __init__(self):
            three_bytes = u'█'.encode('utf-8')
            # 4096 comes from OutputLooper.read_size being hard-coded to 4096
            self.source = BytesIO(three_bytes * 4096)

        def get_unicode_bytes(self, size):
            return self.source.read(size)

    ol = OutputLooper(Mock(), 'get_unicode_bytes', sys.stdout, None, None)

    with settings(hide('everything')):
        ol.loop()
    eq_(expect, sys.stdout.getvalue())
Ejemplo n.º 2
0
def test_pip_progressbar_at_4096_byte_boundary_error():
    """
    Test for unicode characters from the pip installation progress bar
    causing a UnicodeDecodeError.
    """
    expect = '█' * 4096

    class Mock(object):
        def __init__(self):
            three_bytes = u'█'.encode('utf-8')
            # 4096 comes from OutputLooper.read_size being hard-coded to 4096
            self.source = BytesIO(three_bytes * 4096)

        def get_unicode_bytes(self, size):
            return self.source.read(size)

    ol = OutputLooper(Mock(), 'get_unicode_bytes', sys.stdout, None, None)

    with settings(hide('everything')):
        ol.loop()
    eq_(expect, sys.stdout.getvalue())
Ejemplo n.º 3
0
 def run(txt, prompts):
     with settings(prompts=prompts):
         # try to fulfil the OutputLooper interface, only want to test
         # _get_prompt_response. (str has a method upper)
         ol = OutputLooper(text_type, 'upper', None, list(txt), None)
         return ol._get_prompt_response()
Ejemplo n.º 4
0
 def run(txt, prompts):
     with settings(prompts=prompts):
         # try to fulfil the OutputLooper interface, only want to test
         # _get_prompt_response. (str has a method upper)
         ol = OutputLooper(str, 'upper', None, list(txt), None)
         return ol._get_prompt_response()