mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-02-13 06:19:01 +00:00
88 lines
3.1 KiB
Nix
88 lines
3.1 KiB
Nix
{ pkgs, lib, self }:
|
|
|
|
let sampleDesktopName = "horizontal-hunger";
|
|
in lib.runTests {
|
|
testsBuilderMakeSampleXDGAssociationList = {
|
|
expr = let
|
|
xdgAssociations = self.builders.makeXDGMimeAssociationList {
|
|
defaultApplications = { "application/pdf" = "firefox.desktop"; };
|
|
};
|
|
in builtins.readFile "${xdgAssociations}/share/applications/mimeapps.list";
|
|
expected = builtins.readFile ./data/fixtures/xdg-mime-sample-mimeapps.list;
|
|
};
|
|
|
|
# This should only create the "Default Applications" section of the
|
|
# specific-desktop mimeapps.list.
|
|
testsBuilderMakeSampleDesktopSpecificXDGAssociationList = {
|
|
expr = let
|
|
xdgAssociations = self.builders.makeXDGMimeAssociationList {
|
|
desktopName = sampleDesktopName;
|
|
defaultApplications = { "application/pdf" = "firefox.desktop"; };
|
|
};
|
|
in builtins.readFile
|
|
"${xdgAssociations}/share/applications/${sampleDesktopName}-mimeapps.list";
|
|
expected = builtins.readFile
|
|
./data/fixtures/xdg-mime-sample-desktop-specific-mimeapps.list;
|
|
};
|
|
|
|
testsBuilderMakeSampleXDGPortalCommonConfig = {
|
|
expr = let
|
|
xdgPortalConf = self.builders.makeXDGPortalConfiguration {
|
|
config.preferred = {
|
|
default = "gtk";
|
|
"org.freedesktop.impl.portal.Screencast" = "gnome";
|
|
};
|
|
};
|
|
in builtins.readFile
|
|
"${xdgPortalConf}/share/xdg-desktop-portal/portals.conf";
|
|
expected = builtins.readFile ./data/fixtures/xdg-portal.conf;
|
|
};
|
|
|
|
# We're just testing out if the destination is correct at this point.
|
|
testsBuilderMakeSampleXDGPortalDesktopSpecificConfig = {
|
|
expr = let
|
|
xdgPortalConf = self.builders.makeXDGPortalConfiguration {
|
|
desktopName = sampleDesktopName;
|
|
config.preferred = {
|
|
default = "gtk";
|
|
"org.freedesktop.impl.portal.Screencast" = "gnome";
|
|
};
|
|
};
|
|
in builtins.readFile
|
|
"${xdgPortalConf}/share/xdg-desktop-portal/${sampleDesktopName}-portals.conf";
|
|
expected = builtins.readFile ./data/fixtures/xdg-portal.conf;
|
|
};
|
|
|
|
# We're just testing out if the destination is correct at this point.
|
|
testsBuilderMakeSampleXDGDesktopEntry = {
|
|
expr = let
|
|
xdgDesktopEntry = self.builders.makeXDGDesktopEntry {
|
|
name = sampleDesktopName;
|
|
validate = false;
|
|
config = { "Desktop Entry".Exec = "Hello"; };
|
|
};
|
|
in builtins.readFile
|
|
"${xdgDesktopEntry}/share/applications/${sampleDesktopName}.desktop";
|
|
expected = builtins.readFile ./data/fixtures/xdg-desktop-entry.desktop;
|
|
};
|
|
|
|
# We're just testing out if the destination is correct at this point.
|
|
testsBuilderMakeSampleDesktopSessionFile = {
|
|
expr = let
|
|
xdgDesktopEntry = self.builders.makeXDGDesktopEntry {
|
|
name = sampleDesktopName;
|
|
validate = false;
|
|
destination = "/share/wayland-sessions/${sampleDesktopName}.desktop";
|
|
config = {
|
|
"Desktop Entry" = {
|
|
Exec = "Hello";
|
|
DesktopNames = [ "GNOME" "Sway" ];
|
|
};
|
|
};
|
|
};
|
|
in builtins.readFile
|
|
"${xdgDesktopEntry}/share/wayland-sessions/${sampleDesktopName}.desktop";
|
|
expected = builtins.readFile ./data/fixtures/xdg-desktop-session.desktop;
|
|
};
|
|
}
|