diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/editors/nano/test-with-expect.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/editors/nano/test-with-expect.nix | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/editors/nano/test-with-expect.nix b/nixpkgs/pkgs/applications/editors/nano/test-with-expect.nix new file mode 100644 index 000000000000..bd48eba4324b --- /dev/null +++ b/nixpkgs/pkgs/applications/editors/nano/test-with-expect.nix @@ -0,0 +1,35 @@ +{ nano, expect, runCommand, writeScriptBin, runtimeShell }: + +let expect-script = writeScriptBin "expect-script" '' + #!${expect}/bin/expect -f + + # Load nano + spawn nano file.txt + expect "GNU nano ${nano.version}" + + # Add some text to the buffer + send "Hello world!" + expect "Hello world!" + + # Send ctrl-x (exit) + send "\030" + expect "Save modified buffer?" + + # Answer "yes" + send "y" + expect "File Name to Write" + + # Send "return" to accept the file path. + send "\r" + sleep 1 + exit +''; in +runCommand "nano-test-expect" +{ + nativeBuildInputs = [ nano expect ]; + passthru = { inherit expect-script; }; +} '' + expect -f ${expect-script}/bin/expect-script + grep "Hello world!" file.txt + touch $out +'' |