summaryrefslogtreecommitdiffstats
path: root/pkgs/test/vim/default.nix
diff options
context:
space:
mode:
authorMatthieu Coudron <mcoudron@hotmail.com>2021-06-08 00:52:17 +0200
committerMatthieu Coudron <teto@users.noreply.github.com>2021-06-09 21:45:25 +0200
commit83f6711464e03a856fb554693fe2e0f3af2ab0d5 (patch)
treed49259077e82562a5bacbe9aa88d0bc5b3b14ebc /pkgs/test/vim/default.nix
parentcc90d13883f1bd126c649ce73d448e96829b7cb6 (diff)
neovim.tests: added more tests
to check for creation of vi/vim aliases. These tests also now follow the coding conventions of having tests in passthru.test .
Diffstat (limited to 'pkgs/test/vim/default.nix')
-rw-r--r--pkgs/test/vim/default.nix107
1 files changed, 3 insertions, 104 deletions
diff --git a/pkgs/test/vim/default.nix b/pkgs/test/vim/default.nix
index 3bdc3234134c..cb3953a63f52 100644
--- a/pkgs/test/vim/default.nix
+++ b/pkgs/test/vim/default.nix
@@ -1,104 +1,16 @@
-{ vimUtils, vim_configurable, writeText, neovim, vimPlugins
-, lib, fetchFromGitHub, neovimUtils, wrapNeovimUnstable
-, neovim-unwrapped
-, fetchFromGitLab
+{ vimUtils, vim_configurable, writeText, vimPlugins
+, lib, fetchFromGitHub
, pkgs
}:
let
inherit (vimUtils) buildVimPluginFrom2Nix;
- inherit (neovimUtils) makeNeovimConfig;
packages.myVimPackage.start = with vimPlugins; [ vim-nix ];
- plugins = with vimPlugins; [
- {
- plugin = vim-obsession;
- config = ''
- map <Leader>$ <Cmd>Obsession<CR>
- '';
- }
- ];
-
- nvimConfNix = makeNeovimConfig {
- inherit plugins;
- customRC = ''
- " just a comment
- '';
- };
-
- nvimConfDontWrap = makeNeovimConfig {
- inherit plugins;
- customRC = ''
- " just a comment
- '';
- };
-
- wrapNeovim2 = suffix: config:
- wrapNeovimUnstable neovim-unwrapped (config // {
- extraName = suffix;
- });
-
- nmt = fetchFromGitLab {
- owner = "rycee";
- repo = "nmt";
- rev = "d2cc8c1042b1c2511f68f40e2790a8c0e29eeb42";
- sha256 = "1ykcvyx82nhdq167kbnpgwkgjib8ii7c92y3427v986n2s5lsskc";
- };
-
- runTest = neovim-drv: buildCommand:
- pkgs.runCommandLocal "test-${neovim-drv.name}" ({
- nativeBuildInputs = [ ];
- meta.platforms = neovim-drv.meta.platforms;
- }) (''
- source ${nmt}/bash-lib/assertions.sh
- vimrc="${writeText "init.vim" neovim-drv.initRc}"
- vimrcGeneric="$out/patched.vim"
- mkdir $out
- ${pkgs.perl}/bin/perl -pe "s|\Q$NIX_STORE\E/[a-z0-9]{32}-|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" < "$vimrc" > "$vimrcGeneric"
- '' + buildCommand);
-
in
- pkgs.recurseIntoAttrs (
-rec {
+ pkgs.recurseIntoAttrs (rec {
vim_empty_config = vimUtils.vimrcFile { beforePlugins = ""; customRC = ""; };
- ### neovim tests
- ##################
- nvim_with_plugins = wrapNeovim2 "-with-plugins" nvimConfNix;
-
- nvim_via_override = neovim.override {
- extraName = "-via-override";
- configure = {
- packages.foo.start = [ vimPlugins.ale ];
- customRC = ''
- :help ale
- '';
- };
- };
-
-
- # nixpkgs should detect that no wrapping is necessary
- nvimShouldntWrap = wrapNeovim2 "-should-not-wrap" nvimConfNix;
-
-
- # this will generate a neovimRc content but we disable wrapping
- nvimDontWrap = wrapNeovim2 "-dont-wrap" (makeNeovimConfig {
- wrapRc = false;
- customRC = ''
- " this shouldn't trigger the creation of an init.vim
- '';
- });
-
- nvim_dontwrap-test = runTest nvimDontWrap ''
- ! grep "-u" ${nvimDontWrap}/bin/nvim
- '';
-
- nvim_via_override-test = runTest nvim_via_override ''
- assertFileContent \
- "$vimrcGeneric" \
- "${./neovim-override.vim}"
- '';
-
### vim tests
##################
vim_with_vim2nix = vim_configurable.customize {
@@ -126,11 +38,6 @@ rec {
vimrcConfig.packages.myVimPackage.start = with vimPlugins; [ vim-nix ];
};
- # only neovim makes use of `requiredPlugins`, test this here
- test_nvim_with_vim_nix_using_pathogen = neovim.override {
- configure.pathogen.pluginNames = [ "vim-nix" ];
- };
-
# regression test for https://github.com/NixOS/nixpkgs/issues/53112
# The user may have specified their own plugins which may not be formatted
# exactly as the generated ones. In particular, they may not have the `pname`
@@ -153,12 +60,4 @@ rec {
});
vimrcConfig.vam.pluginDictionaries = [ { names = [ "vim-trailing-whitespace" ]; } ];
};
-
- # system remote plugin manifest should be generated, deoplete should be usable
- # without the user having to do `UpdateRemotePlugins`. To test, launch neovim
- # and do `:call deoplete#enable()`. It will print an error if the remote
- # plugin is not registered.
- test_nvim_with_remote_plugin = neovim.override {
- configure.pathogen.pluginNames = with vimPlugins; [ deoplete-nvim ];
- };
})