From 3e74d39f24fdfaa547ce900be177863e2bfe2dea Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Tue, 16 Oct 2018 18:49:11 -0400 Subject: Feature/include refactor (#675) * Refactor of path handling. * Added PathInfo * Changed ISlangFileSystem - such that has separate concepts of reading a file, getting a relative path and getting a canonical path * Added support for getting a canonical path for windows/linux * Made maps/testing around canonicalPaths * User output remains around 'foundPath' - which is the same as before * Small improvements around PathInfo * Added a type and make constructors to make clear the different 'path' uses * Fixed bug in findViewRecursively * Checking and reporting for ignored #pragma once. * Removed SLANG_PATH_TYPE_NONE as doesn't serve any useful purpose. * Improve comments in slang.h aroung ISlangFileSystem * Remove the need for in slang-io.cpp * Ran premake5. * Improvements and fixes around PathInfo. * Fix typo on linix GetCanonical * Make the ISlangFileSystem the same as before, and ISlangFileSystem contain the new methods. Internally it always uses the ISlangFileSystemExt, and will wrap a ISlangFileSystem with WrapFileSystem, if it is determined (via queryInterface) that it doesn't implement the full interface. --- tools/slang-test/unit-test-path.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 tools/slang-test/unit-test-path.cpp (limited to 'tools/slang-test/unit-test-path.cpp') diff --git a/tools/slang-test/unit-test-path.cpp b/tools/slang-test/unit-test-path.cpp new file mode 100644 index 000000000..ddaa39d6d --- /dev/null +++ b/tools/slang-test/unit-test-path.cpp @@ -0,0 +1,26 @@ +// unit-test-path.cpp + +#include "../../source/core/slang-io.h" + + +#include "test-context.h" + +using namespace Slang; + +static void pathUnitTest() +{ + { + String path; + SlangResult res = Path::GetCanonical(".", path); + SLANG_CHECK(SLANG_SUCCEEDED(res)); + + String parentPath; + res = Path::GetCanonical("..", parentPath); + SLANG_CHECK(SLANG_SUCCEEDED(res)); + + String parentPath2 = Path::GetDirectoryName(path); + SLANG_CHECK(parentPath == parentPath2); + } +} + +SLANG_UNIT_TEST("Path", pathUnitTest); \ No newline at end of file -- cgit v1.2.3