anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / applications / editors / nano / test-with-expect.nix
blob60cd3020454290762a314f75121ee31b6e6828df
1 { nano, expect, runCommand, writeScriptBin }:
3 let expect-script = writeScriptBin "expect-script" ''
4   #!${expect}/bin/expect -f
6   # Load nano
7   spawn nano file.txt
8   expect "GNU nano ${nano.version}"
10   # Add some text to the buffer
11   send "Hello world!"
12   expect "Hello world!"
14   # Send ctrl-x (exit)
15   send "\030"
16   expect "Save modified buffer?"
18   # Answer "yes"
19   send "y"
20   expect "File Name to Write"
22   # Send "return" to accept the file path.
23   send "\r"
24   sleep 1
25   exit
26 ''; in
27 runCommand "nano-test-expect"
29   nativeBuildInputs = [ nano expect ];
30   passthru = { inherit expect-script; };
31 } ''
32   expect -f ${expect-script}/bin/expect-script
33   grep "Hello world!" file.txt
34   touch $out