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
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])
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
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
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
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)
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
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)
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
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)
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
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
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
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
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)
def test_terminal(capsys): cli.main(['test']) out, err = capsys.readouterr() assert out assert '' == err
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
def test_terminal_compact(capsys): cli.main(['--compact', 'test']) out, err = capsys.readouterr() assert out assert '' == err assert '\u2580' in out
def test_error_code(): try: cli.main(['--version=M1', '--seq', '"This is a test"']) except SystemExit as ex: assert 1 == ex.code
def test_terminal(capsys): cli.main(['test']) out, err = capsys.readouterr() assert out assert '' == err
def test_issue_45_no_error(): assert 0 == cli.main( ['--version=1', '--seq', '"This is a test, test test test test"'])
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()