system_test.cpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // Pingus - A free Lemmings clone
  2. // Copyright (C) 1998-2015 Ingo Ruhnke <grumbel@gmail.com>
  3. //
  4. // This program is free software: you can redistribute it and/or modify
  5. // it under the terms of the GNU General Public License as published by
  6. // the Free Software Foundation, either version 3 of the License, or
  7. // (at your option) any later version.
  8. //
  9. // This program is distributed in the hope that it will be useful,
  10. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. // GNU General Public License for more details.
  13. //
  14. // You should have received a copy of the GNU General Public License
  15. // along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. #include <gtest/gtest.h>
  17. #include "util/system.hpp"
  18. using namespace pingus;
  19. TEST(SystemTest, normalize_path)
  20. {
  21. EXPECT_EQ("", System::normalize_path(""));
  22. EXPECT_EQ("/", System::normalize_path("/"));
  23. EXPECT_EQ("abc", System::normalize_path("abc"));
  24. EXPECT_EQ("/abc", System::normalize_path("/abc"));
  25. EXPECT_EQ("/", System::normalize_path("/../.."));
  26. EXPECT_EQ("..", System::normalize_path("a/../.."));
  27. EXPECT_EQ("a/c", System::normalize_path("a////c"));
  28. EXPECT_EQ("c", System::normalize_path("a//..///c"));
  29. EXPECT_EQ("/c", System::normalize_path("/a//..///c"));
  30. EXPECT_EQ("/b/c", System::normalize_path("/a/../../b/c"));
  31. EXPECT_EQ("../foo/bar", System::normalize_path("../foo/bar/"));
  32. }
  33. /* EOF */