diff options
author | Silvan Mosberger <silvan.mosberger@tweag.io> | 2023-07-18 18:24:45 +0200 |
---|---|---|
committer | Silvan Mosberger <silvan.mosberger@tweag.io> | 2023-07-18 20:27:15 +0200 |
commit | fa503f4b921b3af86a7fcf9b2e02a00fd79bc1a8 (patch) | |
tree | b22d1917d5d97264195648bbdbb82e6b8ccef7f6 /lib/tests | |
parent | 446b09fd3dc352e31056db37a1b14cc5087f9c4d (diff) |
lib.attrsets.mergeAttrsList: init
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
Diffstat (limited to 'lib/tests')
-rw-r--r-- | lib/tests/misc.nix | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix index ce980436c1bcb..8686169546099 100644 --- a/lib/tests/misc.nix +++ b/lib/tests/misc.nix @@ -609,6 +609,31 @@ runTests { }; }; + + testMergeAttrsListExample1 = { + expr = attrsets.mergeAttrsList [ { a = 0; b = 1; } { c = 2; d = 3; } ]; + expected = { a = 0; b = 1; c = 2; d = 3; }; + }; + testMergeAttrsListExample2 = { + expr = attrsets.mergeAttrsList [ { a = 0; } { a = 1; } ]; + expected = { a = 1; }; + }; + testMergeAttrsListExampleMany = + let + list = genList (n: + listToAttrs (genList (m: + let + # Integer divide n by two to create duplicate attributes + str = "halfn${toString (n / 2)}m${toString m}"; + in + nameValuePair str str + ) 100) + ) 100; + in { + expr = attrsets.mergeAttrsList list; + expected = foldl' mergeAttrs { } list; + }; + # code from the example testRecursiveUpdateUntil = { expr = recursiveUpdateUntil (path: l: r: path == ["foo"]) { |