def test_classes():
    try:  #XXX: should this be a 'special case'?
        from StringIO import StringIO
        x = "from StringIO import StringIO\n"
        y = x
    except ImportError:
        from io import BytesIO as StringIO
        x = "from io import BytesIO\n"
        y = "from _io import BytesIO\n"
    s = StringIO()

    assert likely_import(StringIO) == x
    assert likely_import(s) == y
    # interactively defined classes and class instances
    assert likely_import(Foo) == 'from %s import Foo\n' % __name__
    assert likely_import(_foo) == 'from %s import Foo\n' % __name__
Exemple #2
0
def test_classes():
  try: #XXX: should this be a 'special case'?
    from StringIO import StringIO
    x = "from StringIO import StringIO\n"
    y = x
  except ImportError:
    from io import BytesIO as StringIO
    x = "from io import BytesIO\n"
    y = "from _io import BytesIO\n"
  s = StringIO()

  assert likely_import(StringIO) == x
  assert likely_import(s) == y
  # interactively defined classes and class instances
  assert likely_import(Foo) == 'from %s import Foo\n' % __name__
  assert likely_import(_foo) == 'from %s import Foo\n' % __name__
def test_classes():
    try:  #XXX: should this be a 'special case'?
        from StringIO import StringIO
        y = "from StringIO import StringIO\n"
        x = y
    except ImportError:
        from io import BytesIO as StringIO
        y = "from _io import BytesIO\n"
        x = y if (IS_PYPY3 or hex(sys.hexversion) >= PY310b
                  ) else "from io import BytesIO\n"
    s = StringIO()

    assert likely_import(StringIO) == x
    assert likely_import(s) == y
    # interactively defined classes and class instances
    assert likely_import(Foo) == 'from %s import Foo\n' % __name__
    assert likely_import(_foo) == 'from %s import Foo\n' % __name__
def test_builtin():
  if PY3: builtin = 'builtins'
  else: builtin = '__builtin__'
  assert likely_import(pow) == 'pow\n'
  assert likely_import(100) == '100\n'
  assert likely_import(True) == 'True\n'
  assert likely_import(pow, explicit=True) == 'from %s import pow\n' % builtin
  assert likely_import(100, explicit=True) == '100\n'
  assert likely_import(True, explicit=True) == 'True\n' if PY3 else 'from %s import True\n' % builtin
  # this is kinda BS... you can't import a None
  assert likely_import(None) == 'None\n'
  assert likely_import(None, explicit=True) == 'None\n'
Exemple #5
0
def test_builtin():
  if PY3: builtin = 'builtins'
  else: builtin = '__builtin__'
  assert likely_import(pow) == 'pow\n'
  assert likely_import(100) == '100\n'
  assert likely_import(True) == 'True\n'
  assert likely_import(pow, explicit=True) == 'from %s import pow\n' % builtin
  assert likely_import(100, explicit=True) == '100\n'
  assert likely_import(True, explicit=True) == 'True\n' if PY3 else 'from %s import True\n' % builtin
  # this is kinda BS... you can't import a None
  assert likely_import(None) == 'None\n'
  assert likely_import(None, explicit=True) == 'None\n'
def test_imported():
    from math import sin
    assert likely_import(sin) == 'from math import sin\n'
def test_itself():
    assert likely_import(
        likely_import) == 'from dill.source import likely_import\n'
def test_dynamic():
    assert likely_import(add) == 'from %s import add\n' % __name__
    # interactive lambdas
    assert likely_import(squared) == 'from %s import squared\n' % __name__
Exemple #9
0
assert getimportable(_foo.bar, explicit=True) == 'from %s import bar\n' % __name__
assert getimportable(None, explicit=True) == 'None\n'
assert getimportable(100, explicit=True) == '100\n'


try:
    from numpy import array
    x = array([1,2,3])
    assert getimportable(x) == 'from numpy import array\narray([1, 2, 3])\n'
    assert getimportable(array) == 'from numpy.core.multiarray import array\n'
    assert getimportable(x, byname=False) == 'from numpy import array\narray([1, 2, 3])\n'
    assert getimportable(array, byname=False) == 'from numpy.core.multiarray import array\n'
except ImportError: pass

# test itself
assert likely_import(likely_import)=='from dill.source import likely_import\n'

# builtin functions and objects
if PY3: builtin = 'builtins'
else: builtin = '__builtin__'
assert likely_import(pow) == 'pow\n'
assert likely_import(100) == '100\n'
assert likely_import(True) == 'True\n'
assert likely_import(pow, explicit=True) == 'from %s import pow\n' % builtin
assert likely_import(100, explicit=True) == '100\n'
assert likely_import(True, explicit=True) == 'True\n' if PY3 else 'from %s import True\n' % builtin
# this is kinda BS... you can't import a None
assert likely_import(None) == 'None\n'
assert likely_import(None, explicit=True) == 'None\n'

# other imported functions
Exemple #10
0
assert getimportable(100, explicit=True) == '100\n'

try:
    from numpy import array
    x = array([1, 2, 3])
    assert getimportable(x) == 'from numpy import array\narray([1, 2, 3])\n'
    assert getimportable(array) == 'from numpy.core.multiarray import array\n'
    assert getimportable(
        x, byname=False) == 'from numpy import array\narray([1, 2, 3])\n'
    assert getimportable(
        array, byname=False) == 'from numpy.core.multiarray import array\n'
except ImportError:
    pass

# test itself
assert likely_import(
    likely_import) == 'from dill.source import likely_import\n'

# builtin functions and objects
if PY3: builtin = 'builtins'
else: builtin = '__builtin__'
assert likely_import(pow) == 'pow\n'
assert likely_import(100) == '100\n'
assert likely_import(True) == 'True\n'
assert likely_import(pow, explicit=True) == 'from %s import pow\n' % builtin
assert likely_import(100, explicit=True) == '100\n'
assert likely_import(
    True,
    explicit=True) == 'True\n' if PY3 else 'from %s import True\n' % builtin
# this is kinda BS... you can't import a None
assert likely_import(None) == 'None\n'
assert likely_import(None, explicit=True) == 'None\n'
Exemple #11
0
def test_dynamic():
  assert likely_import(add) == 'from %s import add\n' % __name__
  # interactive lambdas
  assert likely_import(squared) == 'from %s import squared\n' % __name__
Exemple #12
0
def test_imported():
  from math import sin
  assert likely_import(sin) == 'from math import sin\n'
Exemple #13
0
def test_itself():
  assert likely_import(likely_import)=='from dill.source import likely_import\n'
Exemple #14
0
assert getimportable(100, alias="memo", byname=False) == "memo = 100\n"


try:
    from numpy import array

    x = array([1, 2, 3])
    assert getimportable(x) == "from numpy import array\narray([1, 2, 3])\n"
    assert getimportable(array) == "from numpy.core.multiarray import array\n"
    assert getimportable(x, byname=False) == "from numpy import array\narray([1, 2, 3])\n"
    assert getimportable(array, byname=False) == "from numpy.core.multiarray import array\n"
except ImportError:
    pass

# test itself
assert likely_import(likely_import) == "from dill.source import likely_import\n"

# builtin functions and objects
assert likely_import(pow) == ""
assert likely_import(100) == ""
assert likely_import(True) == ""
# this is kinda BS... you can't import a None
assert likely_import(None) == ""

# other imported functions
from math import sin

assert likely_import(sin) == "from math import sin\n"

# interactively defined functions
assert likely_import(add) == "from %s import add\n" % __name__