diff options
Diffstat (limited to 'home-manager/tests/modules/programs/ncmpcpp')
5 files changed, 100 insertions, 0 deletions
diff --git a/home-manager/tests/modules/programs/ncmpcpp/default.nix b/home-manager/tests/modules/programs/ncmpcpp/default.nix new file mode 100644 index 00000000000..c150b0d8248 --- /dev/null +++ b/home-manager/tests/modules/programs/ncmpcpp/default.nix @@ -0,0 +1,4 @@ +{ + ncmpcpp-empty-settings = ./ncmpcpp-empty-settings.nix; + ncmpcpp-example-settings = ./ncmpcpp-example-settings.nix; +} diff --git a/home-manager/tests/modules/programs/ncmpcpp/ncmpcpp-empty-settings.nix b/home-manager/tests/modules/programs/ncmpcpp/ncmpcpp-empty-settings.nix new file mode 100644 index 00000000000..e5134002d3e --- /dev/null +++ b/home-manager/tests/modules/programs/ncmpcpp/ncmpcpp-empty-settings.nix @@ -0,0 +1,16 @@ +{ pkgs, ... }: + +{ + config = { + programs.ncmpcpp.enable = true; + + nixpkgs.overlays = + [ (self: super: { ncmpcpp = pkgs.writeScriptBin "dummy-ncmpcpp" ""; }) ]; + + nmt.script = '' + assertPathNotExists home-files/.config/ncmpcpp/config + + assertPathNotExists home-files/.config/ncmpcpp/bindings + ''; + }; +} diff --git a/home-manager/tests/modules/programs/ncmpcpp/ncmpcpp-example-settings-expected-bindings b/home-manager/tests/modules/programs/ncmpcpp/ncmpcpp-example-settings-expected-bindings new file mode 100644 index 00000000000..a73bd129ffd --- /dev/null +++ b/home-manager/tests/modules/programs/ncmpcpp/ncmpcpp-example-settings-expected-bindings @@ -0,0 +1,16 @@ +def_key "j" + scroll_down +def_key "k" + scroll_up +def_key "J" + select_item + scroll_down +def_key "K" + select_item + scroll_up +def_key "x" + delete_playlist_items +def_key "x" + delete_browser_items +def_key "x" + delete_stored_playlist diff --git a/home-manager/tests/modules/programs/ncmpcpp/ncmpcpp-example-settings-expected-config b/home-manager/tests/modules/programs/ncmpcpp/ncmpcpp-example-settings-expected-config new file mode 100644 index 00000000000..6aedb6110e4 --- /dev/null +++ b/home-manager/tests/modules/programs/ncmpcpp/ncmpcpp-example-settings-expected-config @@ -0,0 +1,4 @@ +display_volume_level=no +mpd_music_dir=/home/user/music +playlist_disable_highlight_delay=0 +user_interface=alternative diff --git a/home-manager/tests/modules/programs/ncmpcpp/ncmpcpp-example-settings.nix b/home-manager/tests/modules/programs/ncmpcpp/ncmpcpp-example-settings.nix new file mode 100644 index 00000000000..02a1f09c902 --- /dev/null +++ b/home-manager/tests/modules/programs/ncmpcpp/ncmpcpp-example-settings.nix @@ -0,0 +1,60 @@ +{ pkgs, ... }: + +{ + config = { + programs.ncmpcpp = { + enable = true; + mpdMusicDir = "/home/user/music"; + + settings = { + user_interface = "alternative"; + display_volume_level = false; + playlist_disable_highlight_delay = 0; + }; + + bindings = [ + { + key = "j"; + command = "scroll_down"; + } + { + key = "k"; + command = "scroll_up"; + } + { + key = "J"; + command = [ "select_item" "scroll_down" ]; + } + { + key = "K"; + command = [ "select_item" "scroll_up" ]; + } + { + key = "x"; + command = "delete_playlist_items"; + } + { + key = "x"; + command = "delete_browser_items"; + } + { + key = "x"; + command = "delete_stored_playlist"; + } + ]; + }; + + nixpkgs.overlays = + [ (self: super: { ncmpcpp = pkgs.writeScriptBin "dummy-ncmpcpp" ""; }) ]; + + nmt.script = '' + assertFileContent \ + home-files/.config/ncmpcpp/config \ + ${./ncmpcpp-example-settings-expected-config} + + assertFileContent \ + home-files/.config/ncmpcpp/bindings \ + ${./ncmpcpp-example-settings-expected-bindings} + ''; + }; +} |