1package regexp2 2 3import "testing" 4 5func TestIgnoreCase_Simple(t *testing.T) { 6 r := MustCompile("aaamatch thisbbb", IgnoreCase) 7 m, err := r.FindStringMatch("AaAMatch thisBBb") 8 if err != nil { 9 t.Fatalf("unexpected error: %v", err) 10 } 11 if m == nil { 12 t.Fatalf("no match when one was expected") 13 } 14 if want, got := "AaAMatch thisBBb", m.String(); want != got { 15 t.Fatalf("group 0 wanted '%v', got '%v'", want, got) 16 } 17} 18 19func TestIgnoreCase_Inline(t *testing.T) { 20 r := MustCompile("aaa(?i:match this)bbb", 0) 21 m, err := r.FindStringMatch("aaaMaTcH ThIsbbb") 22 if err != nil { 23 t.Fatalf("unexpected error: %v", err) 24 } 25 if m == nil { 26 t.Fatalf("no match when one was expected") 27 } 28 if want, got := "aaaMaTcH ThIsbbb", m.String(); want != got { 29 t.Fatalf("group 0 wanted '%v', got '%v'", want, got) 30 } 31} 32 33func TestIgnoreCase_Revert(t *testing.T) { 34 35 r := MustCompile("aaa(?-i:match this)bbb", IgnoreCase) 36 m, err := r.FindStringMatch("AaAMatch thisBBb") 37 if err != nil { 38 t.Fatalf("unexpected error: %v", err) 39 } 40 if m != nil { 41 t.Fatalf("had a match but expected no match") 42 } 43} 44