From ffa8fa6c8c206c508734b1faec82d58e0f7b2d5b Mon Sep 17 00:00:00 2001 From: Alexander Penev Date: Thu, 9 May 2024 19:23:35 +0000 Subject: [PATCH] Add Code complete test --- test/test_xcpp_kernel.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/test/test_xcpp_kernel.py b/test/test_xcpp_kernel.py index 13cf552e..2837fff8 100644 --- a/test/test_xcpp_kernel.py +++ b/test/test_xcpp_kernel.py @@ -11,6 +11,33 @@ import platform +class XCppCompleteTests(jupyter_kernel_test.KernelTests): + + kernel_name = 'xcpp' + + # language_info.name in a kernel_info_reply should match this + language_name = 'C++' + + # Code complete + code_complete_presample_code = 'int foo = 12;' + code_complete_sample = 'f' + + def test_codecomplete(self) -> None: + if not self.code_complete_sample: + raise SkipTest("No code complete sample") + if self.code_complete_presample_code: + self.flush_channels() + reply, output_msgs = self.execute_helper(code=self.code_complete_presample_code) + self.assertEqual(reply["content"]["status"], "ok") + self.flush_channels() + msg_id = self.kc.complete(self.code_complete_sample, len(self.code_complete_sample)) + reply = self.get_non_kernel_info_reply(timeout=1) + assert reply is not None + self.assertEqual(reply["msg_type"], "complete_reply") + self.assertEqual(str(reply["content"]["matches"]), "['float', 'foo']") + self.assertEqual(reply["content"]["status"], "ok") + + class XCppTests(jupyter_kernel_test.KernelTests): kernel_name = 'xcpp'