diff options
author | Robert Helgesson <robert@rycee.net> | 2018-03-24 17:38:45 +0100 |
---|---|---|
committer | Robert Helgesson <robert@rycee.net> | 2018-05-07 20:23:52 +0200 |
commit | 08e8701673a84b800e0960c50f78793a23e635ba (patch) | |
tree | 7e3f3efeda1396775b1bba321ea420d3b38f1f00 /lib/tests/modules | |
parent | 0b04ed61771d9f4848347d468b73ed581d43f847 (diff) | |
download | nixpkgs-08e8701673a84b800e0960c50f78793a23e635ba.tar nixpkgs-08e8701673a84b800e0960c50f78793a23e635ba.tar.gz nixpkgs-08e8701673a84b800e0960c50f78793a23e635ba.tar.bz2 nixpkgs-08e8701673a84b800e0960c50f78793a23e635ba.tar.lz nixpkgs-08e8701673a84b800e0960c50f78793a23e635ba.tar.xz nixpkgs-08e8701673a84b800e0960c50f78793a23e635ba.tar.zst nixpkgs-08e8701673a84b800e0960c50f78793a23e635ba.zip |
lib.types: fix loaOf behavior for long lists
Assigning a list of 10 or more elements to an option having the type `loaOf a` produces a configuration value that is not honoring the order of the original list. This commit fixes this and a related issue arising when 10 or more lists are merged into this type of option.
Diffstat (limited to 'lib/tests/modules')
-rw-r--r-- | lib/tests/modules/loaOf-with-long-list.nix | 19 | ||||
-rw-r--r-- | lib/tests/modules/loaOf-with-many-list-merges.nix | 19 |
2 files changed, 38 insertions, 0 deletions
diff --git a/lib/tests/modules/loaOf-with-long-list.nix b/lib/tests/modules/loaOf-with-long-list.nix new file mode 100644 index 00000000000..f30903c47e5 --- /dev/null +++ b/lib/tests/modules/loaOf-with-long-list.nix @@ -0,0 +1,19 @@ +{ config, lib, ... }: + +{ + options = { + loaOfInt = lib.mkOption { + type = lib.types.loaOf lib.types.int; + }; + + result = lib.mkOption { + type = lib.types.str; + }; + }; + + config = { + loaOfInt = [ 1 2 3 4 5 6 7 8 9 10 ]; + + result = toString (lib.attrValues config.loaOfInt); + }; +} diff --git a/lib/tests/modules/loaOf-with-many-list-merges.nix b/lib/tests/modules/loaOf-with-many-list-merges.nix new file mode 100644 index 00000000000..f8f8a8da82b --- /dev/null +++ b/lib/tests/modules/loaOf-with-many-list-merges.nix @@ -0,0 +1,19 @@ +{ config, lib, ... }: + +{ + options = { + loaOfInt = lib.mkOption { + type = lib.types.loaOf lib.types.int; + }; + + result = lib.mkOption { + type = lib.types.str; + }; + }; + + config = { + loaOfInt = lib.mkMerge (map lib.singleton [ 1 2 3 4 5 6 7 8 9 10 ]); + + result = toString (lib.attrValues config.loaOfInt); + }; +} |