-
Notifications
You must be signed in to change notification settings - Fork 0
/
version_test.go
57 lines (49 loc) · 2.14 KB
/
version_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package useragent_test
import (
"fmt"
"testing"
ua "github.com/medama-io/go-useragent"
"github.com/stretchr/testify/assert"
)
// Refer to ua_test.go for main original test cases.
var versionResults = []string{
// Windows (7)
"MozillaWindowsNTWinxAppleWebKitKHTMLlikeGeckoChromeSafari",
"MozillaWindowsNTWOWAppleWebKitKHTMLlikeGeckoChromeSafari",
"MozillacompatibleMSIEWindowsNTWOWTridentSLCCNETCLRNETCLRNETCLRMediaCenterPCNETCNETEInfoPathGWXRED",
"MozillacompatibleMSIEWindowsNTTrident",
"MozillaWindowsNTTridentrvlikeGecko",
"MozillacompatibleMSIEWindowsNTSVNETCLRNS",
"MozillaWindowsNTAppleWebKitKHTMLlikeGeckoChromeSafariEdge",
// Mac (5)
"MozillaMacintoshIntelMacOSXAppleWebKitKHTMLlikeGeckoVersionSafari",
"MozillaMacintoshIntelMacOSXAppleWebKitKHTMLlikeGeckoChromeSafari",
"MozillaMacintoshIntelMacOSXrvGeckoFirefox",
"MozillaMacintoshIntelMacOSXAppleWebKitKHTMLlikeGeckoChromeSafariVivaldi",
"MozillaMacintoshIntelMacOSXAppleWebKitKHTMLlikeGeckoChromeSafariEdg",
// Linux (5)
"MozillaXLinuxxrvGeckoFirefox",
"MozillaXLinuxirvGeckoFirefox",
"MozillaXUbuntuLinuxirvGeckoFirefox",
"MozillaXFedoraLinuxxrvGeckoFirefox",
"MozillaXLinuxxAppleWebKitKHTMLlikeGeckoChromeSafari",
// iPhone (5)
"MozillaiPhoneCPUiPhoneOSlikeMacOSXAppleWebKitKHTMLlikeGeckoVersionMobileSafari",
"MozillaiPhoneCPUiPhoneOSlikeMacOSXAppleWebKitKHTMLlikeGeckoCriOSMobileSafari",
"MozillaiPhoneCPUiPhoneOSlikeMacOSXAppleWebKitKHTMLlikeGeckoOPiOSMobileSafari",
"MozillaiPhoneCPUiPhoneOSlikeMacOSXAppleWebKitKHTMLlikeGeckoFxiOSMobileSafari",
"MozillaiPhoneCPUiPhoneOSlikeMacOSXAppleWebKitKHTMLlikeGeckoVersionEdgiOSMobileSafari",
// iPad (3)
"MozillaiPadCPUOSlikeMacOSXAppleWebKitKHTMLlikeGeckoVersionMobileSafari",
"MozillaiPadCPUOSlikeMacOSXAppleWebKitKHTMLlikeGeckoCriOSMobileSafari",
"MozillaiPadCPUOSlikeMacOSXAppleWebKitKHTMLlikeGeckoFxiOSMobileSafari",
}
func TestCleanVersions(t *testing.T) {
for i, v := range versionResults {
t.Run(fmt.Sprintf("Case:%d", i), func(t *testing.T) {
id := ua.RemoveDeviceIdentifiers(testCases[i])
line := ua.RemoveVersions(id)
assert.Equal(t, v, line, "Test Case: %s\nNoID: %s\nExpected: %s", testCases[i], id, v)
})
}
}