Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_low_level_api():
"""Test the low-level Python API with various parameters."""
_png_filename, svg_filename = FILES[0]
expected_content = cairosvg.svg2png(url=svg_filename)
# Same as above, longer version
tree = cairosvg.parser.Tree(url=svg_filename)
file_like = io.BytesIO()
surface = cairosvg.surface.PNGSurface(tree, file_like, 96)
surface.finish()
assert file_like.getvalue() == expected_content
png_result = png.Reader(bytes=expected_content).read()
expected_width, expected_height, _, _ = png_result
# Abstract surface
surface = cairosvg.surface.PNGSurface(tree, None, 96)
assert surface.width == expected_width
assert surface.height == expected_height
assert cairo.SurfacePattern(surface.cairo).get_surface() is surface.cairo
assert_raises(TypeError, cairo.SurfacePattern, 'Not a cairo.Surface.')
"""Test the low-level Python API with various parameters."""
_png_filename, svg_filename = FILES[0]
expected_content = cairosvg.svg2png(url=svg_filename)
# Same as above, longer version
tree = cairosvg.parser.Tree(url=svg_filename)
file_like = io.BytesIO()
surface = cairosvg.surface.PNGSurface(tree, file_like, 96)
surface.finish()
assert file_like.getvalue() == expected_content
png_result = png.Reader(bytes=expected_content).read()
expected_width, expected_height, _, _ = png_result
# Abstract surface
surface = cairosvg.surface.PNGSurface(tree, None, 96)
assert surface.width == expected_width
assert surface.height == expected_height
assert cairo.SurfacePattern(surface.cairo).get_surface() is surface.cairo
assert_raises(TypeError, cairo.SurfacePattern, 'Not a cairo.Surface.')
def test_low_level_api():
"""Test the low-level Python API with various parameters."""
expected_content = svg2png(SVG_SAMPLE)
# Same as above, longer version
tree = parser.Tree(bytestring=SVG_SAMPLE)
file_like = io.BytesIO()
png_surface = surface.PNGSurface(tree, file_like, 96)
png_surface.finish()
assert file_like.getvalue() == expected_content
png_result = cairo.ImageSurface.create_from_png(
io.BytesIO(expected_content))
expected_width = png_result.get_width()
expected_height = png_result.get_height()
# Abstract surface
png_surface = surface.PNGSurface(tree, None, 96)
assert png_surface.width == expected_width
assert png_surface.height == expected_height
assert cairo.SurfacePattern(png_surface.cairo)
expected_content = svg2png(SVG_SAMPLE)
# Same as above, longer version
tree = parser.Tree(bytestring=SVG_SAMPLE)
file_like = io.BytesIO()
png_surface = surface.PNGSurface(tree, file_like, 96)
png_surface.finish()
assert file_like.getvalue() == expected_content
png_result = cairo.ImageSurface.create_from_png(
io.BytesIO(expected_content))
expected_width = png_result.get_width()
expected_height = png_result.get_height()
# Abstract surface
png_surface = surface.PNGSurface(tree, None, 96)
assert png_surface.width == expected_width
assert png_surface.height == expected_height
assert cairo.SurfacePattern(png_surface.cairo)
# Frozen with something else (py2exe, etc.)
# See https://github.com/Kozea/WeasyPrint/pull/269
ROOT = Path(os.path.dirname(sys.executable))
else:
ROOT = Path(os.path.dirname(__file__))
VERSION = __version__ = (ROOT / 'VERSION').read_text().strip()
# VERSION is used in the "url" module imported by "surface"
from . import surface # noqa isort:skip
SURFACES = {
'PDF': surface.PDFSurface,
'PNG': surface.PNGSurface,
'PS': surface.PSSurface,
'SVG': surface.SVGSurface,
}
def svg2svg(bytestring=None, *, file_obj=None, url=None, dpi=96,
parent_width=None, parent_height=None, scale=1, unsafe=False,
background_color=None, negate_colors=False, invert_images=False,
write_to=None, output_width=None, output_height=None):
return surface.SVGSurface.convert(
bytestring=bytestring, file_obj=file_obj, url=url, dpi=dpi,
parent_width=parent_width, parent_height=parent_height, scale=scale,
background_color=background_color,
negate_colors=negate_colors, invert_images=invert_images,
unsafe=unsafe, write_to=write_to, output_width=output_width,
output_height=output_height)