From 3e88b2af2f01fda29c84fc5ab706751aacc12680 Mon Sep 17 00:00:00 2001 From: Martin Olivier Date: Mon, 15 Jul 2024 01:19:11 +0200 Subject: [PATCH] fix: occurences replacement --- src/dylib.cpp | 11 ++--------- src/win.cpp | 8 +------- tests/lib.cpp | 4 ++++ tests/tests.cpp | 7 ++++++- 4 files changed, 13 insertions(+), 17 deletions(-) diff --git a/src/dylib.cpp b/src/dylib.cpp index 583b327..cf5e85a 100644 --- a/src/dylib.cpp +++ b/src/dylib.cpp @@ -155,15 +155,8 @@ std::string format_symbol(std::string input) { replace_occurrences(input, "std::__1::", "std::"); replace_occurrences(input, "std::__cxx11::", "std::"); - input.erase( - std::remove_if( - input.begin(), - input.end(), - ::isspace - ), input.end() - ); - - add_space_after_comma(input); + replace_occurrences(input, "> >", ">>"); + replace_occurrences(input, "()", "(void)"); return input; } diff --git a/src/win.cpp b/src/win.cpp index c6ccf22..7e2067a 100755 --- a/src/win.cpp +++ b/src/win.cpp @@ -31,13 +31,7 @@ std::string format_symbol(std::string input) { replace_occurrences(input, "const", "> const"); add_space_after_comma(input); diff --git a/tests/lib.cpp b/tests/lib.cpp index aebbc07..3f6800c 100755 --- a/tests/lib.cpp +++ b/tests/lib.cpp @@ -45,5 +45,9 @@ namespace tools { LIB_EXPORT void println(std::string &&str) { std::cout << "mov: " << str << std::endl; } + + LIB_EXPORT void println(const unsigned int& val) { + std::cout << "ref: " << val << std::endl; + } } } diff --git a/tests/tests.cpp b/tests/tests.cpp index bc94c6f..cb257fb 100755 --- a/tests/tests.cpp +++ b/tests/tests.cpp @@ -210,7 +210,7 @@ TEST(cpp_symbols, basic_test) { auto text = std::string("bla,bla,bla..."); testing::internal::CaptureStdout(); - auto ref_println = lib.get_function("tools::string::println(std::basic_string, std::allocator>const&)"); + auto ref_println = lib.get_function("tools::string::println(std::basic_string, std::allocator> const&)"); ref_println(text); EXPECT_EQ(testing::internal::GetCapturedStdout(), "ref: bla,bla,bla...\n"); @@ -218,6 +218,11 @@ TEST(cpp_symbols, basic_test) { auto mov_println = lib.get_function("tools::string::println(std::basic_string, std::allocator>&&)"); mov_println(std::move(text)); EXPECT_EQ(testing::internal::GetCapturedStdout(), "mov: bla,bla,bla...\n"); + + testing::internal::CaptureStdout(); + auto int_ref_println = lib.get_function("tools::string::println(unsigned int const&)"); + int_ref_println(123); + EXPECT_EQ(testing::internal::GetCapturedStdout(), "ref: 123\n"); } int main(int ac, char **av) {