1#  Copyright (c) 2020, Manfred Moitzi
2#  License: MIT License
3
4import pytest
5import ezdxf
6
7
8def test_has_dxf_unicode_encoding():
9    assert ezdxf.has_dxf_unicode(r'\U+039B') is True
10    assert ezdxf.has_dxf_unicode(r'\\U+039B') is True
11    assert ezdxf.has_dxf_unicode(r'\U+039') is False
12    assert ezdxf.has_dxf_unicode(r'\U+') is False
13    assert ezdxf.has_dxf_unicode('ABC') is False
14    assert ezdxf.has_dxf_unicode('') is False
15
16
17def test_successive_chars():
18    result = ezdxf.decode_dxf_unicode(
19        r'abc\U+039B\U+0391\U+0393\U+0395\U+03A1xyz')
20    assert result == r"abcΛΑΓΕΡxyz"
21
22
23def test_extra_backslash():
24    result = ezdxf.decode_dxf_unicode(
25        r'abc\U+039B\\U+0391\\U+0393\\U+0395\\U+03A1xyz')
26    assert result == r"abcΛ\Α\Γ\Ε\Ρxyz"
27
28
29def test_extra_digits():
30    result = ezdxf.decode_dxf_unicode(
31        r'abc\U+039B0\U+03911\U+03932\U+03953\U+03A1xyz')
32    assert result == r"abcΛ0Α1Γ2Ε3Ρxyz"
33
34
35if __name__ == '__main__':
36    pytest.main([__file__])
37