2022-01-26 23:38:46 -08:00
|
|
|
package engine
|
2021-04-18 10:16:06 -07:00
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestBlockEnabled(t *testing.T) {
|
|
|
|
cases := []struct {
|
|
|
|
Case string
|
|
|
|
Expected bool
|
|
|
|
Segments []*Segment
|
|
|
|
Type BlockType
|
|
|
|
}{
|
|
|
|
{Case: "line break block", Expected: true, Type: LineBreak},
|
2022-02-28 09:39:23 -08:00
|
|
|
{Case: "prompt enabled", Expected: true, Type: Prompt, Segments: []*Segment{{enabled: true}}},
|
|
|
|
{Case: "prompt disabled", Expected: false, Type: Prompt, Segments: []*Segment{{enabled: false}}},
|
|
|
|
{Case: "prompt enabled multiple", Expected: true, Type: Prompt, Segments: []*Segment{{enabled: false}, {enabled: true}}},
|
|
|
|
{Case: "rprompt enabled multiple", Expected: true, Type: RPrompt, Segments: []*Segment{{enabled: false}, {enabled: true}}},
|
2021-04-18 10:16:06 -07:00
|
|
|
}
|
|
|
|
for _, tc := range cases {
|
|
|
|
block := &Block{
|
|
|
|
Type: tc.Type,
|
|
|
|
Segments: tc.Segments,
|
|
|
|
}
|
|
|
|
assert.Equal(t, tc.Expected, block.enabled(), tc.Case)
|
|
|
|
}
|
|
|
|
}
|