1
0
Fork 0
mirror of https://github.com/nix-community/nixvim.git synced 2025-11-21 17:59:41 +01:00
nixvim/tests/enable-except-in-tests.nix
Matt Sturgeon 82bc02466c lib/evalNixvim: deprecate specialArgs.helpers
This has been soft-deprecated for several releases. Now that we have
removed our internal usage, we can introduce an eval warning.
2025-11-19 15:22:27 +00:00

79 lines
1.9 KiB
Nix

{
lib,
pkgs,
linkFarm,
runCommandLocal,
mkTestDerivationFromNixvimModule,
makeNixvimWithModule,
}:
let
inTest = mkTestDerivationFromNixvimModule {
name = "enable-except-in-tests-test";
inherit pkgs;
module =
{ lib, helpers, ... }:
{
assertions = [
{
# FIXME: should be false
assertion = lib.nixvim.enableExceptInTests;
message = "Expected lib.nixvim.enableExceptInTests to be true";
}
{
# NOTE: evaluating `helpers` here prints an eval warning
assertion = !helpers.enableExceptInTests;
message = "Expected helpers.enableExceptInTests to be false";
}
];
};
};
notInTest =
let
nvim = makeNixvimWithModule {
inherit pkgs;
module =
{ lib, helpers, ... }:
{
assertions = [
{
assertion = lib.nixvim.enableExceptInTests;
message = "Expected lib.nixvim.enableExceptInTests to be true";
}
{
# NOTE: evaluating `helpers` here prints an eval warning
assertion = helpers.enableExceptInTests;
message = "Expected helpers.enableExceptInTests to be true";
}
];
};
};
in
runCommandLocal "enable-except-in-tests-not-in-test"
{
__structuredAttrs = true;
assertions = lib.pipe nvim.config.assertions [
(lib.filter (x: !x.assertion))
(lib.map (x: x.message))
];
}
''
if (( ''${#assertions[@]} )); then
for assertion in "''${assertions[@]}"; do
echo "- $assertion"
done
exit 1
fi
touch $out
'';
in
linkFarm "enable-except-in-tests" [
{
name = "in-test";
path = inTest;
}
{
name = "not-in-test";
path = notInTest;
}
]