home-manager/tests/modules/programs/lf/all-options.nix
Robert Helgesson cb09a968e9
tests: add option test.stubs
This option provides a more convenient way to overlay dummy packages.
It also adds a function `config.lib.test.mkStubPackage` that can,
e.g., be used for `package` options.
2021-09-26 23:26:38 +02:00

86 lines
1.4 KiB
Nix

{ config, lib, pkgs, ... }:
with lib;
let
pvScript = builtins.toFile "pv.sh" "cat $1";
expected = builtins.toFile "settings-expected" ''
set icons
set noignorecase
set ratios "2:2:3"
set tabstop 4
cmd added :echo "foo"
cmd multiline :{{
push gg
echo "bar"
push i
}}
cmd removed
map aa should-be-added
map ab
cmap <c-a> should-be-added
cmap <c-b>
set previewer ${pvScript}
map i ${"$"}${pvScript} "$f" | less -R
# More config...
'';
in {
config = {
programs.lf = {
enable = true;
cmdKeybindings = {
"<c-a>" = "should-be-added";
"<c-b>" = null;
};
commands = {
added = '':echo "foo"'';
removed = null;
multiline = ''
:{{
push gg
echo "bar"
push i
}}'';
};
extraConfig = ''
# More config...
'';
keybindings = {
aa = "should-be-added";
ab = null;
};
previewer = {
keybinding = "i";
source = pvScript;
};
settings = {
ignorecase = false;
icons = true;
tabstop = 4;
ratios = "2:2:3";
};
};
test.stubs.lf = { };
nmt.script = ''
assertFileExists home-files/.config/lf/lfrc
assertFileContent home-files/.config/lf/lfrc ${expected}
'';
};
}