1package purell 2 3import ( 4 "testing" 5) 6 7var ( 8 safeUrl = "HttPS://..iaMHost..Test:443/paTh^A%ef//./%41PaTH/..//?" 9 usuallySafeUrl = "HttPS://..iaMHost..Test:443/paTh^A%ef//./%41PaTH/../final/" 10 unsafeUrl = "HttPS://..www.iaMHost..Test:443/paTh^A%ef//./%41PaTH/../final/index.html?t=val1&a=val4&z=val5&a=val1#fragment" 11 allDWORDUrl = "HttPS://1113982867:/paTh^A%ef//./%41PaTH/../final/index.html?t=val1&a=val4&z=val5&a=val1#fragment" 12 allOctalUrl = "HttPS://0102.0146.07.0223:/paTh^A%ef//./%41PaTH/../final/index.html?t=val1&a=val4&z=val5&a=val1#fragment" 13 allHexUrl = "HttPS://0x42660793:/paTh^A%ef//./%41PaTH/../final/index.html?t=val1&a=val4&z=val5&a=val1#fragment" 14 allCombinedUrl = "HttPS://..0x42660793.:/paTh^A%ef//./%41PaTH/../final/index.html?t=val1&a=val4&z=val5&a=val1#fragment" 15) 16 17func BenchmarkSafe(b *testing.B) { 18 for i := 0; i < b.N; i++ { 19 NormalizeURLString(safeUrl, FlagsSafe) 20 } 21} 22 23func BenchmarkUsuallySafe(b *testing.B) { 24 for i := 0; i < b.N; i++ { 25 NormalizeURLString(usuallySafeUrl, FlagsUsuallySafeGreedy) 26 } 27} 28 29func BenchmarkUnsafe(b *testing.B) { 30 for i := 0; i < b.N; i++ { 31 NormalizeURLString(unsafeUrl, FlagsUnsafeGreedy) 32 } 33} 34 35func BenchmarkAllDWORD(b *testing.B) { 36 for i := 0; i < b.N; i++ { 37 NormalizeURLString(allDWORDUrl, FlagsAllGreedy) 38 } 39} 40 41func BenchmarkAllOctal(b *testing.B) { 42 for i := 0; i < b.N; i++ { 43 NormalizeURLString(allOctalUrl, FlagsAllGreedy) 44 } 45} 46 47func BenchmarkAllHex(b *testing.B) { 48 for i := 0; i < b.N; i++ { 49 NormalizeURLString(allHexUrl, FlagsAllGreedy) 50 } 51} 52 53func BenchmarkAllCombined(b *testing.B) { 54 for i := 0; i < b.N; i++ { 55 NormalizeURLString(allCombinedUrl, FlagsAllGreedy) 56 } 57} 58