Undeprecate isvalidfilename (#19643)
* Remove deprecated isvalidfilename * https://github.com/nim-lang/Nim/pull/19643#issuecomment-1235102314 * https://github.com/nim-lang/Nim/pull/19643#issuecomment-1235102314 * https://github.com/nim-lang/Nim/pull/19643#issuecomment-1235102314 * Add unittests * Add more Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
This commit is contained in:
parent
f56085f21e
commit
1e635bb539
3 changed files with 60 additions and 33 deletions
|
|
@ -672,32 +672,24 @@ block: # normalizePathEnd
|
|||
doAssert r"E:/".normalizePathEnd(trailingSep = true) == r"E:\"
|
||||
doAssert "/".normalizePathEnd == r"\"
|
||||
|
||||
block: # isValidFilename
|
||||
# Negative Tests.
|
||||
doAssert not isValidFilename("abcd", maxLen = 2)
|
||||
doAssert not isValidFilename("0123456789", maxLen = 8)
|
||||
doAssert not isValidFilename("con")
|
||||
doAssert not isValidFilename("aux")
|
||||
doAssert not isValidFilename("prn")
|
||||
doAssert not isValidFilename("OwO|UwU")
|
||||
doAssert not isValidFilename(" foo")
|
||||
doAssert not isValidFilename("foo ")
|
||||
doAssert not isValidFilename("foo.")
|
||||
doAssert not isValidFilename("con.txt")
|
||||
doAssert not isValidFilename("aux.bat")
|
||||
doAssert not isValidFilename("prn.exe")
|
||||
doAssert not isValidFilename("nim>.nim")
|
||||
doAssert not isValidFilename(" foo.log")
|
||||
# Positive Tests.
|
||||
doAssert isValidFilename("abcd", maxLen = 42.Positive)
|
||||
doAssert isValidFilename("c0n")
|
||||
doAssert isValidFilename("foo.aux")
|
||||
doAssert isValidFilename("bar.prn")
|
||||
doAssert isValidFilename("OwO_UwU")
|
||||
doAssert isValidFilename("cron")
|
||||
doAssert isValidFilename("ux.bat")
|
||||
doAssert isValidFilename("nim.nim")
|
||||
doAssert isValidFilename("foo.log")
|
||||
|
||||
import sugar
|
||||
|
||||
block: # normalizeExe
|
||||
doAssert "".dup(normalizeExe) == ""
|
||||
when defined(posix):
|
||||
doAssert "foo".dup(normalizeExe) == "./foo"
|
||||
doAssert "foo/../bar".dup(normalizeExe) == "foo/../bar"
|
||||
when defined(windows):
|
||||
doAssert "foo".dup(normalizeExe) == "foo"
|
||||
|
||||
block: # isAdmin
|
||||
let isAzure = existsEnv("TF_BUILD") # xxx factor with testament.specs.isAzure
|
||||
# In Azure on Windows tests run as an admin user
|
||||
if isAzure and defined(windows): doAssert isAdmin()
|
||||
# In Azure on POSIX tests run as a normal user
|
||||
if isAzure and defined(posix): doAssert not isAdmin()
|
||||
|
||||
|
||||
import sugar
|
||||
|
||||
|
|
@ -793,3 +785,32 @@ else:
|
|||
doAssert parentDirs("/home/user", fromRoot=false).toSeq == @["/home/user", "/home", "/"]
|
||||
doAssert parentDirs("home/user", fromRoot=true).toSeq == @["home/", "home/user"]
|
||||
doAssert parentDirs("home/user", fromRoot=false).toSeq == @["home/user", "home"]
|
||||
|
||||
|
||||
# https://github.com/nim-lang/Nim/pull/19643#issuecomment-1235102314
|
||||
block: # isValidFilename
|
||||
# Negative Tests.
|
||||
doAssert not isValidFilename("abcd", maxLen = 2)
|
||||
doAssert not isValidFilename("0123456789", maxLen = 8)
|
||||
doAssert not isValidFilename("con")
|
||||
doAssert not isValidFilename("aux")
|
||||
doAssert not isValidFilename("prn")
|
||||
doAssert not isValidFilename("OwO|UwU")
|
||||
doAssert not isValidFilename(" foo")
|
||||
doAssert not isValidFilename("foo ")
|
||||
doAssert not isValidFilename("foo.")
|
||||
doAssert not isValidFilename("con.txt")
|
||||
doAssert not isValidFilename("aux.bat")
|
||||
doAssert not isValidFilename("prn.exe")
|
||||
doAssert not isValidFilename("nim>.nim")
|
||||
doAssert not isValidFilename(" foo.log")
|
||||
# Positive Tests.
|
||||
doAssert isValidFilename("abcd", maxLen = 42.Positive)
|
||||
doAssert isValidFilename("c0n")
|
||||
doAssert isValidFilename("foo.aux")
|
||||
doAssert isValidFilename("bar.prn")
|
||||
doAssert isValidFilename("OwO_UwU")
|
||||
doAssert isValidFilename("cron")
|
||||
doAssert isValidFilename("ux.bat")
|
||||
doAssert isValidFilename("nim.nim")
|
||||
doAssert isValidFilename("foo.log")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue