package htmlform import "testing" func TestMultilineGroupingSeparateGroups(t *testing.T) { md := `Prefix [field idx="0" type="text" label="A" group="group1"] [field idx="1" type="text" label="B" group="group1"] [field idx="2" type="text" label="C" group="group1"] middle [field idx="3" type="text" label="D"] suffix [field idx="4" type="text" label="E" group="group2"] [field idx="5" type="text" label="F" group="group2"] end` result := Render(md, nil) // Group 1: idx=0 becomes textarea, idx=1 and idx=2 are skipped if !containsStr(result, "id=\"field_0\"") { t.Errorf("Group 1 first field should be present as textarea, got: %s", result) } if !containsStr(result, " element if containsStr(result, " 0 && len(needle) > 0 && len(haystack) >= len(needle) && findStr(haystack, needle) >= 0 } func findStr(haystack, needle string) int { for i := 0; i <= len(haystack)-len(needle); i++ { if haystack[i:i+len(needle)] == needle { return i } } return -1 } func countStr(haystack, needle string) int { count := 0 start := 0 for { idx := findStr(haystack[start:], needle) if idx < 0 { break } count++ start += idx + len(needle) } return count }