12345678910111213141516171819202122232425262728293031323334353637 |
- discard """
- matrix: "--mm:refc; --mm:orc"
- """
- import std/os
- import std/assertions
- when doslikeFileSystem:
- import std/pathnorm
- template initVars =
- var state {.inject.} = 0
- var result {.inject.}: string
- block: # / -> /
- initVars
- addNormalizePath("//?/c:/./foo//bar/../baz", result, state, '/')
- doAssert result == "//?/c:/foo/baz"
- addNormalizePath("me", result, state, '/')
- doAssert result == "//?/c:/foo/baz/me"
- block: # / -> \
- initVars
- addNormalizePath(r"//?/c:/./foo//bar/../baz", result, state, '\\')
- doAssert result == r"\\?\c:\foo\baz"
- addNormalizePath("me", result, state, '\\')
- doAssert result == r"\\?\c:\foo\baz\me"
- block: # Append path component to UNC drive
- initVars
- addNormalizePath(r"//?/c:", result, state, '\\')
- doAssert result == r"\\?\c:"
- addNormalizePath("Users", result, state, '\\')
- doAssert result == r"\\?\c:\Users"
- addNormalizePath("me", result, state, '\\')
- doAssert result == r"\\?\c:\Users\me"
|