1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-03-09 10:16:55 +00:00
home-manager/tests/modules/programs/pandoc/defaults.nix
Robert Helgesson 7a3f0b3b8d
tests: rework derivation stubbing
Instead of having to manually stub packages that should not be
downloaded we instead automatically stub all packages (except a small
list of whitelisted ones). Tests can re-introduce the real package by
using the `realPkgs` module argument.
2025-02-04 23:58:20 +01:00

30 lines
759 B
Nix

{ config, lib, realPkgs, ... }:
let cfg = config.programs.pandoc;
in lib.mkIf config.test.enableBig {
programs.pandoc = {
enable = true;
defaults = {
metadata = { author = "John Doe"; };
pdf-engine = "xelatex";
citeproc = true;
};
};
nixpkgs.overlays = [ (_: _: { inherit (realPkgs) pandoc; }) ];
nmt.script = ''
assertFileContent ${cfg.defaultsFile} ${./defaults-expected.json}
# Test that defaults are set by looking at the metadata for an empty file
# (it should contain the author that we set in defaults).
output=$(mktemp)
${cfg.finalPackage}/bin/pandoc --standalone \
-f markdown /dev/null \
-t native -o "$output"
assertFileContent "$output" ${./output-expected}
'';
}