nix-config/tests/neovim.nix
Donovan Glover d188a89b6e
tests: Remove defaults.documentation.enable
Removed defaults.documentation.enable since it seems better to replicate
the environment as much as possible.

Also simplified specialArgs usage since we should never have to pass any
other args to the test machine.
2024-09-01 13:37:24 -04:00

56 lines
1.2 KiB
Nix

{ self, pkgs }:
self.inputs.nixpkgs.lib.nixos.runTest {
name = "neovim";
hostPkgs = pkgs;
node.specialArgs.nix-config = self;
nodes.machine =
{ nix-config, ... }:
{
imports = builtins.attrValues {
inherit (nix-config.nixosModules) desktop system shell;
customConfig = {
modules.desktop.container = true;
};
};
home-manager.sharedModules = with nix-config.homeModules; [ neovim ];
};
testScript = # python
''
machine.wait_for_unit("default.target")
machine.send_chars("user")
machine.sleep(1)
machine.send_key("ret")
machine.sleep(1)
machine.send_chars("user")
machine.sleep(1)
machine.send_key("ret")
machine.sleep(5)
machine.send_chars("nvim hello.txt")
machine.sleep(1)
machine.send_key("ret")
machine.sleep(20)
machine.send_chars("i")
machine.sleep(2)
machine.send_chars("Hello world")
machine.sleep(2)
machine.send_key("esc")
machine.sleep(2)
machine.send_chars(":wq")
machine.sleep(2)
machine.send_key("ret")
machine.sleep(2)
text = machine.succeed("cat /home/user/hello.txt")
assert "Hello world" in text
'';
}