2.home-manager/tests/modules/programs/firefox/profiles/bookmarks/default.nix
Timothy Gallion d21bee5abf floorp: Fix tests for floorp-bin change
Several of the `floorp` tests were broken by the upstream switch to
`floorp-bin`. Most changes were to do with not being able to use
`programs.floorp.wrappedPackageName` in expected results.
2026-01-15 20:29:15 -06:00

124 lines
3.3 KiB
Nix

modulePath:
{
config,
lib,
pkgs,
...
}:
let
cfg = lib.getAttrFromPath modulePath config;
firefoxMockOverlay = import ../../setup-firefox-mock-overlay.nix modulePath;
darwinPath = "Applications/${cfg.darwinAppName}.app/Contents/Resources";
in
{
imports = [ firefoxMockOverlay ];
config = lib.mkIf config.test.enableBig (
{
# Required for bookmark policy to get set
home.stateVersion = "19.09";
}
// lib.setAttrByPath modulePath {
enable = true;
profiles.bookmarks = {
settings = {
"general.smoothScroll" = false;
};
bookmarks = {
force = true;
settings = [
{
toolbar = true;
bookmarks = [
{
name = "Home Manager";
url = "https://wiki.nixos.org/wiki/Home_Manager";
}
];
}
{
name = "kernel.org";
url = "https://www.kernel.org";
}
"separator"
{
name = "Nix sites";
bookmarks = [
{
name = "homepage";
url = "https://nixos.org/";
}
{
name = "wiki";
tags = [
"wiki"
"nix"
];
url = "https://wiki.nixos.org/";
}
{
name = "Nix sites";
bookmarks = [
{
name = "homepage";
url = "https://nixos.org/";
}
{
name = "wiki";
url = "https://wiki.nixos.org/";
}
];
}
];
}
{
name = "wikipedia";
tags = [ "wiki" ];
keyword = "wiki";
url = "https://en.wikipedia.org/wiki/Special:Search?search=%s&go=Go";
}
];
};
};
}
// {
nmt.script =
let
libDir =
if pkgs.stdenv.hostPlatform.isDarwin then
"${cfg.finalPackage}/${darwinPath}"
else
"${cfg.finalPackage}/lib/${cfg.finalPackage.unwrapped.libName or cfg.wrappedPackageName}";
config_file = "${libDir}/distribution/policies.json";
in
''
assertFileExists "${config_file}"
noDefaultBookmarks_actual_value="$(${lib.getExe pkgs.jq} ".policies.NoDefaultBookmarks" ${config_file})"
if [[ $noDefaultBookmarks_actual_value != "false" ]]; then
fail "Expected '${config_file}' to set 'policies.NoDefaultBookmarks' to false"
fi
bookmarksUserJs=$(normalizeStorePaths \
"home-files/${cfg.profilesPath}/bookmarks/user.js")
assertFileContent \
$bookmarksUserJs \
${./expected-bookmarks-user.js}
bookmarksFile="$(sed -n \
'/browser.bookmarks.file/ {s|^.*\(/nix/store[^"]*\).*|\1|;p}' \
"$TESTED/home-files/${cfg.profilesPath}/bookmarks/user.js")"
assertFileContent \
$bookmarksFile \
${./expected-bookmarks-list.html}
'';
}
);
}