nix-community.nixvim/tests/plugins/default.nix
traxys abc2d19a06
tests: Implement a way to test nixvim (#199)
The tests can be executed using `nix flake check`, they check that
modules can be built, and they execute in neovim without any errors.

This commit only implements tests for tokyonight-nvim upstream defaults
2023-02-28 23:39:55 +00:00

23 lines
767 B
Nix

{lib}: let
# List of files containing configurations
pluginFiles =
builtins.filter (p: p != "default.nix") (builtins.attrNames (builtins.readDir ./.));
/*
Create a list of tests. The list is of the form:
[ { name = "<plugin>-<test_name>"; value = { ... }; } ]
*/
makePluginTests = pluginFile: let
pluginName = builtins.head (lib.strings.splitString "." pluginFile);
pluginConfigs = import (./. + "/${pluginFile}");
in
lib.attrsets.mapAttrsToList (testName: testConfig: {
name = "${pluginName}-${testName}";
value = testConfig;
})
pluginConfigs;
# A list of lists of test cases for each plugin
pluginTests = builtins.map makePluginTests pluginFiles;
in
builtins.listToAttrs (lib.lists.flatten pluginTests)