lib/tests: Add tests for types.anything
This commit is contained in:
12
lib/tests/modules/types-anything/attrs-coercible.nix
Normal file
12
lib/tests/modules/types-anything/attrs-coercible.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
{ lib, ... }: {
|
||||
|
||||
options.value = lib.mkOption {
|
||||
type = lib.types.anything;
|
||||
};
|
||||
|
||||
config.value = {
|
||||
outPath = "foo";
|
||||
err = throw "err";
|
||||
};
|
||||
|
||||
}
|
||||
26
lib/tests/modules/types-anything/equal-atoms.nix
Normal file
26
lib/tests/modules/types-anything/equal-atoms.nix
Normal file
@@ -0,0 +1,26 @@
|
||||
{ lib, ... }: {
|
||||
|
||||
options.value = lib.mkOption {
|
||||
type = lib.types.anything;
|
||||
};
|
||||
|
||||
config = lib.mkMerge [
|
||||
{
|
||||
value.int = 0;
|
||||
value.bool = false;
|
||||
value.string = "";
|
||||
value.path = /.;
|
||||
value.null = null;
|
||||
value.float = 0.1;
|
||||
}
|
||||
{
|
||||
value.int = 0;
|
||||
value.bool = false;
|
||||
value.string = "";
|
||||
value.path = /.;
|
||||
value.null = null;
|
||||
value.float = 0.1;
|
||||
}
|
||||
];
|
||||
|
||||
}
|
||||
17
lib/tests/modules/types-anything/functions.nix
Normal file
17
lib/tests/modules/types-anything/functions.nix
Normal file
@@ -0,0 +1,17 @@
|
||||
{ lib, ... }: {
|
||||
|
||||
options.value = lib.mkOption {
|
||||
type = lib.types.anything;
|
||||
};
|
||||
|
||||
config = lib.mkMerge [
|
||||
{
|
||||
value.single-lambda = x: x;
|
||||
value.multiple-lambdas = x: x;
|
||||
}
|
||||
{
|
||||
value.multiple-lambdas = x: x;
|
||||
}
|
||||
];
|
||||
|
||||
}
|
||||
16
lib/tests/modules/types-anything/lists.nix
Normal file
16
lib/tests/modules/types-anything/lists.nix
Normal file
@@ -0,0 +1,16 @@
|
||||
{ lib, ... }: {
|
||||
|
||||
options.value = lib.mkOption {
|
||||
type = lib.types.anything;
|
||||
};
|
||||
|
||||
config = lib.mkMerge [
|
||||
{
|
||||
value = [ null ];
|
||||
}
|
||||
{
|
||||
value = [ null ];
|
||||
}
|
||||
];
|
||||
|
||||
}
|
||||
44
lib/tests/modules/types-anything/mk-mods.nix
Normal file
44
lib/tests/modules/types-anything/mk-mods.nix
Normal file
@@ -0,0 +1,44 @@
|
||||
{ lib, ... }: {
|
||||
|
||||
options.value = lib.mkOption {
|
||||
type = lib.types.anything;
|
||||
};
|
||||
|
||||
config = lib.mkMerge [
|
||||
{
|
||||
value.mkiffalse = lib.mkIf false {};
|
||||
}
|
||||
{
|
||||
value.mkiftrue = lib.mkIf true {};
|
||||
}
|
||||
{
|
||||
value.mkdefault = lib.mkDefault 0;
|
||||
}
|
||||
{
|
||||
value.mkdefault = 1;
|
||||
}
|
||||
{
|
||||
value.mkmerge = lib.mkMerge [
|
||||
{}
|
||||
];
|
||||
}
|
||||
{
|
||||
value.mkbefore = lib.mkBefore true;
|
||||
}
|
||||
{
|
||||
value.nested = lib.mkMerge [
|
||||
{
|
||||
foo = lib.mkDefault 0;
|
||||
bar = lib.mkIf false 0;
|
||||
}
|
||||
(lib.mkIf true {
|
||||
foo = lib.mkIf true (lib.mkForce 1);
|
||||
bar = {
|
||||
baz = lib.mkDefault "baz";
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
}
|
||||
22
lib/tests/modules/types-anything/nested-attrs.nix
Normal file
22
lib/tests/modules/types-anything/nested-attrs.nix
Normal file
@@ -0,0 +1,22 @@
|
||||
{ lib, ... }: {
|
||||
|
||||
options.value = lib.mkOption {
|
||||
type = lib.types.anything;
|
||||
};
|
||||
|
||||
config = lib.mkMerge [
|
||||
{
|
||||
value.foo = null;
|
||||
}
|
||||
{
|
||||
value.l1.foo = null;
|
||||
}
|
||||
{
|
||||
value.l1.l2.foo = null;
|
||||
}
|
||||
{
|
||||
value.l1.l2.l3.foo = null;
|
||||
}
|
||||
];
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user