Merge pull request #162096 from Synthetica9/micro-test-expect

This commit is contained in:
Ben Siraphob 2022-03-24 23:23:55 -05:00 committed by GitHub
commit 5e9f61240c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 1 deletions

View file

@ -1,4 +1,4 @@
{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
{ lib, buildGoModule, fetchFromGitHub, installShellFiles, callPackage }:
buildGoModule rec {
pname = "micro";
@ -24,6 +24,8 @@ buildGoModule rec {
install -Dt $out/share/applications assets/packaging/micro.desktop
'';
passthru.tests.expect = callPackage ./test-with-expect.nix {};
meta = with lib; {
homepage = "https://micro-editor.github.io";
description = "Modern and intuitive terminal-based text editor";

View file

@ -0,0 +1,30 @@
{ micro, expect, runCommand, writeScript, runtimeShell }:
let expect-script = writeScript "expect-script" ''
#!${expect}/bin/expect -f
spawn micro file.txt
expect "file.txt"
send "Hello world!"
expect "Hello world!"
# Send ctrl-q (exit)
send "\021"
expect "Save changes to file.txt before closing?"
send "y"
expect eof
''; in
runCommand "micro-test-expect"
{
nativeBuildInputs = [ micro expect ];
passthru = { inherit expect-script; };
} ''
# Micro really wants a writable $HOME for its config directory.
export HOME=$(pwd)
expect -f ${expect-script}
grep "Hello world!" file.txt
touch $out
''