github.com/chanxuehong/wechat@v0.0.0-20230222024006-36f0325263cd/util/wxver_test.go (about) 1 package util 2 3 import ( 4 "testing" 5 ) 6 7 func TestWXVersion(t *testing.T) { 8 userAgent := `Mozilla/5.0 (Linux; Android 4.4.4; Che1-CL10 Build/Che1-CL10; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.49 Mobile MQQBrowser/6.2 TBS/043128 Safari/537.36 MicroMessenger/6.5.7.1041 NetType/WIFI Language/zh_CN` 9 x, y, z, w, err := WXVersion(userAgent) 10 if err != nil { 11 t.Error(err) 12 return 13 } 14 if x != 6 || y != 5 || z != 7 || w != 1041 { 15 t.Error("获取了错误的版本号") 16 return 17 } 18 19 userAgent = `Mozilla/5.0(iphone;CPU iphone OS 5_1_1 like Mac OS X) AppleWebKit/534.46(KHTML,like Geocko)Mobile/9B206 MicroMessenger/5.3` 20 x, y, z, w, err = WXVersion(userAgent) 21 if err != nil { 22 t.Error(err) 23 return 24 } 25 if x != 5 || y != 3 || z != 0 { 26 t.Error("获取了错误的版本号") 27 return 28 } 29 30 userAgent = `Mozilla/5.0(iphone;CPU iphone OS 5_1_1 like Mac OS X) AppleWebKit/534.46(KHTML,like Geocko)Mobile/9B206 MicroMessenger/5.3.1` 31 x, y, z, w, err = WXVersion(userAgent) 32 if err != nil { 33 t.Error(err) 34 return 35 } 36 if x != 5 || y != 3 || z != 1 { 37 t.Error("获取了错误的版本号") 38 return 39 } 40 41 userAgent = `Mozilla/5.0(iphone;CPU iphone OS 5_1_1 like Mac OS X) AppleWebKit/534.46(KHTML,like Geocko)Mobile/9B206 MicroMessenger/5.3.1.5` 42 x, y, z, w, err = WXVersion(userAgent) 43 if err != nil { 44 t.Error(err) 45 return 46 } 47 if x != 5 || y != 3 || z != 1 { 48 t.Error("获取了错误的版本号") 49 return 50 } 51 52 userAgent = `Mozilla5.0(iphone;CPU iphone OS 5_1_1 like Mac OS X) AppleWebKit534.46(KHTML,like Geocko)Mobile9B206 MicroMessenger5.0` 53 _, _, _, _, err = WXVersion(userAgent) 54 if err == nil { 55 t.Errorf("从 %#q 获取版本号应该出错, 但是目前却没有错误!", userAgent) 56 return 57 } 58 59 userAgent = `Mozilla/5.0(iphone;CPU iphone OS 5_1_1 like Mac OS X) AppleWebKit/534.46(KHTML,like Geocko)Mobile/9B206 MicroMessenger/` 60 _, _, _, _, err = WXVersion(userAgent) 61 if err == nil { 62 t.Errorf("从 %#q 获取版本号应该出错, 但是目前却没有错误!", userAgent) 63 return 64 } 65 66 userAgent = `Mozilla/5.0(iphone;CPU iphone OS 5_1_1 like Mac OS X) AppleWebKit/534.46(KHTML,like Geocko)Mobile/9B206 MicroMessenger/5x` 67 x, y, z, w, err = WXVersion(userAgent) 68 if err != nil { 69 t.Error(err) 70 return 71 } 72 if x != 5 || y != 0 || z != 0 || w != 0 { 73 t.Error("获取了错误的版本号") 74 return 75 } 76 77 userAgent = `Mozilla/5.0(iphone;CPU iphone OS 5_1_1 like Mac OS X) AppleWebKit/534.46(KHTML,like Geocko)Mobile/9B206 MicroMessenger/5.3x` 78 x, y, z, w, err = WXVersion(userAgent) 79 if err != nil { 80 t.Error(err) 81 return 82 } 83 if x != 5 || y != 3 || z != 0 || w != 0 { 84 t.Error("获取了错误的版本号") 85 return 86 } 87 88 userAgent = `Mozilla/5.0(iphone;CPU iphone OS 5_1_1 like Mac OS X) AppleWebKit/534.46(KHTML,like Geocko)Mobile/9B206 MicroMessenger/5.3.1x` 89 x, y, z, w, err = WXVersion(userAgent) 90 if err != nil { 91 t.Error(err) 92 return 93 } 94 if x != 5 || y != 3 || z != 1 || w != 0 { 95 t.Error("获取了错误的版本号") 96 return 97 } 98 99 userAgent = `Mozilla/5.0 (Linux; Android 8.0.0; MI 6 Build/OPR1.170623.027; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/62.0.3202.84 Mobile Safari/537.36 MicroMessenger/6.6.2.1240(0x26060240) NetType/WIFI Language/zh_CN` 100 x, y, z, w, err = WXVersion(userAgent) 101 if err != nil { 102 t.Error(err) 103 return 104 } 105 if x != 6 || y != 6 || z != 2 || w != 1240 { 106 t.Error("获取了错误的版本号") 107 return 108 } 109 }