File: tests.py

package info (click to toggle)
cairocffi 1.7.1-5
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 752 kB
  • sloc: python: 3,020; makefile: 22
file content (28 lines) | stat: -rw-r--r-- 997 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import io

import cairo  # noqa: F401
import pango_example
from cairocffi_to_pycairo import _UNSAFE_cairocffi_context_to_pycairo
from pycairo_to_cairocffi import _UNSAFE_pycairo_context_to_cairocffi

import cairocffi


def test():
    cairocffi_context = cairocffi.Context(cairocffi.PDFSurface(None, 10, 20))
    cairocffi_context.scale(2, 3)
    pycairo_context = _UNSAFE_cairocffi_context_to_pycairo(cairocffi_context)
    cairocffi_context2 = _UNSAFE_pycairo_context_to_cairocffi(pycairo_context)
    assert tuple(cairocffi_context.get_matrix()) == (2, 0, 0, 3, 0, 0)
    assert tuple(cairocffi_context2.get_matrix()) == (2, 0, 0, 3, 0, 0)
    assert tuple(pycairo_context.get_matrix()) == (2, 0, 0, 3, 0, 0)
    assert cairocffi_context2._pointer == cairocffi_context._pointer

    file_obj = io.BytesIO()
    # Mostly test that this runs without raising.
    pango_example.write_example_pdf(file_obj)
    assert file_obj.getvalue().startswith(b'%PDF')


if __name__ == '__main__':
    test()