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__
 |