Sync local packages into the registry repo and update index.json and README.md to include all 9 packages.
73 lines
3.2 KiB
Plaintext
73 lines
3.2 KiB
Plaintext
import lib
|
|
|
|
fn isSome(opt: Option<String>, expected: String): Bool =
|
|
match opt {
|
|
Some(v) => v == expected,
|
|
None => false,
|
|
}
|
|
|
|
fn isNone(opt: Option<String>): Bool =
|
|
match opt {
|
|
Some(_) => false,
|
|
None => true,
|
|
}
|
|
|
|
fn test_basename(): Unit with {Test} = {
|
|
Test.assertEqualMsg("baz.txt", lib.basename("/foo/bar/baz.txt"), "basename with dirs")
|
|
Test.assertEqualMsg("file.txt", lib.basename("file.txt"), "basename no dir")
|
|
Test.assertEqualMsg("", lib.basename("/foo/bar/"), "basename trailing slash")
|
|
Test.assertEqualMsg("", lib.basename(""), "basename empty")
|
|
}
|
|
|
|
fn test_dirname(): Unit with {Test} = {
|
|
Test.assertEqualMsg("/foo/bar", lib.dirname("/foo/bar/baz.txt"), "dirname with dirs")
|
|
Test.assertEqualMsg(".", lib.dirname("file.txt"), "dirname no dir")
|
|
Test.assertEqualMsg("/", lib.dirname("/file.txt"), "dirname root")
|
|
}
|
|
|
|
fn test_extension(): Unit with {Test} = {
|
|
Test.assert(isSome(lib.extension("file.txt"), "txt"), "extension simple")
|
|
Test.assert(isSome(lib.extension("file.tar.gz"), "gz"), "extension double")
|
|
Test.assert(isNone(lib.extension("file")), "extension none")
|
|
Test.assert(isSome(lib.extension("/foo/bar.txt"), "txt"), "extension with dir")
|
|
Test.assert(isNone(lib.extension(".hidden")), "extension dotfile")
|
|
}
|
|
|
|
fn test_strip_extension(): Unit with {Test} = {
|
|
Test.assertEqualMsg("file", lib.stripExtension("file.txt"), "stripExtension simple")
|
|
Test.assertEqualMsg("file", lib.stripExtension("file"), "stripExtension none")
|
|
Test.assertEqualMsg("/foo/bar", lib.stripExtension("/foo/bar.txt"), "stripExtension with dir")
|
|
}
|
|
|
|
fn test_join(): Unit with {Test} = {
|
|
Test.assertEqualMsg("/foo/bar", lib.join("/foo", "bar"), "join basic")
|
|
Test.assertEqualMsg("/foo/bar", lib.join("/foo/", "bar"), "join trailing slash")
|
|
Test.assertEqualMsg("/foo/bar", lib.join("/foo", "/bar"), "join leading slash")
|
|
Test.assertEqualMsg("/foo/bar", lib.join("/foo/", "/bar"), "join both slashes")
|
|
Test.assertEqualMsg("bar", lib.join("", "bar"), "join empty first")
|
|
Test.assertEqualMsg("foo", lib.join("foo", ""), "join empty second")
|
|
}
|
|
|
|
fn test_has_extension(): Unit with {Test} = {
|
|
Test.assertEqualMsg(true, lib.hasExtension("file.txt", "txt"), "hasExtension true")
|
|
Test.assertEqualMsg(false, lib.hasExtension("file.md", "txt"), "hasExtension false")
|
|
}
|
|
|
|
fn test_replace_extension(): Unit with {Test} = {
|
|
Test.assertEqualMsg("file.md", lib.replaceExtension("file.txt", "md"), "replaceExtension simple")
|
|
Test.assertEqualMsg("file.md", lib.replaceExtension("file", "md"), "replaceExtension no ext")
|
|
}
|
|
|
|
fn test_stem(): Unit with {Test} = {
|
|
Test.assertEqualMsg("file", lib.stem("file.txt"), "stem simple")
|
|
Test.assertEqualMsg("bar", lib.stem("/foo/bar.txt"), "stem with dir")
|
|
Test.assertEqualMsg("file", lib.stem("file"), "stem no ext")
|
|
}
|
|
|
|
fn test_absolute_relative(): Unit with {Test} = {
|
|
Test.assertEqualMsg(true, lib.isAbsolute("/foo/bar"), "isAbsolute true")
|
|
Test.assertEqualMsg(false, lib.isAbsolute("foo/bar"), "isAbsolute false")
|
|
Test.assertEqualMsg(true, lib.isRelative("foo/bar"), "isRelative true")
|
|
Test.assertEqualMsg(false, lib.isRelative("/foo/bar"), "isRelative false")
|
|
}
|