lib/tests: Add tests for types.anything
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
{ lib, ... }: {
|
||||
|
||||
options.value = lib.mkOption {
|
||||
type = lib.types.anything;
|
||||
};
|
||||
|
||||
config.value = {
|
||||
outPath = "foo";
|
||||
err = throw "err";
|
||||
};
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
];
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
];
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{ lib, ... }: {
|
||||
|
||||
options.value = lib.mkOption {
|
||||
type = lib.types.anything;
|
||||
};
|
||||
|
||||
config = lib.mkMerge [
|
||||
{
|
||||
value = [ null ];
|
||||
}
|
||||
{
|
||||
value = [ null ];
|
||||
}
|
||||
];
|
||||
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
}
|
||||
@@ -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