Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-10-29 08:25:01

0001 // SPDX-License-Identifier: LGPL-3.0-or-later
0002 // Copyright (C) 2026 Wouter Deconinck
0003 //
0004 // Tests for demangled type names
0005 //
0006 #include <algorithms/detail/demangle.h>
0007 
0008 #include <catch2/catch_test_macros.hpp>
0009 
0010 #include <string>
0011 #include <vector>
0012 
0013 using namespace algorithms::detail;
0014 
0015 namespace demangle_test {
0016 struct Named {};
0017 template <class T> struct Templated {};
0018 } // namespace demangle_test
0019 
0020 TEST_CASE("demangledName returns readable type names", "[demangle]") {
0021   CHECK(demangledName<int>() == "int");
0022   CHECK(demangledName<double>() == "double");
0023   CHECK(demangledName<demangle_test::Named>() == "demangle_test::Named");
0024   CHECK(demangledName<demangle_test::Templated<int>>() == "demangle_test::Templated<int>");
0025   CHECK(demangledName<std::vector<int>>().starts_with("std::vector<int"));
0026 }