1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
#############################################################################
# Copyright (c) 2018, Martin Renou, Johan Mabille, Sylvain Corlay, and #
# Wolf Vollprecht #
# Copyright (c) 2018, QuantStack #
# #
# Distributed under the terms of the BSD 3-Clause License. #
# #
# The full license is in the file LICENSE, distributed with this software. #
#############################################################################
import unittest
import jupyter_kernel_test
from jupyter_client.manager import start_new_kernel
class XeusPythonTests(jupyter_kernel_test.KernelTests):
kernel_name = "xpython"
language_name = "python"
code_hello_world = "print('hello, world')"
code_page_something = "?print"
completion_samples = [
{'text': 'pri', 'matches': {'print'}},
{'text': 'from sys imp', 'matches': {'import ', 'import'}}
]
complete_code_samples = ['1', "print('hello, world')", "def f(x):\n return x*2\n\n\n"]
incomplete_code_samples = ["print('''hello", "def f(x):\n x*2"]
invalid_code_samples = ['import = 7q']
code_inspect_sample = "open"
def test_xeus_python_history_manager(self):
reply, output_msgs = self.execute_helper(
code="assert get_ipython().history_manager is not None"
)
self.assertEqual(reply['content']['status'], 'ok')
def test_xeus_python_stdout(self):
reply, output_msgs = self.execute_helper(code='print(3)')
self.assertEqual(output_msgs[0]['msg_type'], 'stream')
self.assertEqual(output_msgs[0]['content']['name'], 'stdout')
self.assertEqual(output_msgs[0]['content']['text'], '3')
def test_xeus_python_stderr(self):
reply, output_msgs = self.execute_helper(code='a = []; a.push_back(3)')
self.assertEqual(output_msgs[0]['msg_type'], 'error')
if __name__ == '__main__':
unittest.main()
|