From f3fbb50b68df20da47f9b0def5607857fcc0d021 Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Mon, 2 Mar 2020 22:31:15 +0100 Subject: [PATCH] polybar: add test case --- tests/default.nix | 1 + .../services/polybar/basic-configuration.conf | 21 ++++++++ .../services/polybar/basic-configuration.nix | 48 +++++++++++++++++++ tests/modules/services/polybar/default.nix | 1 + 4 files changed, 71 insertions(+) create mode 100644 tests/modules/services/polybar/basic-configuration.conf create mode 100644 tests/modules/services/polybar/basic-configuration.nix create mode 100644 tests/modules/services/polybar/default.nix diff --git a/tests/default.nix b/tests/default.nix index 1d3381010..11e9b7d2f 100644 --- a/tests/default.nix +++ b/tests/default.nix @@ -50,6 +50,7 @@ import nmt { ./modules/programs/firefox ./modules/programs/getmail ./modules/programs/rofi + ./modules/services/polybar ./modules/services/sxhkd ./modules/services/window-managers/i3 ./modules/systemd diff --git a/tests/modules/services/polybar/basic-configuration.conf b/tests/modules/services/polybar/basic-configuration.conf new file mode 100644 index 000000000..54448a705 --- /dev/null +++ b/tests/modules/services/polybar/basic-configuration.conf @@ -0,0 +1,21 @@ +[bar/top] +height=3% +modules-center=date +monitor=${env:MONITOR:eDP1} +radius=0 +width=100% + +[module/date] +date=%d.%m.%y +internal=5 +label=%time% %date% +time=%H:%M +type=internal/date + +[module/date] +type = internal/date +interval = 5 +date = "%d.%m.%y" +time = %H:%M +format-prefix-foreground = ${colors.foreground-alt} +label = %time% %date% diff --git a/tests/modules/services/polybar/basic-configuration.nix b/tests/modules/services/polybar/basic-configuration.nix new file mode 100644 index 000000000..a50bcdf53 --- /dev/null +++ b/tests/modules/services/polybar/basic-configuration.nix @@ -0,0 +1,48 @@ +{ config, pkgs, ... }: + +{ + config = { + services.polybar = { + enable = true; + package = pkgs.writeScriptBin "dummy-polybar" ""; + script = "polybar bar &"; + config = { + "bar/top" = { + monitor = "\${env:MONITOR:eDP1}"; + width = "100%"; + height = "3%"; + radius = 0; + modules-center = "date"; + }; + "module/date" = { + type = "internal/date"; + internal = 5; + date = "%d.%m.%y"; + time = "%H:%M"; + label = "%time% %date%"; + }; + }; + extraConfig = '' + [module/date] + type = internal/date + interval = 5 + date = "%d.%m.%y" + time = %H:%M + format-prefix-foreground = ''${colors.foreground-alt} + label = %time% %date% + ''; + }; + + nmt.script = '' + local serviceFile=home-files/.config/systemd/user/polybar.service + + assertFileExists $serviceFile + assertFileRegex $serviceFile 'X-Restart-Triggers=.*polybar\.conf' + assertFileRegex $serviceFile 'ExecStart=.*/bin/polybar-start' + + assertFileExists home-files/.config/polybar/config + assertFileContent home-files/.config/polybar/config \ + ${./basic-configuration.conf} + ''; + }; +} diff --git a/tests/modules/services/polybar/default.nix b/tests/modules/services/polybar/default.nix new file mode 100644 index 000000000..94d5d3cde --- /dev/null +++ b/tests/modules/services/polybar/default.nix @@ -0,0 +1 @@ +{ polybar-basic-configuration = ./basic-configuration.nix; }