##// END OF EJS Templates
skip jedi test on 3.13 alpha that has no grammar yet with parso
skip jedi test on 3.13 alpha that has no grammar yet with parso

File last commit:

r27764:aefe51c6
r28561:fb1fc0c5
Show More
test_compilerop.py
68 lines | 2.1 KiB | text/x-python | PythonLexer
/ IPython / core / tests / test_compilerop.py
Thomas Kluyver
Add file encoding declarations to two tests.
r3449 # coding: utf-8
Fernando Perez
Complete implementation of interactive traceback support....
r3175 """Tests for the compilerop module.
"""
#-----------------------------------------------------------------------------
Matthias BUSSONNIER
update copyright to 2011/20xx-2011...
r5390 # Copyright (C) 2010-2011 The IPython Development Team.
Fernando Perez
Complete implementation of interactive traceback support....
r3175 #
# Distributed under the terms of the BSD License.
#
# The full license is in the file COPYING.txt, distributed with this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
# Stdlib imports
import linecache
Thomas Kluyver
Tweak code with suggestions from yesterday.
r3458 import sys
Fernando Perez
Complete implementation of interactive traceback support....
r3175
# Our own imports
from IPython.core import compilerop
#-----------------------------------------------------------------------------
# Test functions
#-----------------------------------------------------------------------------
def test_code_name():
code = 'x=1'
name = compilerop.code_name(code)
Blazej Michalik
Darker
r26750 assert name.startswith("<ipython-input-0")
Fernando Perez
Complete implementation of interactive traceback support....
r3175
def test_code_name2():
code = 'x=1'
name = compilerop.code_name(code, 9)
Blazej Michalik
Darker
r26750 assert name.startswith("<ipython-input-9")
Fernando Perez
Complete implementation of interactive traceback support....
r3175
Thomas Kluyver
Fix core and lib tests so that all tests pass.
r3530 def test_cache():
Fernando Perez
Complete implementation of interactive traceback support....
r3175 """Test the compiler correctly compiles and caches inputs
"""
cp = compilerop.CachingCompiler()
ncache = len(linecache.cache)
Thomas Kluyver
Fix core and lib tests so that all tests pass.
r3530 cp.cache('x=1')
Tomasz Kłoczko
nose2pytest migration batch 1...
r26749 assert len(linecache.cache) > ncache
Fernando Perez
Complete implementation of interactive traceback support....
r3175
Matthias Bussonnier
Use module level setup and teardown compatible both nose and pytest....
r25082 def test_proper_default_encoding():
Thomas Kluyver
Tweak code with suggestions from yesterday.
r3458 # Check we're in a proper Python 2 environment (some imports, such
# as GTK, can change the default encoding, which can hide bugs.)
Tomasz Kłoczko
nose2pytest migration batch 1...
r26749 assert sys.getdefaultencoding() == "utf-8"
Thomas Kluyver
Tweak code with suggestions from yesterday.
r3458
Thomas Kluyver
Fix core and lib tests so that all tests pass.
r3530 def test_cache_unicode():
Thomas Kluyver
Moved unicode tests into main test suite. Reverified that both fail if the fixes in previous commits are undone.
r3447 cp = compilerop.CachingCompiler()
ncache = len(linecache.cache)
Thomas Kluyver
Fix core and lib tests so that all tests pass.
r3530 cp.cache(u"t = 'žćčšđ'")
Tomasz Kłoczko
nose2pytest migration batch 1...
r26749 assert len(linecache.cache) > ncache
Fernando Perez
Complete implementation of interactive traceback support....
r3175
def test_compiler_check_cache():
"""Test the compiler properly manages the cache.
"""
# Rather simple-minded tests that just exercise the API
cp = compilerop.CachingCompiler()
Thomas Kluyver
Fix core and lib tests so that all tests pass.
r3530 cp.cache('x=1', 99)
Fernando Perez
Complete implementation of interactive traceback support....
r3175 # Ensure now that after clearing the cache, our entries survive
Thomas Kluyver
Better support compiling cells with separate __future__ environments
r9140 linecache.checkcache()
Nikita Kniazev
Rewrite bunch of `raise AssertionError` and `assert False` tests
r27087 assert any(
k.startswith("<ipython-input-99") for k in linecache.cache
), "Entry for input-99 missing from linecache"