diff --git a/tests/modules/programs/patdiff/default.nix b/tests/modules/programs/patdiff/default.nix new file mode 100644 index 000000000..73b4614f4 --- /dev/null +++ b/tests/modules/programs/patdiff/default.nix @@ -0,0 +1,5 @@ +{ + patdiff-basic = ./patdiff-basic.nix; + patdiff-with-git-integration = ./patdiff-with-git-integration.nix; + patdiff-migration = ./patdiff-migration.nix; +} diff --git a/tests/modules/programs/patdiff/patdiff-basic.nix b/tests/modules/programs/patdiff/patdiff-basic.nix new file mode 100644 index 000000000..6d5c08103 --- /dev/null +++ b/tests/modules/programs/patdiff/patdiff-basic.nix @@ -0,0 +1,11 @@ +{ + programs.patdiff = { + enable = true; + }; + programs.git.enable = true; + + nmt.script = '' + # Git config should NOT contain patdiff configuration since enableGitIntegration is false by default + assertFileNotRegex home-files/.config/git/config 'external = .*/patdiff-git-wrapper' + ''; +} diff --git a/tests/modules/programs/patdiff/patdiff-migration.nix b/tests/modules/programs/patdiff/patdiff-migration.nix new file mode 100644 index 000000000..40733ea21 --- /dev/null +++ b/tests/modules/programs/patdiff/patdiff-migration.nix @@ -0,0 +1,26 @@ +{ + lib, + options, + ... +}: + +{ + programs.git = { + enable = true; + patdiff = { + enable = true; + }; + }; + + test.asserts.warnings.expected = [ + "The option `programs.git.patdiff.enable' defined in ${lib.showFiles options.programs.git.patdiff.enable.files} has been renamed to `programs.patdiff.enable'." + "`programs.patdiff.enableGitIntegration` automatic enablement is deprecated. Please explicitly set `programs.patdiff.enableGitIntegration = true`." + ]; + + nmt.script = '' + # Git config should contain patdiff configuration (backward compatibility) + assertFileExists home-files/.config/git/config + assertFileContains home-files/.config/git/config '[diff]' + assertFileRegex home-files/.config/git/config 'external = .*/patdiff-git-wrapper' + ''; +} diff --git a/tests/modules/programs/patdiff/patdiff-with-git-integration.nix b/tests/modules/programs/patdiff/patdiff-with-git-integration.nix new file mode 100644 index 000000000..d50433917 --- /dev/null +++ b/tests/modules/programs/patdiff/patdiff-with-git-integration.nix @@ -0,0 +1,14 @@ +{ + programs.patdiff = { + enable = true; + enableGitIntegration = true; + }; + + programs.git.enable = true; + + nmt.script = '' + assertFileExists home-files/.config/git/config + assertFileContains home-files/.config/git/config '[diff]' + assertFileRegex home-files/.config/git/config 'external = .*/patdiff-git-wrapper' + ''; +}