From 9c5abf0bfdc8d5317bc151f5776696d43d41728a Mon Sep 17 00:00:00 2001 From: ToruNiina Date: Wed, 5 Aug 2020 20:29:07 +0900 Subject: [PATCH] test: check each overload compiles --- tests/test_parse_file.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tests/test_parse_file.cpp b/tests/test_parse_file.cpp index 8fecb9a..1442add 100644 --- a/tests/test_parse_file.cpp +++ b/tests/test_parse_file.cpp @@ -889,3 +889,32 @@ BOOST_AUTO_TEST_CASE(test_files_end_with_empty_lines) } } + +BOOST_AUTO_TEST_CASE(test_parse_function_compiles) +{ + // toml::parse(""); + const auto string_literal = toml::parse("toml/tests/example.toml"); + + const char* fname_cstring = "toml/tests/example.toml"; + // toml::parse(const char*); + const auto cstring = toml::parse(fname_cstring); + + // toml::parse(char*); + char* fname_char_ptr = new char[24]; + std::strncpy(fname_char_ptr, fname_cstring, 24u); + const auto char_ptr = toml::parse(fname_char_ptr); + + // toml::parse(const std::string&); + const std::string fname_string("toml/tests/example.toml"); + const auto string = toml::parse(fname_string); + std::string fname_string_mut("toml/tests/example.toml"); + // toml::parse(std::string&); + const auto string_mutref = toml::parse(fname_string_mut); + // toml::parse(std::string&&); + const auto string_rref = toml::parse(std::move(fname_string_mut)); + +#ifdef TOML11_HAS_STD_FILESYSTEM + const std::filesystem::path fname_path(fname_string.begin(), fname_string.end()); + const auto filesystem_path = toml::parse(fname_path); +#endif +}