diff options
author | Silvan Mosberger <contact@infinisil.com> | 2023-02-07 17:27:37 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-07 17:27:37 +0100 |
commit | a770c0393cb52777794c01cdb5a412883a732c19 (patch) | |
tree | e32ede90c76f93523959dca0e6b7113ecc4e60f0 /lib/path/tests | |
parent | c2a128317742fa241db73d6ace30348bb45a6824 (diff) | |
parent | eac2538707ee6edd475cb40bfa2ec3d2c05c3ac0 (diff) |
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.nix | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/lib/path/tests/unit.nix b/lib/path/tests/unit.nix index eccf3b7b1c33b..a1a45173a9098 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"; |