##// END OF EJS Templates
pythonw in py3k sets std{in,out,err} to None...
pythonw in py3k sets std{in,out,err} to None The print statement works without error, even though the stdio file objects are instances of None. Since they are instances of None, however, the encoding attribute will not exist, so protect blind attribute access of std{in,out,err} by using a new function, get_stream_enc.

File last commit:

r2640:93949c91
r6651:40ec4c33
Show More
test_completion_lexer.py
47 lines | 1.4 KiB | text/x-python | PythonLexer
/ IPython / frontend / qt / console / tests / test_completion_lexer.py
epatters
Adding unit tests for Qt console frontend.
r2605 # Standard library imports
import unittest
# System library imports
from pygments.lexers import CLexer, CppLexer, PythonLexer
# Local imports
from IPython.frontend.qt.console.completion_lexer import CompletionLexer
class TestCompletionLexer(unittest.TestCase):
def testPython(self):
""" Does the CompletionLexer work for Python?
"""
lexer = CompletionLexer(PythonLexer())
epatters
* Fixed bug in CompletionLexer where a context would be generated for, e.g, 'foo('....
r2640 # Test simplest case.
epatters
Adding unit tests for Qt console frontend.
r2605 self.assertEquals(lexer.get_context("foo.bar.baz"),
[ "foo", "bar", "baz" ])
epatters
* Fixed bug in CompletionLexer where a context would be generated for, e.g, 'foo('....
r2640
# Test trailing period.
epatters
Adding unit tests for Qt console frontend.
r2605 self.assertEquals(lexer.get_context("foo.bar."), [ "foo", "bar", "" ])
epatters
* Fixed bug in CompletionLexer where a context would be generated for, e.g, 'foo('....
r2640 # Test with prompt present.
epatters
Adding unit tests for Qt console frontend.
r2605 self.assertEquals(lexer.get_context(">>> foo.bar.baz"),
[ "foo", "bar", "baz" ])
epatters
* Fixed bug in CompletionLexer where a context would be generated for, e.g, 'foo('....
r2640
# Test spacing in name.
epatters
Adding unit tests for Qt console frontend.
r2605 self.assertEquals(lexer.get_context("foo.bar. baz"), [ "baz" ])
epatters
* Fixed bug in CompletionLexer where a context would be generated for, e.g, 'foo('....
r2640 # Test parenthesis.
self.assertEquals(lexer.get_context("foo("), [])
epatters
Adding unit tests for Qt console frontend.
r2605 def testC(self):
""" Does the CompletionLexer work for C/C++?
"""
lexer = CompletionLexer(CLexer())
self.assertEquals(lexer.get_context("foo.bar"), [ "foo", "bar" ])
self.assertEquals(lexer.get_context("foo->bar"), [ "foo", "bar" ])
lexer = CompletionLexer(CppLexer())
self.assertEquals(lexer.get_context("Foo::Bar"), [ "Foo", "Bar" ])
if __name__ == '__main__':
unittest.main()