17 lines
		
	
	
		
			550 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			17 lines
		
	
	
		
			550 B
		
	
	
	
		
			Python
		
	
	
	
 | 
						|
import new
 | 
						|
 | 
						|
def test_new_code_object_carries_filename_through():
 | 
						|
    class mystr(str):
 | 
						|
        pass
 | 
						|
    filename = mystr("dummy")
 | 
						|
    co = compile("hello\n", filename, 'exec')
 | 
						|
    assert not isinstance(co.co_filename, mystr)
 | 
						|
    c2 = new.code(co.co_argcount, co.co_nlocals, co.co_stacksize,
 | 
						|
             co.co_flags, co.co_code, co.co_consts,
 | 
						|
             co.co_names, co.co_varnames,
 | 
						|
             filename,
 | 
						|
             co.co_name, co.co_firstlineno, co.co_lnotab,
 | 
						|
             co.co_freevars, co.co_cellvars)
 | 
						|
    assert c2.co_filename is filename
 |