diff --git a/tests/modules/programs/riff/default.nix b/tests/modules/programs/riff/default.nix new file mode 100644 index 000000000..bd8f2e06a --- /dev/null +++ b/tests/modules/programs/riff/default.nix @@ -0,0 +1,5 @@ +{ + riff-basic = ./riff-basic.nix; + riff-with-git-integration = ./riff-with-git-integration.nix; + riff-migration = ./riff-migration.nix; +} diff --git a/tests/modules/programs/riff/riff-basic.nix b/tests/modules/programs/riff/riff-basic.nix new file mode 100644 index 000000000..275755c14 --- /dev/null +++ b/tests/modules/programs/riff/riff-basic.nix @@ -0,0 +1,13 @@ +{ + programs.riff = { + enable = true; + commandLineOptions = [ "--no-adds-only-special" ]; + }; + programs.git.enable = true; + + nmt.script = '' + # Git config should NOT contain riff configuration since enableGitIntegration is false by default + assertFileNotRegex home-files/.config/git/config '\[pager\]' + assertFileNotRegex home-files/.config/git/config 'diff = riff' + ''; +} diff --git a/tests/modules/programs/riff/riff-migration.nix b/tests/modules/programs/riff/riff-migration.nix new file mode 100644 index 000000000..062b8eb02 --- /dev/null +++ b/tests/modules/programs/riff/riff-migration.nix @@ -0,0 +1,32 @@ +{ + lib, + options, + ... +}: + +{ + programs.git = { + enable = true; + riff = { + enable = true; + commandLineOptions = [ "--no-adds-only-special" ]; + }; + }; + + test.asserts.warnings.expected = [ + "The option `programs.git.riff.commandLineOptions' defined in ${lib.showFiles options.programs.git.riff.commandLineOptions.files} has been renamed to `programs.riff.commandLineOptions'." + "The option `programs.git.riff.enable' defined in ${lib.showFiles options.programs.git.riff.enable.files} has been renamed to `programs.riff.enable'." + "`programs.riff.enableGitIntegration` automatic enablement is deprecated. Please explicitly set `programs.riff.enableGitIntegration = true`." + ]; + + nmt.script = '' + # Git config should contain riff configuration (backward compatibility) + assertFileExists home-files/.config/git/config + assertFileContains home-files/.config/git/config '[pager]' + assertFileContains home-files/.config/git/config 'diff = "riff"' + assertFileContains home-files/.config/git/config 'log = "riff"' + assertFileContains home-files/.config/git/config 'show = "riff"' + assertFileContains home-files/.config/git/config '[interactive]' + assertFileContains home-files/.config/git/config 'diffFilter = "riff --color=on"' + ''; +} diff --git a/tests/modules/programs/riff/riff-with-git-integration.nix b/tests/modules/programs/riff/riff-with-git-integration.nix new file mode 100644 index 000000000..489d535c8 --- /dev/null +++ b/tests/modules/programs/riff/riff-with-git-integration.nix @@ -0,0 +1,19 @@ +{ + programs.riff = { + enable = true; + enableGitIntegration = true; + commandLineOptions = [ "--no-adds-only-special" ]; + }; + + programs.git.enable = true; + + nmt.script = '' + assertFileExists home-files/.config/git/config + assertFileContains home-files/.config/git/config '[pager]' + assertFileContains home-files/.config/git/config 'diff = "riff"' + assertFileContains home-files/.config/git/config 'log = "riff"' + assertFileContains home-files/.config/git/config 'show = "riff"' + assertFileContains home-files/.config/git/config '[interactive]' + assertFileContains home-files/.config/git/config 'diffFilter = "riff --color=on"' + ''; +}