34 lines
843 B
Go
34 lines
843 B
Go
package agents
|
|
|
|
import (
|
|
"slices"
|
|
"testing"
|
|
)
|
|
|
|
func TestParseChoices(t *testing.T) {
|
|
src := "Background with a [link](https://example.com) and (parens).\n\n" +
|
|
"- ( ) **Merge now**: ships today\n" +
|
|
"* (*) Wait for review \n" +
|
|
" - [ ] nested checkbox\n" +
|
|
"+ [x] checked\n" +
|
|
"- [X] upper\n" +
|
|
"- plain item\n" +
|
|
"-( ) no space\n" +
|
|
"- ( )\n" +
|
|
"```\n- (*) fenced\n```\n" +
|
|
"~~~\n- ( ) tilde fenced\n~~~\n" +
|
|
"> - ( ) quoted\n"
|
|
|
|
got := parseChoices(src)
|
|
want := []choice{
|
|
{text: "**Merge now**: ships today"},
|
|
{text: "Wait for review", recommended: true},
|
|
{text: "nested checkbox", checkbox: true},
|
|
{text: "checked", checkbox: true, recommended: true},
|
|
{text: "upper", checkbox: true, recommended: true},
|
|
}
|
|
if !slices.Equal(got, want) {
|
|
t.Fatalf("parseChoices:\n got %+v\nwant %+v", got, want)
|
|
}
|
|
}
|