147 lines
4.4 KiB
Go
147 lines
4.4 KiB
Go
package goaway
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func BenchmarkIsProfaneWhenShortStringHasNoProfanity(b *testing.B) {
|
|
for n := 0; n < b.N; n++ {
|
|
IsProfane("aaaaaaaaaaaaaa")
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkIsProfaneWhenShortStringHasProfanityAtTheStart(b *testing.B) {
|
|
for n := 0; n < b.N; n++ {
|
|
IsProfane("fuckaaaaaaaaaa")
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkIsProfaneWhenShortStringHasProfanityInTheMiddle(b *testing.B) {
|
|
for n := 0; n < b.N; n++ {
|
|
IsProfane("aaaaafuckaaaaa")
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkIsProfaneWhenShortStringHasProfanityAtTheEnd(b *testing.B) {
|
|
for n := 0; n < b.N; n++ {
|
|
IsProfane("aaaaaaaaaafuck")
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkIsProfaneWhenMediumStringHasNoProfanity(b *testing.B) {
|
|
for n := 0; n < b.N; n++ {
|
|
IsProfane("How are you doing today?")
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkIsProfaneWhenMediumStringHasProfanityAtTheStart(b *testing.B) {
|
|
for n := 0; n < b.N; n++ {
|
|
IsProfane("Shit, you're cute today.")
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkIsProfaneWhenMediumStringHasProfanityInTheMiddle(b *testing.B) {
|
|
for n := 0; n < b.N; n++ {
|
|
IsProfane("How are you fu ck doing?")
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkIsProfaneWhenMediumStringHasProfanityAtTheEnd(b *testing.B) {
|
|
for n := 0; n < b.N; n++ {
|
|
IsProfane("you're cute today. Fuck.")
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkIsProfaneWhenLongStringHasNoProfanity(b *testing.B) {
|
|
for n := 0; n < b.N; n++ {
|
|
IsProfane("Hello John Doe, I hope you're feeling well, as I come today bearing terrible news regarding your favorite chocolate chip cookie brand")
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkIsProfaneWhenLongStringHasProfanityAtTheStart(b *testing.B) {
|
|
for n := 0; n < b.N; n++ {
|
|
IsProfane("Fuck John Doe, I hope you're feeling well, as I come today bearing terrible news regarding your favorite chocolate chip cookie brand")
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkIsProfaneWhenLongStringHasProfanityInTheMiddle(b *testing.B) {
|
|
for n := 0; n < b.N; n++ {
|
|
IsProfane("Hello John Doe, I hope you're feeling well, as I come today bearing shitty news regarding your favorite chocolate chip cookie brand")
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkIsProfaneWhenLongStringHasProfanityAtTheEnd(b *testing.B) {
|
|
for n := 0; n < b.N; n++ {
|
|
IsProfane("Hello John Doe, I hope you're feeling well, as I come today bearing terrible news regarding your favorite chocolate chip cookie bitch")
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkProfanityDetector_WithSanitizeAccentsSetToFalseWhenLongStringHasProfanityAtTheStart(b *testing.B) {
|
|
profanityDetector := NewProfanityDetector().WithSanitizeAccents(false)
|
|
for n := 0; n < b.N; n++ {
|
|
profanityDetector.IsProfane("Fuck John Doe, I hope you're feeling well, as I come today bearing terrible news regarding your favorite chocolate chip cookie brand")
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkProfanityDetector_WithSanitizeAccentsSetToFalseWhenLongStringHasProfanityInTheMiddle(b *testing.B) {
|
|
profanityDetector := NewProfanityDetector().WithSanitizeAccents(false)
|
|
for n := 0; n < b.N; n++ {
|
|
profanityDetector.IsProfane("Hello John Doe, I hope you're feeling well, as I come today bearing shitty news regarding your favorite chocolate chip cookie brand")
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkProfanityDetector_WithSanitizeAccentsSetToFalseWhenLongStringHasProfanityAtTheEnd(b *testing.B) {
|
|
profanityDetector := NewProfanityDetector().WithSanitizeAccents(false)
|
|
for n := 0; n < b.N; n++ {
|
|
profanityDetector.IsProfane("Hello John Doe, I hope you're feeling well, as I come today bearing terrible news regarding your favorite chocolate chip cookie bitch")
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkProfanityDetector_Sanitize(b *testing.B) {
|
|
profanityDetector := NewProfanityDetector().WithSanitizeAccents(true).WithSanitizeSpecialCharacters(true).WithSanitizeLeetSpeak(true)
|
|
for n := 0; n < b.N; n++ {
|
|
profanityDetector.IsProfane("H3ll0 J0hn D0e, 1 h0p3 y0u'r3 f3eling w3ll, as 1 c0me t0d4y b34r1ng sh1tty n3w5 r3g4rd1ng y0ur fav0rite ch0c0l4t3 chip c00kie br4nd")
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkCensor(b *testing.B) {
|
|
for n := 0; n < b.N; n++ {
|
|
Censor("Thundercunt c()ck")
|
|
}
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkIsProfaneConcurrently(b *testing.B) {
|
|
b.RunParallel(func(pb *testing.PB) {
|
|
for pb.Next() {
|
|
IsProfane("aaaaafuckaaaaa")
|
|
}
|
|
})
|
|
b.ReportAllocs()
|
|
}
|
|
|
|
func BenchmarkIsProfaneConcurrently_WithAccents(b *testing.B) {
|
|
b.RunParallel(func(pb *testing.PB) {
|
|
for pb.Next() {
|
|
IsProfane("ÄšŚ")
|
|
}
|
|
})
|
|
b.ReportAllocs()
|
|
}
|