File: smoke_test.py

package info (click to toggle)
freetype-py 2.5.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,976 kB
  • sloc: python: 7,676; makefile: 111
file content (57 lines) | stat: -rw-r--r-- 1,775 bytes parent folder | download | duplicates (2)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import glob
import os

import freetype
import pytest

test_folder = os.path.realpath(os.path.dirname(__file__))


def test_load_ft_face():
    """A smoke test."""
    p = os.path.join(test_folder, "..", "examples", "Vera.ttf")
    assert freetype.Face(p)


def test_load_ft_face_from_memory():
    """Another smoke test."""
    p = os.path.join(test_folder, "..", "examples", "Vera.ttf")
    with open(p, mode="rb") as f:
        assert freetype.Face(f)

    with open(p, mode="rb") as f:
        byte_stream = f.read()
    assert freetype.Face.from_bytes(byte_stream)


def test_bundle_version():
    module_dir = os.path.dirname(freetype.__file__)
    shared_object = glob.glob(os.path.join(module_dir, "libfreetype*"))
    if shared_object:
        import re
        p = os.path.join(test_folder, "..", "setup-build-freetype.py")
        with open(p) as f:
            m = re.findall(r"freetype-(\d+)\.(\d+)\.?(\d+)?\.tar", f.read())
        version = m[0]
        if not version[2]:
            version = (int(version[0]), int(version[1]), 0)
        else:
            version = (int(version[0]), int(version[1]), int(version[2]))
        assert freetype.version() == version
    else:
        pytest.skip("Not using a bundled FreeType library.")


def test_get_ft_face_properties():
    p = os.path.join(test_folder, "..", "examples", "Vera.ttf")
    f = freetype.Face(p)
    assert f.family_name == b"Bitstream Vera Sans"
    assert f.get_format() == b"TrueType"
    assert f.get_glyph_name(20) == b"one"
    assert f.get_fstype() == ("FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING", 4)
    assert f.get_first_char() == (32, 3)
    assert f.is_sfnt
    assert f.ascender == 1901
    assert f.descender == -483
    assert f.num_glyphs == 268
    assert f.style_name == b"Roman"