diff --git a/tests/modules/programs/git/default.nix b/tests/modules/programs/git/default.nix index 8b86cef6e..49f58e695 100644 --- a/tests/modules/programs/git/default.nix +++ b/tests/modules/programs/git/default.nix @@ -9,4 +9,5 @@ git-with-hooks = ./git-with-hooks.nix; git-with-lfs = ./git-with-lfs.nix; git-with-maintenance = ./git-with-maintenance.nix; + git-settings-deprecations = ./git-settings-deprecations.nix; } diff --git a/tests/modules/programs/git/git-settings-deprecations.nix b/tests/modules/programs/git/git-settings-deprecations.nix new file mode 100644 index 000000000..9556c7caf --- /dev/null +++ b/tests/modules/programs/git/git-settings-deprecations.nix @@ -0,0 +1,29 @@ +{ lib, options, ... }: + +{ + programs.git = { + enable = true; + userName = "John Doe"; + userEmail = "john@example.com"; + aliases = { + co = "checkout"; + st = "status"; + }; + }; + + test.asserts.warnings.expected = [ + "The option `programs.git.aliases' defined in ${lib.showFiles options.programs.git.aliases.files} has been renamed to `programs.git.settings.alias'." + "The option `programs.git.userEmail' defined in ${lib.showFiles options.programs.git.userEmail.files} has been renamed to `programs.git.settings.user.email'." + "The option `programs.git.userName' defined in ${lib.showFiles options.programs.git.userName.files} has been renamed to `programs.git.settings.user.name'." + ]; + + nmt.script = '' + assertFileExists home-files/.config/git/config + assertFileContains home-files/.config/git/config '[alias]' + assertFileContains home-files/.config/git/config 'co = "checkout"' + assertFileContains home-files/.config/git/config 'st = "status"' + assertFileContains home-files/.config/git/config '[user]' + assertFileContains home-files/.config/git/config 'email = "john@example.com"' + assertFileContains home-files/.config/git/config 'name = "John Doe"' + ''; +}