lib/tests/modules: Test doRename

This commit is contained in:
Robert Hensing 2022-11-03 13:11:04 +01:00
parent ad10d4fdef
commit 1b6e5ac952
3 changed files with 32 additions and 0 deletions

View File

@ -348,6 +348,13 @@ checkConfigOutput 'ok' config.freeformItems.foo.bar ./adhoc-freeformType-survive
# because of an `extendModules` bug, issue 168767.
checkConfigOutput '^1$' config.sub.specialisation.value ./extendModules-168767-imports.nix
# doRename works when `warnings` does not exist.
checkConfigOutput '^1234$' config.c.d.e ./doRename-basic.nix
# doRename adds a warning.
checkConfigOutput '^"The option `a\.b. defined in `.*/doRename-warnings\.nix. has been renamed to `c\.d\.e.\."$' \
config.result \
./doRename-warnings.nix
cat <<EOF
====== module tests ======
$pass Pass

View File

@ -0,0 +1,11 @@
{ lib, ... }: {
imports = [
(lib.doRename { from = ["a" "b"]; to = ["c" "d" "e"]; warn = true; use = x: x; visible = true; })
];
options = {
c.d.e = lib.mkOption {};
};
config = {
a.b = 1234;
};
}

View File

@ -0,0 +1,14 @@
{ lib, config, ... }: {
imports = [
(lib.doRename { from = ["a" "b"]; to = ["c" "d" "e"]; warn = true; use = x: x; visible = true; })
];
options = {
warnings = lib.mkOption { type = lib.types.listOf lib.types.str; };
c.d.e = lib.mkOption {};
result = lib.mkOption {};
};
config = {
a.b = 1234;
result = lib.concatStringsSep "%" config.warnings;
};
}