You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.4 KiB
Python
73 lines
2.4 KiB
Python
# Copyright (c) Jupyter Development Team.
|
|
# Distributed under the terms of the Modified BSD License.
|
|
|
|
import inspect
|
|
import pytest
|
|
|
|
from ..utils import deprecation
|
|
from .utils import call_method
|
|
|
|
CALL_PATH = inspect.getfile(call_method)
|
|
|
|
def test_deprecation():
|
|
caller_path = inspect.stack(context=0)[1].filename
|
|
with pytest.deprecated_call() as record:
|
|
deprecation('Deprecated call')
|
|
# Make sure the deprecation pointed to the external function calling this test function
|
|
assert len(record) == 1
|
|
assert record[0].filename == caller_path
|
|
|
|
with pytest.deprecated_call() as record:
|
|
deprecation('Deprecated call', ['ipywidgets/widgets/tests'])
|
|
# Make sure the deprecation pointed to the external function calling this test function
|
|
assert len(record) == 1
|
|
assert record[0].filename == caller_path
|
|
|
|
with pytest.deprecated_call() as record:
|
|
deprecation('Deprecated call', 'ipywidgets/widgets/tests')
|
|
# Make sure the deprecation pointed to the external function calling this test function
|
|
assert len(record) == 1
|
|
assert record[0].filename == caller_path
|
|
|
|
with pytest.deprecated_call() as record:
|
|
deprecation('Deprecated call', [])
|
|
# Make sure the deprecation pointed to *this* file
|
|
assert len(record) == 1
|
|
assert record[0].filename == __file__
|
|
|
|
def test_deprecation_indirect():
|
|
# If the line that calls "deprecation" is not internal, it is considered the source:
|
|
with pytest.warns(DeprecationWarning) as record:
|
|
call_method(deprecation, "test message", [])
|
|
assert len(record) == 1
|
|
assert record[0].filename == CALL_PATH
|
|
|
|
def test_deprecation_indirect_internal():
|
|
# If the line that calls "deprecation" is internal, it is not considered the source:
|
|
with pytest.warns(DeprecationWarning) as record:
|
|
call_method(deprecation, "test message", [CALL_PATH])
|
|
assert len(record) == 1
|
|
assert record[0].filename == __file__
|
|
|
|
def test_deprecation_nested1():
|
|
def level1():
|
|
deprecation("test message", [])
|
|
|
|
with pytest.warns(DeprecationWarning) as record:
|
|
call_method(level1)
|
|
|
|
assert len(record) == 1
|
|
assert record[0].filename == __file__
|
|
|
|
def test_deprecation_nested2():
|
|
def level2():
|
|
deprecation("test message", [])
|
|
def level1():
|
|
level2()
|
|
|
|
with pytest.warns(DeprecationWarning) as record:
|
|
call_method(level1)
|
|
|
|
assert len(record) == 1
|
|
assert record[0].filename == __file__
|