Esempio n. 1
0
def test_sequence_output():
    directory = tempfile.mkdtemp()
    assert 0 == len(os.listdir(directory))
    cli.main(['--seq', '-v=1', '-e=m', '-o=' + os.path.join(directory, 'test.svg'), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'])
    number_of_files = len(os.listdir(directory))
    shutil.rmtree(directory)
    assert 4 == number_of_files
Esempio n. 2
0
def test_draw_transparent():
    fname = _make_tmp_svg_filename()
    res = cli.main([
        '--dark=green', '--finder-dark=green', '--dark-module=blue',
        '--align-light=yellow', '--quiet-zone=yellow',
        '--output={0}'.format(fname), 'test'
    ])
    assert 0 == res
    with open(fname, 'rb') as f:
        data = io.BytesIO(f.read())
    root = _parse_xml(data)
    paths = root.findall('.//{%s}path' % _SVG_NS)
    assert 3 == len(paths)
    res = cli.main([
        '--dark=green', '--finder-dark=green', '--dark-module=blue',
        '--align-light=yellow', '--quiet-zone=yellow', '--draw-transparent',
        '--output={0}'.format(fname), 'test'
    ])
    assert 0 == res
    with open(fname, 'rb') as f:
        data = io.BytesIO(f.read())
    os.unlink(fname)
    root = _parse_xml(data)
    paths = root.findall('.//{%s}path' % _SVG_NS)
    assert 4 == len(paths)
    assert 1 == len([p for p in paths if p.attrib.get('stroke') is None])
Esempio n. 3
0
def test_sequence_output():
    directory = tempfile.mkdtemp()
    assert 0 == len(os.listdir(directory))
    cli.main([
        '--seq', '-v=1', '-e=m', '-o=' + os.path.join(directory, 'test.svg'),
        'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    ])
    number_of_files = len(os.listdir(directory))
    shutil.rmtree(directory)
    assert 4 == number_of_files
Esempio n. 4
0
def test_output2():
    out = io.BytesIO()
    segno.make_qr('Good Times', error='M').save(out, kind='png', scale=10, dark='red')
    f = tempfile.NamedTemporaryFile('w', suffix='.png', delete=False)
    f.close()
    cli.main(['-e=M', '--scale=10', '--dark=red', '--output={0}'.format(f.name), 'Good', 'Times'])
    f = open(f.name, 'rb')
    content = f.read()
    f.close()
    os.unlink(f.name)
    assert out.getvalue() == content
Esempio n. 5
0
def test_output_svgz():
    f = tempfile.NamedTemporaryFile('w', suffix='.svgz', delete=False)
    f.close()
    cli.main(
        ['--scale=10', '--color=red', '--output={0}'.format(f.name), 'test'])
    f = gzip.open(f.name)
    content = f.read()
    f.close()
    os.unlink(f.name)
    assert b'scale(10)' in content
    assert b'stroke="red"' in content
Esempio n. 6
0
def test_output(arg, ext, expected, mode):
    f = tempfile.NamedTemporaryFile('w', suffix='.{0}'.format(ext), delete=False)
    f.close()
    try:
        cli.main(['test', arg, f.name])
        f = open(f.name, mode=mode)
        val = f.read(len(expected))
        f.close()
        assert expected == val
    finally:
        os.unlink(f.name)
Esempio n. 7
0
def test_output2():
    out = io.BytesIO()
    segno.make_qr('Good Times', error='M').save(out, kind='png', scale=10, color='red')
    f = tempfile.NamedTemporaryFile('w', suffix='.png', delete=False)
    f.close()
    cli.main(['-e=M', '--scale=10', '--color=red', '--output={0}'.format(f.name), 'Good', 'Times'])
    f = open(f.name, 'rb')
    content = f.read()
    f.close()
    os.unlink(f.name)
    assert out.getvalue() == content
Esempio n. 8
0
def test_output(arg, ext, expected, mode):
    f = tempfile.NamedTemporaryFile('w',
                                    suffix='.{0}'.format(ext),
                                    delete=False)
    f.close()
    try:
        cli.main(['test', arg, f.name])
        f = open(f.name, mode=mode)
        val = f.read(len(expected))
        f.close()
        assert expected == val
    finally:
        os.unlink(f.name)
Esempio n. 9
0
def test_svgclass3():
    fname = _make_tmp_svg_filename()
    res = cli.main(['--output={0}'.format(fname), 'test'])
    assert 0 == res
    with open(fname, 'rb') as f:
        data = io.BytesIO(f.read())
    root = _parse_xml(data)
    assert root is not None
    assert root.get('class') is not None
    res = cli.main(['--svgclass', '', '--output={0}'.format(fname), 'test'])
    assert 0 == res
    with open(fname, 'rb') as f:
        data = io.BytesIO(f.read())
    os.unlink(fname)
    root = _parse_xml(data)
    assert root is not None
    assert root.get('class') is None
Esempio n. 10
0
def test_issue_84_utf8():
    with open(
            os.path.join(os.path.dirname(__file__), 'issue-84',
                         'issue-84-utf-8.txt'), 'r') as f:
        expected = f.read()
    f = tempfile.NamedTemporaryFile('w', suffix='.txt', delete=False)
    f.close()
    try:
        cli.main(['-o', f.name, '--encoding', 'utf-8', 'Müller'])
        with open(f.name, 'r') as f:
            result = f.read()
        assert expected == result
        cli.main(['-o', f.name, '--encoding', 'UTf-8', 'Müller'])
        with open(f.name, 'r') as f:
            result = f.read()
        assert expected == result
    finally:
        os.unlink(f.name)
Esempio n. 11
0
def test_greyscale():
    fn = _make_tmp_png_filename()
    res = cli.main(['--quiet-zone=white', '--output={0}'.format(fn), 'test'])
    with open(fn, 'rb') as f:
        data = io.BytesIO(f.read())
    os.unlink(fn)
    assert 0 == res
    reader = PNGReader(file=data)
    reader.preamble()
    assert reader.greyscale
Esempio n. 12
0
def test_output_svgz():
    f = tempfile.NamedTemporaryFile('w', suffix='.svgz', delete=False)
    f.close()
    res = cli.main(['--scale=10', '--color=red', '--output={0}'.format(f.name), 'test'])
    assert 0 == res
    f = gzip.open(f.name)
    content = f.read()
    f.close()
    os.unlink(f.name)
    assert b'scale(10)' in content
    assert b'stroke="red"' in content
Esempio n. 13
0
def test_not_greyscale():
    fn = _make_tmp_png_filename()
    res = cli.main(
        ['--quiet-zone=transparent', '--output={0}'.format(fn), 'test'])
    with open(fn, 'rb') as f:
        data = io.BytesIO(f.read())
    os.unlink(fn)
    assert 0 == res
    reader = PNGReader(file=data)
    reader.preamble()
    assert not reader.greyscale
    palette = reader.palette()
    assert 3 == len(palette)
    assert 0 == palette[0][3]  # Transparent color
    assert (0, 0, 0, 255) in palette  # black
    assert (255, 255, 255, 255) in palette  # white
Esempio n. 14
0
def test_plte_colors():
    fn = _make_tmp_png_filename()
    res = cli.main([
        '--quiet-zone=green', '--finder-dark=purple', '--finder-light=yellow',
        '--output={0}'.format(fn), 'test'
    ])
    with open(fn, 'rb') as f:
        data = io.BytesIO(f.read())
    os.unlink(fn)
    assert 0 == res
    reader = PNGReader(file=data)
    reader.preamble()
    assert not reader.greyscale
    palette = reader.palette()
    assert 5 == len(palette)
    assert (0, 0, 0) in palette
    assert (255, 255, 255) in palette
    assert colors._color_to_rgb('green') in palette
    assert colors._color_to_rgb('purple') in palette
    assert colors._color_to_rgb('yellow') in palette
Esempio n. 15
0
def test_issue_84_default_encoding():
    with open(
            os.path.join(os.path.dirname(__file__), 'issue-84',
                         'issue-84-iso-8859-1.txt'), 'r') as f:
        expected = f.read()
    f = tempfile.NamedTemporaryFile('w', suffix='.txt', delete=False)
    f.close()
    try:
        cli.main(['-o', f.name, 'Müller'])
        with open(f.name, 'r') as f:
            result = f.read()
        assert expected == result
        # Explicit but default encoding
        cli.main(['-o', f.name, '--encoding', 'iso-8859-1', 'Müller'])
        with open(f.name, 'r') as f:
            result = f.read()
        assert expected == result
        # Explicit but default encoding
        cli.main(['-o', f.name, '--encoding', 'latin1', 'Müller'])
        with open(f.name, 'r') as f:
            result = f.read()
        assert expected == result
    finally:
        os.unlink(f.name)
Esempio n. 16
0
def test_terminal(capsys):
    cli.main(['test'])
    out, err = capsys.readouterr()
    assert out
    assert '' == err
Esempio n. 17
0
def test_error_code():
    with pytest.raises(SystemExit) as e:
        cli.main(['--version=M1', '--seq', '"This is a test"'])
        assert 1 == e.exception.code
        assert e.exception.message
Esempio n. 18
0
def test_terminal_compact(capsys):
    cli.main(['--compact', 'test'])
    out, err = capsys.readouterr()
    assert out
    assert '' == err
    assert '\u2580' in out
Esempio n. 19
0
def test_error_code():
    try:
        cli.main(['--version=M1', '--seq', '"This is a test"'])
    except SystemExit as ex:
        assert 1 == ex.code
Esempio n. 20
0
def test_terminal(capsys):
    cli.main(['test'])
    out, err = capsys.readouterr()
    assert out
    assert '' == err
Esempio n. 21
0
def test_issue_45_no_error():
    assert 0 == cli.main(
        ['--version=1', '--seq', '"This is a test, test test test test"'])
Esempio n. 22
0
def test_issue_45_error(capsys):
    try:
        cli.main(['--version=M1', '--seq', '"This is a test"'])
    except SystemExit as ex:
        assert 1 == ex.code
        assert capsys.readouterr()