From 963781c7707020c5bd365e0321dc6432a30a986b Mon Sep 17 00:00:00 2001 From: kr-2003 Date: Sat, 8 Mar 2025 11:03:39 +0530 Subject: [PATCH 1/5] added tests for xinspect --- src/xinspect.cpp | 1 + test/test_interpreter.cpp | 58 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) diff --git a/src/xinspect.cpp b/src/xinspect.cpp index 1cd54c36..2511a5ac 100644 --- a/src/xinspect.cpp +++ b/src/xinspect.cpp @@ -132,6 +132,7 @@ namespace xcpp if (std::regex_search(to_inspect, method, std::regex(R"((.*)\.(\w*)$)"))) { std::string type_name = find_type_slow(method[1]); + type_name = (type_name.empty()) ? method[1] : type_name; if (!type_name.empty()) { diff --git a/test/test_interpreter.cpp b/test/test_interpreter.cpp index fd18eb35..0bb5ca1a 100644 --- a/test/test_interpreter.cpp +++ b/test/test_interpreter.cpp @@ -134,6 +134,43 @@ TEST_SUITE("execute_request") REQUIRE(result["status"] == "ok"); } + TEST_CASE("fetch_documentation_of_member_or_parameter") + { + std::vector Args = {/*"-v", "resource-dir", "....."*/}; + xcpp::interpreter interpreter((int)Args.size(), Args.data()); + + std::string code = "?std::vector.push_back"; + std::string inspect_result = "https://en.cppreference.com/w/cpp/container/vector/push_back"; + nl::json user_expressions = nl::json::object(); + xeus::execute_request_config config; + config.silent = false; + config.store_history = false; + config.allow_stdin = false; + nl::json header = nl::json::object(); + xeus::xrequest_context::guid_list id = {}; + xeus::xrequest_context context(header, id); + + std::promise promise; + std::future future = promise.get_future(); + auto callback = [&promise](nl::json result) { + promise.set_value(result); + }; + + interpreter.execute_request( + std::move(context), + std::move(callback), + code, + std::move(config), + user_expressions + ); + nl::json result = future.get(); + REQUIRE(result["payload"][0]["data"]["text/plain"] == inspect_result); + REQUIRE(result["user_expressions"] == nl::json::object()); + REQUIRE(result["found"] == true); + REQUIRE(result["status"] == "ok"); + } + + TEST_CASE("bad_status") { std::vector Args = {"resource-dir"}; @@ -852,6 +889,27 @@ TEST_SUITE("xinspect"){ cmp.child_value = "nonexistentMethod"; REQUIRE(cmp(node) == false); } + + TEST_CASE("find_type_slow"){ + std::string expression = "int"; + std::string result = xcpp::find_type_slow(expression); + std::cout << result << std::endl; + bool res = (result == "" || result == ""); + REQUIRE(res); + + expression = "std::vector"; + result = xcpp::find_type_slow(expression); + std::cout << result << std::endl; + REQUIRE(result == ""); + } + + TEST_CASE("is_inspect_request"){ + std::string code = "vector"; + std::regex re_expression(R"(non_matching_pattern)"); + std::pair result = xcpp::is_inspect_request(code, re_expression); + REQUIRE(result.first == false); + } + } #if !defined(XEUS_CPP_EMSCRIPTEN_WASM_BUILD) From 181128cb989fd149c4b7032076b7e2e71865edad Mon Sep 17 00:00:00 2001 From: kr-2003 Date: Sat, 8 Mar 2025 11:10:33 +0530 Subject: [PATCH 2/5] added test for find_type_slow --- test/test_interpreter.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/test/test_interpreter.cpp b/test/test_interpreter.cpp index 0bb5ca1a..a9df8455 100644 --- a/test/test_interpreter.cpp +++ b/test/test_interpreter.cpp @@ -891,12 +891,6 @@ TEST_SUITE("xinspect"){ } TEST_CASE("find_type_slow"){ - std::string expression = "int"; - std::string result = xcpp::find_type_slow(expression); - std::cout << result << std::endl; - bool res = (result == "" || result == ""); - REQUIRE(res); - expression = "std::vector"; result = xcpp::find_type_slow(expression); std::cout << result << std::endl; From 703e3675fe1f2192e652363b74f1a0835f725e30 Mon Sep 17 00:00:00 2001 From: kr-2003 Date: Sat, 8 Mar 2025 11:13:20 +0530 Subject: [PATCH 3/5] added test --- test/test_interpreter.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/test/test_interpreter.cpp b/test/test_interpreter.cpp index a9df8455..ceb5fb41 100644 --- a/test/test_interpreter.cpp +++ b/test/test_interpreter.cpp @@ -891,9 +891,8 @@ TEST_SUITE("xinspect"){ } TEST_CASE("find_type_slow"){ - expression = "std::vector"; - result = xcpp::find_type_slow(expression); - std::cout << result << std::endl; + std::string expression = "std::vector"; + std::string result = xcpp::find_type_slow(expression); REQUIRE(result == ""); } From 316e6c046f4bba6334cd1ed707b28a98752acfd3 Mon Sep 17 00:00:00 2001 From: kr-2003 Date: Sat, 8 Mar 2025 11:16:06 +0530 Subject: [PATCH 4/5] added test --- test/test_interpreter.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test/test_interpreter.cpp b/test/test_interpreter.cpp index ceb5fb41..3ece4acf 100644 --- a/test/test_interpreter.cpp +++ b/test/test_interpreter.cpp @@ -890,11 +890,11 @@ TEST_SUITE("xinspect"){ REQUIRE(cmp(node) == false); } - TEST_CASE("find_type_slow"){ - std::string expression = "std::vector"; - std::string result = xcpp::find_type_slow(expression); - REQUIRE(result == ""); - } + // TEST_CASE("find_type_slow"){ + // std::string expression = "std::vector"; + // std::string result = xcpp::find_type_slow(expression); + // REQUIRE(result == ""); + // } TEST_CASE("is_inspect_request"){ std::string code = "vector"; From 6dc6e14569226c684d0d694cf88f8dbcb09f7b3c Mon Sep 17 00:00:00 2001 From: kr-2003 Date: Thu, 20 Mar 2025 07:47:41 +0530 Subject: [PATCH 5/5] removed commented test --- test/test_interpreter.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/test/test_interpreter.cpp b/test/test_interpreter.cpp index 3ece4acf..435cd839 100644 --- a/test/test_interpreter.cpp +++ b/test/test_interpreter.cpp @@ -890,12 +890,6 @@ TEST_SUITE("xinspect"){ REQUIRE(cmp(node) == false); } - // TEST_CASE("find_type_slow"){ - // std::string expression = "std::vector"; - // std::string result = xcpp::find_type_slow(expression); - // REQUIRE(result == ""); - // } - TEST_CASE("is_inspect_request"){ std::string code = "vector"; std::regex re_expression(R"(non_matching_pattern)");