예제 #1
0
func TestTerminal_Record(t *testing.T) {
	command := `python -c "
import sys, time, os
sys.stdout.write('foo')
sys.stdout.flush()
time.sleep(0.01)
sys.stdout.write(os.environ['ASCIINEMA_REC'])
"`
	stdoutCopy := &testWriter{}

	err := terminal.NewTerminal().Record(command, stdoutCopy)

	if err != nil {
		t.Errorf("got error: %v", err)
		return
	}

	chunk := stdoutCopy.chunks[0]
	if chunk != "foo" {
		t.Errorf("expected \"foo\", got \"%v\"", chunk)
	}

	chunk = stdoutCopy.chunks[1]
	if chunk != "1" {
		t.Errorf("expected \"1\", got \"%v\"", chunk)
	}
}
예제 #2
0
func NewPlayer() Player {
	return &AsciicastPlayer{Terminal: terminal.NewTerminal()}
}
예제 #3
0
func NewRecorder() Recorder {
	return &AsciicastRecorder{Terminal: terminal.NewTerminal()}
}