]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
Move tests of FormatNonstdStringView to a separate file
authorJoel Rosdahl <joel@rosdahl.net>
Fri, 1 Nov 2019 21:01:52 +0000 (22:01 +0100)
committerJoel Rosdahl <joel@rosdahl.net>
Fri, 1 Nov 2019 21:24:02 +0000 (22:24 +0100)
The general idea is that unittest/test_X.cpp contains tests for
src/X.[hc]pp.

Makefile.in
src/FormatNonstdStringView.hpp
unittest/test_FormatNonstdStringView.cpp [new file with mode: 0644]
unittest/test_Util.cpp

index 3f37c7d0b7b5337841731d58992662014968da5c..53181a657a7ed0d9d0eb69bc0606d52296a38831 100644 (file)
@@ -82,6 +82,7 @@ test_suites += unittest/test_AtomicFile.cpp
 test_suites += unittest/test_Checksum.cpp
 test_suites += unittest/test_Compression.cpp
 test_suites += unittest/test_Config.cpp
+test_suites += unittest/test_FormatNonstdStringView.cpp
 test_suites += unittest/test_NullCompression.cpp
 test_suites += unittest/test_Stat.cpp
 test_suites += unittest/test_Util.cpp
index 33814e678deefd720b9312fc9c893545379ce352..c2f93ad9a126423952492b5879dd62c558c9b109 100644 (file)
@@ -18,9 +18,9 @@
 
 #pragma once
 
+#include "third_party/fmt/core.h"
 #include "third_party/nonstd/string_view.hpp"
 
-
 // Specialization of fmt::formatter for nonstd::string_view.
 namespace fmt {
 
diff --git a/unittest/test_FormatNonstdStringView.cpp b/unittest/test_FormatNonstdStringView.cpp
new file mode 100644 (file)
index 0000000..0c37d5e
--- /dev/null
@@ -0,0 +1,44 @@
+// Copyright (C) 2019 Joel Rosdahl and other contributors
+//
+// See doc/AUTHORS.adoc for a complete list of contributors.
+//
+// This program is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the Free
+// Software Foundation; either version 3 of the License, or (at your option)
+// any later version.
+//
+// This program is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+// more details.
+//
+// You should have received a copy of the GNU General Public License along with
+// this program; if not, write to the Free Software Foundation, Inc., 51
+// Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+#include "FormatNonstdStringView.hpp"
+
+#include "third_party/catch.hpp"
+
+TEST_CASE("fmt::format and nonstd::string_view")
+{
+  nonstd::string_view null;
+  CHECK(fmt::format("{}", null) == "");
+
+  const std::string s = "0123456789";
+
+  nonstd::string_view empty(s.data(), 0);
+  CHECK(fmt::format("{}", empty) == "");
+
+  nonstd::string_view empty_end(s.data() + s.length(), 0);
+  CHECK(fmt::format("{}", empty_end) == "");
+
+  nonstd::string_view start(s.data(), 2);
+  CHECK(fmt::format("{}", start) == "01");
+
+  nonstd::string_view middle(s.data() + 3, 4);
+  CHECK(fmt::format("{}", middle) == "3456");
+
+  nonstd::string_view end(s.data() + s.length() - 2, 2);
+  CHECK(fmt::format("{}", end) == "89");
+}
index 583de118fceb393f8decede06c67dc8dad9cea9e..42c7207037952758c79e7ddef19c8b15c191af1a 100644 (file)
 // Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
 #include "../src/Util.hpp"
-#include "FormatNonstdStringView.hpp"
 
 #include "third_party/catch.hpp"
 
 using Catch::Equals;
 
-TEST_CASE("fmt::format and nonstd::string_view")
-{
-  nonstd::string_view null;
-  CHECK(fmt::format("{}", null) == "");
-
-  const std::string s = "0123456789";
-
-  nonstd::string_view empty(s.data(), 0);
-  CHECK(fmt::format("{}", empty) == "");
-
-  nonstd::string_view empty_end(s.data() + s.length(), 0);
-  CHECK(fmt::format("{}", empty_end) == "");
-
-  nonstd::string_view start(s.data(), 2);
-  CHECK(fmt::format("{}", start) == "01");
-
-  nonstd::string_view middle(s.data() + 3, 4);
-  CHECK(fmt::format("{}", middle) == "3456");
-
-  nonstd::string_view end(s.data() + s.length() - 2, 2);
-  CHECK(fmt::format("{}", end) == "89");
-}
-
 TEST_CASE("Util::base_name")
 {
   CHECK(Util::base_name("") == "");