summaryrefslogtreecommitdiff
path: root/lib/path/tests
diff options
context:
space:
mode:
authorSilvan Mosberger <contact@infinisil.com>2023-02-07 17:27:37 +0100
committerGitHub <noreply@github.com>2023-02-07 17:27:37 +0100
commita770c0393cb52777794c01cdb5a412883a732c19 (patch)
treee32ede90c76f93523959dca0e6b7113ecc4e60f0 /lib/path/tests
parentMerge PR #201318: gnomeExtensions.tophat: patch missing dependency (diff)
parentlib.path.append: init (diff)
downloadnixpkgs-a770c0393cb52777794c01cdb5a412883a732c19.tar.gz
Merge pull request #208887 from tweag/lib.path.append
lib.path.append: init
Diffstat (limited to 'lib/path/tests')
-rw-r--r--lib/path/tests/unit.nix40
1 files changed, 39 insertions, 1 deletions
diff --git a/lib/path/tests/unit.nix b/lib/path/tests/unit.nix
index eccf3b7b1c33..a1a45173a909 100644
--- a/lib/path/tests/unit.nix
+++ b/lib/path/tests/unit.nix
@@ -3,9 +3,44 @@
{ libpath }:
let
lib = import libpath;
- inherit (lib.path) subpath;
+ inherit (lib.path) append subpath;
cases = lib.runTests {
+ # Test examples from the lib.path.append documentation
+ testAppendExample1 = {
+ expr = append /foo "bar/baz";
+ expected = /foo/bar/baz;
+ };
+ testAppendExample2 = {
+ expr = append /foo "./bar//baz/./";
+ expected = /foo/bar/baz;
+ };
+ testAppendExample3 = {
+ expr = append /. "foo/bar";
+ expected = /foo/bar;
+ };
+ testAppendExample4 = {
+ expr = (builtins.tryEval (append "/foo" "bar")).success;
+ expected = false;
+ };
+ testAppendExample5 = {
+ expr = (builtins.tryEval (append /foo /bar)).success;
+ expected = false;
+ };
+ testAppendExample6 = {
+ expr = (builtins.tryEval (append /foo "")).success;
+ expected = false;
+ };
+ testAppendExample7 = {
+ expr = (builtins.tryEval (append /foo "/bar")).success;
+ expected = false;
+ };
+ testAppendExample8 = {
+ expr = (builtins.tryEval (append /foo "../bar")).success;
+ expected = false;
+ };
+
+ # Test examples from the lib.path.subpath.isValid documentation
testSubpathIsValidExample1 = {
expr = subpath.isValid null;
expected = false;
@@ -30,6 +65,7 @@ let
expr = subpath.isValid "./foo//bar/";
expected = true;
};
+ # Some extra tests
testSubpathIsValidTwoDotsEnd = {
expr = subpath.isValid "foo/..";
expected = false;
@@ -71,6 +107,7 @@ let
expected = true;
};
+ # Test examples from the lib.path.subpath.normalise documentation
testSubpathNormaliseExample1 = {
expr = subpath.normalise "foo//bar";
expected = "./foo/bar";
@@ -107,6 +144,7 @@ let
expr = (builtins.tryEval (subpath.normalise "/foo")).success;
expected = false;
};
+ # Some extra tests
testSubpathNormaliseIsValidDots = {
expr = subpath.normalise "./foo/.bar/.../baz...qux";
expected = "./foo/.bar/.../baz...qux";