Running all tests case-insensitive with the same match indices wasn't a good idea
This commit is contained in:
		
							
								
								
									
										67
									
								
								re_test.go
									
									
									
									
									
								
							
							
						
						
									
										67
									
								
								re_test.go
									
									
									
									
									
								
							@@ -427,27 +427,6 @@ func TestFindAllMatches(t *testing.T) {
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	fmt.Printf("----------------CASE INSENSITIVE MATCHING----------------")
 | 
					 | 
				
			||||||
	// Case-insensitive run, with test string case-swapped
 | 
					 | 
				
			||||||
	for _, test := range reTests {
 | 
					 | 
				
			||||||
		t.Run(test.re+"	"+swapCase(test.str), func(t *testing.T) {
 | 
					 | 
				
			||||||
			regComp, err := Compile(test.re, append(test.flags, RE_CASE_INSENSITIVE)...)
 | 
					 | 
				
			||||||
			if err != nil {
 | 
					 | 
				
			||||||
				if test.result != nil {
 | 
					 | 
				
			||||||
					panic(fmt.Errorf("Test Error: %v", err))
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			} else {
 | 
					 | 
				
			||||||
				matchIndices := FindAllMatches(regComp, swapCase(test.str))
 | 
					 | 
				
			||||||
				zeroGroups := make([]Group, len(matchIndices))
 | 
					 | 
				
			||||||
				for i, m := range matchIndices {
 | 
					 | 
				
			||||||
					zeroGroups[i] = m[0]
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
				if !slices.Equal(test.result, zeroGroups) {
 | 
					 | 
				
			||||||
					t.Errorf("Wanted %v	Got %v\n", test.result, zeroGroups)
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		})
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TestFindString(t *testing.T) {
 | 
					func TestFindString(t *testing.T) {
 | 
				
			||||||
@@ -473,30 +452,6 @@ func TestFindString(t *testing.T) {
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	fmt.Printf("----------------CASE INSENSITIVE MATCHING----------------")
 | 
					 | 
				
			||||||
	// Case-insensitive run, with test string case-swapped
 | 
					 | 
				
			||||||
	for _, test := range reTests {
 | 
					 | 
				
			||||||
		t.Run(test.re+"	"+swapCase(test.str), func(t *testing.T) {
 | 
					 | 
				
			||||||
			regComp, err := Compile(test.re, append(test.flags, RE_CASE_INSENSITIVE)...)
 | 
					 | 
				
			||||||
			if err != nil {
 | 
					 | 
				
			||||||
				if test.result != nil {
 | 
					 | 
				
			||||||
					panic(err)
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			} else {
 | 
					 | 
				
			||||||
				foundString := FindString(regComp, swapCase(test.str))
 | 
					 | 
				
			||||||
				if len(test.result) == 0 {
 | 
					 | 
				
			||||||
					if foundString != "" {
 | 
					 | 
				
			||||||
						t.Errorf("Expected no match got %v\n", foundString)
 | 
					 | 
				
			||||||
					}
 | 
					 | 
				
			||||||
				} else {
 | 
					 | 
				
			||||||
					expectedString := test.str[test.result[0].startIdx:test.result[0].endIdx]
 | 
					 | 
				
			||||||
					if foundString != expectedString {
 | 
					 | 
				
			||||||
						t.Errorf("Wanted %v	Got %v\n", expectedString, foundString)
 | 
					 | 
				
			||||||
					}
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		})
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TestFindAllGroups(t *testing.T) {
 | 
					func TestFindAllGroups(t *testing.T) {
 | 
				
			||||||
@@ -520,26 +475,4 @@ func TestFindAllGroups(t *testing.T) {
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	fmt.Printf("----------------CASE INSENSITIVE MATCHING----------------")
 | 
					 | 
				
			||||||
	// Case-insensitive run, with test string case-swapped
 | 
					 | 
				
			||||||
	for _, test := range groupTests {
 | 
					 | 
				
			||||||
		t.Run(test.re+"	"+swapCase(test.str), func(t *testing.T) {
 | 
					 | 
				
			||||||
			regComp, err := Compile(test.re, append(test.flags, RE_CASE_INSENSITIVE)...)
 | 
					 | 
				
			||||||
			if err != nil {
 | 
					 | 
				
			||||||
				if test.result != nil {
 | 
					 | 
				
			||||||
					panic(err)
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
			matchIndices := FindAllMatches(regComp, swapCase(test.str))
 | 
					 | 
				
			||||||
			for i := range matchIndices {
 | 
					 | 
				
			||||||
				for j := range matchIndices[i] {
 | 
					 | 
				
			||||||
					if matchIndices[i][j].isValid() {
 | 
					 | 
				
			||||||
						if test.result[i][j] != matchIndices[i][j] {
 | 
					 | 
				
			||||||
							t.Errorf("Wanted %v	Got %v\n", test.result, matchIndices)
 | 
					 | 
				
			||||||
						}
 | 
					 | 
				
			||||||
					}
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
			}
 | 
					 | 
				
			||||||
		})
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user