// Copyright (C) 2023 Marius Schellenberger

package cli

import (
	"bytes"
	"testing"
)

func TestConfirm(t *testing.T) {
	b := new(bytes.Buffer)

	b.WriteString("\n")
	if confirm(b) {
		t.Error("invalid confirm")
	}
	b.Reset()

	b.WriteString(" n\n")
	if confirm(b) {
		t.Error("invalid confirm")
	}
	b.Reset()

	b.WriteString(" foo\n")
	if confirm(b) {
		t.Error("invalid confirm")
	}
	b.Reset()

	b.WriteString("Y\n")
	if confirm(b) {
		t.Error("invalid confirm")
	}
	b.Reset()

	b.WriteString(" y\n")
	if !confirm(b) {
		t.Error("valid confirm")
	}
	b.Reset()

	b.WriteString("y\n")
	if !confirm(b) {
		t.Error("valid confirm")
	}
}
