forked from mirrors/nixpkgs
lib/tests/modules: Test functionTo submodule merging too
This commit is contained in:
parent
062bc5e74a
commit
81a0a8be29
|
@ -290,7 +290,8 @@ checkConfigOutput '^"a b"$' config.result ./functionTo/merging-list.nix
|
||||||
checkConfigError 'A definition for option .fun.\[function body\]. is not of type .string.. Definition values:\n\s*- In .*wrong-type.nix' config.result ./functionTo/wrong-type.nix
|
checkConfigError 'A definition for option .fun.\[function body\]. is not of type .string.. Definition values:\n\s*- In .*wrong-type.nix' config.result ./functionTo/wrong-type.nix
|
||||||
checkConfigOutput '^"b a"$' config.result ./functionTo/list-order.nix
|
checkConfigOutput '^"b a"$' config.result ./functionTo/list-order.nix
|
||||||
checkConfigOutput '^"a c"$' config.result ./functionTo/merging-attrs.nix
|
checkConfigOutput '^"a c"$' config.result ./functionTo/merging-attrs.nix
|
||||||
checkConfigOutput '^"fun.\[function body\].a fun.\[function body\].b"$' config.result ./functionTo/submodule-options.nix
|
checkConfigOutput '^"a bee"$' config.result ./functionTo/submodule-options.nix
|
||||||
|
checkConfigOutput '^"fun.\[function body\].a fun.\[function body\].b"$' config.optionsResult ./functionTo/submodule-options.nix
|
||||||
|
|
||||||
# moduleType
|
# moduleType
|
||||||
checkConfigOutput '^"a b"$' config.resultFoo ./declare-variants.nix ./define-variant.nix
|
checkConfigOutput '^"a b"$' config.resultFoo ./declare-variants.nix ./define-variant.nix
|
||||||
|
|
|
@ -10,7 +10,7 @@ in
|
||||||
options = {
|
options = {
|
||||||
fun = lib.mkOption {
|
fun = lib.mkOption {
|
||||||
type = types.functionTo (types.submodule {
|
type = types.functionTo (types.submodule {
|
||||||
options.a = lib.mkOption { };
|
options.a = lib.mkOption { default = "a"; };
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -21,7 +21,7 @@ in
|
||||||
options = {
|
options = {
|
||||||
fun = lib.mkOption {
|
fun = lib.mkOption {
|
||||||
type = types.functionTo (types.submodule {
|
type = types.functionTo (types.submodule {
|
||||||
options.b = lib.mkOption { };
|
options.b = lib.mkOption { default = "b"; };
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -30,6 +30,12 @@ in
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
result = lib.mkOption
|
result = lib.mkOption
|
||||||
|
{
|
||||||
|
type = types.str;
|
||||||
|
default = lib.concatStringsSep " " (lib.attrValues (config.fun (throw "shouldn't use input param")));
|
||||||
|
};
|
||||||
|
|
||||||
|
optionsResult = lib.mkOption
|
||||||
{
|
{
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = lib.concatStringsSep " "
|
default = lib.concatStringsSep " "
|
||||||
|
@ -50,10 +56,6 @@ in
|
||||||
|
|
||||||
config.fun = lib.mkMerge
|
config.fun = lib.mkMerge
|
||||||
[
|
[
|
||||||
(input: { inherit (input) a; })
|
(input: { b = "bee"; })
|
||||||
(input: { inherit (input) b; })
|
|
||||||
(input: {
|
|
||||||
b = lib.mkForce input.c;
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue