Source code for openpyxl.compat.tests.test_compat

from __future__ import absolute_import
# Copyright (c) 2010-2017 openpyxl
import pytest
import sys


@pytest.mark.parametrize("value, result",
                         [
                          ('s', 's'),
                          (2.0/3, '0.6666666666666666'),
                          (1, '1'),
                          (None, 'none'),
                          (float('NaN'), ''),
                         ]
                         )
[docs]def test_safe_string(value, result): from openpyxl.compat import safe_string assert safe_string(value) == result v = safe_string('s') assert v == 's'
@pytest.mark.numpy_required
[docs]def test_numeric_types(): from ..numbers import NUMERIC_TYPES, numpy, Decimal, long assert NUMERIC_TYPES == (int, float, long, Decimal, numpy.bool_, numpy.floating, numpy.integer)
@pytest.mark.numpy_required
[docs]def test_numpy_tostring(): from numpy import float_, int_, bool_ from .. import safe_string assert safe_string(float_(5.1)) == "5.1" assert safe_string(int(5)) == "5" assert safe_string(bool_(True)) == "1"
@pytest.mark.skipif("sys.version_info[0]>=3")
[docs]def test_safe_repr(): from ..strings import safe_repr s = u"D\xfcsseldorf" assert safe_repr(s) == s.encode("ascii", "backslashreplace")
from .. import deprecated
[docs]def test_deprecated_function(recwarn): @deprecated("no way") def fn(): return "Hello world" fn() w = recwarn.pop() assert issubclass(w.category, DeprecationWarning) assert w.filename assert w.lineno assert "no way" in str(w.message)
[docs]def test_deprecated_class(recwarn): @deprecated("") class Simple: pass s = Simple() w = recwarn.pop() assert issubclass(w.category, DeprecationWarning) assert w.filename assert w.lineno
[docs]def test_deprecated_method(recwarn): class Simple: @deprecated("") def do(self): return "Nothing" s = Simple() s.do() w = recwarn.pop() assert issubclass(w.category, DeprecationWarning) assert w.filename assert w.lineno
[docs]def test_no_deprecation_reason(): with pytest.raises(TypeError): @deprecated def fn(): return