Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/windirstat/premake-4.x-stable.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/tests/path_tests.cpp')
-rw-r--r--src/base/tests/path_tests.cpp532
1 files changed, 266 insertions, 266 deletions
diff --git a/src/base/tests/path_tests.cpp b/src/base/tests/path_tests.cpp
index b18a12a..0a9fe1e 100644
--- a/src/base/tests/path_tests.cpp
+++ b/src/base/tests/path_tests.cpp
@@ -1,266 +1,266 @@
-/**
- * \file path_tests.cpp
- * \brief Path handling automated tests.
- * \author Copyright (c) 2007-2008 Jason Perkins and the Premake project
- */
-
-#include "premake.h"
-#include "testing/testing.h"
-extern "C" {
-#include "base/path.h"
-#include "base/cstr.h"
-#include "base/dir.h"
-#include "platform/platform.h"
-}
-
-SUITE(base)
-{
- /**************************************************************************
- * path_absolute() tests
- **************************************************************************/
-
- TEST(PathAbsolute_ReturnsCorrectPath_OnMissingSubdir)
- {
- char* cwd = dir_get_current();
- strcat(cwd, "/a/b/c");
- char* result = path_absolute("a/b/c");
- CHECK_EQUAL(cwd, result);
- }
-
-
- /**************************************************************************
- * path_assemble() tests
- **************************************************************************/
-
- TEST(PathAssemble_ReturnsAssembledPath_OnValidParts)
- {
- char* result = path_assemble("directory", "filename", ".ext");
- CHECK_EQUAL("directory/filename.ext", result);
- }
-
- TEST(PathAssemble_ReturnsAssembledPath_OnNoDirectory)
- {
- char* result = path_assemble("", "filename", ".ext");
- CHECK_EQUAL("filename.ext", result);
- }
-
-
- /**************************************************************************
- * path_basename() tests
- **************************************************************************/
-
- TEST(PathBaseName_ReturnsBase_OnDirAndExt)
- {
- char* result = path_basename("folder/filename.ext");
- CHECK_EQUAL("filename", result);
- }
-
-
- /**************************************************************************
- * path_directory() tests
- **************************************************************************/
-
- TEST(PathDirectory_ReturnsEmptyString_OnNoDirectory)
- {
- char* result = path_directory("filename.ext");
- CHECK_EQUAL("", result);
- }
-
-
- TEST(PathDirectory_ReturnsDirectory_OnSingleLevelPath)
- {
- char* result = path_directory("dir0/filename.ext");
- CHECK_EQUAL("dir0", result);
- }
-
-
- TEST(PathDirectory_ReturnsDirectory_OnMultiLeveLPath)
- {
- char* result = path_directory("dir0/dir1/dir2/filename.ext");
- CHECK_EQUAL("dir0/dir1/dir2", result);
- }
-
-
- /**************************************************************************
- * path_extension() tests
- **************************************************************************/
-
- TEST(PathExt_ReturnsEmptyString_OnNoExtension)
- {
- char* result = path_extension("filename");
- CHECK_EQUAL("", result);
- }
-
- TEST(PathExt_ReturnsExtension)
- {
- char* result = path_extension("filename.txt");
- CHECK_EQUAL(".txt", result);
- }
-
- TEST(PathExt_ReturnsLastExtension_OnMultipleDots)
- {
- char* result = path_extension("filename.mod.txt");
- CHECK_EQUAL(".txt", result);
- }
-
-
- /**************************************************************************
- * path_filename() tests
- **************************************************************************/
-
- TEST(PathFileName_ReturnsAll_OnNoDirectory)
- {
- char* result = path_filename("filename.ext");
- CHECK_EQUAL("filename.ext", result);
- }
-
- TEST(PathFileName_ReturnsEmptyString_OnNoName)
- {
- char* result = path_filename("dir0/dir1/");
- CHECK_EQUAL("", result);
- }
-
- TEST(PathFileName_ReturnsOnlyName_OnFullPath)
- {
- char* result = path_filename("dir0/dir1/filename.ext");
- CHECK_EQUAL("filename.ext", result);
- }
-
-
- /**************************************************************************
- * path_is_absolute() tests
- **************************************************************************/
-
- TEST(PathIsAbsolute_ReturnsTrue_OnAbsolutePosixPath)
- {
- CHECK(path_is_absolute("/a/b/c"));
- }
-
-
- TEST(PathIsAbsolute_ReturnsTrue_OnAbsoluteWindowsPathWithDrive)
- {
- CHECK(path_is_absolute("c:/a/b/c"));
- }
-
-
- TEST(PathIsAbsolute_ReturnsFalse_OnRelativePath)
- {
- CHECK(!path_is_absolute("a/b/c"));
- }
-
-
- /**************************************************************************
- * path_is_absolute() tests
- **************************************************************************/
-
- TEST(PathIsCpp_ReturnsFalse_OnNotCpp)
- {
- CHECK(!path_is_cpp_source("filename.XXX"));
- }
-
- TEST(PathIsCpp_ReturnsTrue_OnC)
- {
- CHECK(path_is_cpp_source("filename.c"));
- }
-
- TEST(PathIsCpp_ReturnsTrue_OnCC)
- {
- CHECK(path_is_cpp_source("filename.cc"));
- }
-
- TEST(PathIsCpp_ReturnsTrue_OnCpp)
- {
- CHECK(path_is_cpp_source("filename.cpp"));
- }
-
- TEST(PathIsCpp_ReturnsTrue_OnCxx)
- {
- CHECK(path_is_cpp_source("filename.cxx"));
- }
-
- TEST(PathIsCpp_ReturnsTrue_OnS)
- {
- CHECK(path_is_cpp_source("filename.s"));
- }
-
- TEST(PathIsCpp_ReturnsTrue_OnUpperCase)
- {
- CHECK(path_is_cpp_source("filename.C"));
- }
-
-
- /**************************************************************************
- * path_join() tests
- **************************************************************************/
-
- TEST(PathJoin_ReturnsJoinedPath_OnValidParts)
- {
- char* result = path_join("leading", "trailing");
- CHECK_EQUAL("leading/trailing", result);
- }
-
- TEST(PathJoin_ReturnsAbsPath_OnAbsUnixPath)
- {
- char* result = path_join("leading", "/trailing");
- CHECK_EQUAL("/trailing", result);
- }
-
- TEST(PathJoin_ReturnsAbsPath_OnAbsWindowsPath)
- {
- char* result = path_join("leading", "C:/trailing");
- CHECK_EQUAL("C:/trailing", result);
- }
-
-
- /**************************************************************************
- * path_relative() tests
- **************************************************************************/
-
- TEST(PathRelative_ReturnsDot_OnMatchingPaths)
- {
- char* result = path_relative("/a/b/c", "/a/b/c");
- CHECK_EQUAL(".", result);
- }
-
-
- TEST(PathRelative_ReturnsDoubleDot_OnChildToParent)
- {
- char* result = path_relative("/a/b/c", "/a/b");
- CHECK_EQUAL("..", result);
- }
-
-
- TEST(PathRelative_ReturnsDoubleDotPath_OnSiblingToSibling)
- {
- char* result = path_relative("/a/b/c", "/a/b/d");
- CHECK_EQUAL("../d", result);
- }
-
-
- TEST(PathRelative_ReturnsChildPath_OnParentToChild)
- {
- char* result = path_relative("/a/b/c", "/a/b/c/d");
- CHECK_EQUAL("d", result);
- }
-
-
- /**************************************************************************
- * path_translate() tests
- **************************************************************************/
-
- TEST(PathTranslate_ReturnsTranslatedPath_OnValidPath)
- {
- char* result = path_translate("dir\\dir\\file", "/");
- CHECK_EQUAL("dir/dir/file", result);
- }
-
- TEST(PathTranslate_ReturnsCorrectSeparator_OnMixedPath)
- {
- char* result = path_translate("dir\\dir/file", NULL);
- #if defined(PLATFORM_WINDOWS)
- CHECK_EQUAL("dir\\dir\\file", result);
- #else
- CHECK_EQUAL("dir/dir/file", result);
- #endif
- }
-}
+/**
+ * \file path_tests.cpp
+ * \brief Path handling automated tests.
+ * \author Copyright (c) 2007-2008 Jason Perkins and the Premake project
+ */
+
+#include "premake.h"
+#include "testing/testing.h"
+extern "C" {
+#include "base/path.h"
+#include "base/cstr.h"
+#include "base/dir.h"
+#include "platform/platform.h"
+}
+
+SUITE(base)
+{
+ /**************************************************************************
+ * path_absolute() tests
+ **************************************************************************/
+
+ TEST(PathAbsolute_ReturnsCorrectPath_OnMissingSubdir)
+ {
+ char* cwd = dir_get_current();
+ strcat(cwd, "/a/b/c");
+ char* result = path_absolute("a/b/c");
+ CHECK_EQUAL(cwd, result);
+ }
+
+
+ /**************************************************************************
+ * path_assemble() tests
+ **************************************************************************/
+
+ TEST(PathAssemble_ReturnsAssembledPath_OnValidParts)
+ {
+ char* result = path_assemble("directory", "filename", ".ext");
+ CHECK_EQUAL("directory/filename.ext", result);
+ }
+
+ TEST(PathAssemble_ReturnsAssembledPath_OnNoDirectory)
+ {
+ char* result = path_assemble("", "filename", ".ext");
+ CHECK_EQUAL("filename.ext", result);
+ }
+
+
+ /**************************************************************************
+ * path_basename() tests
+ **************************************************************************/
+
+ TEST(PathBaseName_ReturnsBase_OnDirAndExt)
+ {
+ char* result = path_basename("folder/filename.ext");
+ CHECK_EQUAL("filename", result);
+ }
+
+
+ /**************************************************************************
+ * path_directory() tests
+ **************************************************************************/
+
+ TEST(PathDirectory_ReturnsEmptyString_OnNoDirectory)
+ {
+ char* result = path_directory("filename.ext");
+ CHECK_EQUAL("", result);
+ }
+
+
+ TEST(PathDirectory_ReturnsDirectory_OnSingleLevelPath)
+ {
+ char* result = path_directory("dir0/filename.ext");
+ CHECK_EQUAL("dir0", result);
+ }
+
+
+ TEST(PathDirectory_ReturnsDirectory_OnMultiLeveLPath)
+ {
+ char* result = path_directory("dir0/dir1/dir2/filename.ext");
+ CHECK_EQUAL("dir0/dir1/dir2", result);
+ }
+
+
+ /**************************************************************************
+ * path_extension() tests
+ **************************************************************************/
+
+ TEST(PathExt_ReturnsEmptyString_OnNoExtension)
+ {
+ char* result = path_extension("filename");
+ CHECK_EQUAL("", result);
+ }
+
+ TEST(PathExt_ReturnsExtension)
+ {
+ char* result = path_extension("filename.txt");
+ CHECK_EQUAL(".txt", result);
+ }
+
+ TEST(PathExt_ReturnsLastExtension_OnMultipleDots)
+ {
+ char* result = path_extension("filename.mod.txt");
+ CHECK_EQUAL(".txt", result);
+ }
+
+
+ /**************************************************************************
+ * path_filename() tests
+ **************************************************************************/
+
+ TEST(PathFileName_ReturnsAll_OnNoDirectory)
+ {
+ char* result = path_filename("filename.ext");
+ CHECK_EQUAL("filename.ext", result);
+ }
+
+ TEST(PathFileName_ReturnsEmptyString_OnNoName)
+ {
+ char* result = path_filename("dir0/dir1/");
+ CHECK_EQUAL("", result);
+ }
+
+ TEST(PathFileName_ReturnsOnlyName_OnFullPath)
+ {
+ char* result = path_filename("dir0/dir1/filename.ext");
+ CHECK_EQUAL("filename.ext", result);
+ }
+
+
+ /**************************************************************************
+ * path_is_absolute() tests
+ **************************************************************************/
+
+ TEST(PathIsAbsolute_ReturnsTrue_OnAbsolutePosixPath)
+ {
+ CHECK(path_is_absolute("/a/b/c"));
+ }
+
+
+ TEST(PathIsAbsolute_ReturnsTrue_OnAbsoluteWindowsPathWithDrive)
+ {
+ CHECK(path_is_absolute("c:/a/b/c"));
+ }
+
+
+ TEST(PathIsAbsolute_ReturnsFalse_OnRelativePath)
+ {
+ CHECK(!path_is_absolute("a/b/c"));
+ }
+
+
+ /**************************************************************************
+ * path_is_absolute() tests
+ **************************************************************************/
+
+ TEST(PathIsCpp_ReturnsFalse_OnNotCpp)
+ {
+ CHECK(!path_is_cpp_source("filename.XXX"));
+ }
+
+ TEST(PathIsCpp_ReturnsTrue_OnC)
+ {
+ CHECK(path_is_cpp_source("filename.c"));
+ }
+
+ TEST(PathIsCpp_ReturnsTrue_OnCC)
+ {
+ CHECK(path_is_cpp_source("filename.cc"));
+ }
+
+ TEST(PathIsCpp_ReturnsTrue_OnCpp)
+ {
+ CHECK(path_is_cpp_source("filename.cpp"));
+ }
+
+ TEST(PathIsCpp_ReturnsTrue_OnCxx)
+ {
+ CHECK(path_is_cpp_source("filename.cxx"));
+ }
+
+ TEST(PathIsCpp_ReturnsTrue_OnS)
+ {
+ CHECK(path_is_cpp_source("filename.s"));
+ }
+
+ TEST(PathIsCpp_ReturnsTrue_OnUpperCase)
+ {
+ CHECK(path_is_cpp_source("filename.C"));
+ }
+
+
+ /**************************************************************************
+ * path_join() tests
+ **************************************************************************/
+
+ TEST(PathJoin_ReturnsJoinedPath_OnValidParts)
+ {
+ char* result = path_join("leading", "trailing");
+ CHECK_EQUAL("leading/trailing", result);
+ }
+
+ TEST(PathJoin_ReturnsAbsPath_OnAbsUnixPath)
+ {
+ char* result = path_join("leading", "/trailing");
+ CHECK_EQUAL("/trailing", result);
+ }
+
+ TEST(PathJoin_ReturnsAbsPath_OnAbsWindowsPath)
+ {
+ char* result = path_join("leading", "C:/trailing");
+ CHECK_EQUAL("C:/trailing", result);
+ }
+
+
+ /**************************************************************************
+ * path_relative() tests
+ **************************************************************************/
+
+ TEST(PathRelative_ReturnsDot_OnMatchingPaths)
+ {
+ char* result = path_relative("/a/b/c", "/a/b/c");
+ CHECK_EQUAL(".", result);
+ }
+
+
+ TEST(PathRelative_ReturnsDoubleDot_OnChildToParent)
+ {
+ char* result = path_relative("/a/b/c", "/a/b");
+ CHECK_EQUAL("..", result);
+ }
+
+
+ TEST(PathRelative_ReturnsDoubleDotPath_OnSiblingToSibling)
+ {
+ char* result = path_relative("/a/b/c", "/a/b/d");
+ CHECK_EQUAL("../d", result);
+ }
+
+
+ TEST(PathRelative_ReturnsChildPath_OnParentToChild)
+ {
+ char* result = path_relative("/a/b/c", "/a/b/c/d");
+ CHECK_EQUAL("d", result);
+ }
+
+
+ /**************************************************************************
+ * path_translate() tests
+ **************************************************************************/
+
+ TEST(PathTranslate_ReturnsTranslatedPath_OnValidPath)
+ {
+ char* result = path_translate("dir\\dir\\file", "/");
+ CHECK_EQUAL("dir/dir/file", result);
+ }
+
+ TEST(PathTranslate_ReturnsCorrectSeparator_OnMixedPath)
+ {
+ char* result = path_translate("dir\\dir/file", NULL);
+ #if defined(PLATFORM_WINDOWS)
+ CHECK_EQUAL("dir\\dir\\file", result);
+ #else
+ CHECK_EQUAL("dir/dir/file", result);
+ #endif
+ }
+}