Skip to content
This repository was archived by the owner on Apr 28, 2022. It is now read-only.

Commit 71f4e91

Browse files
authoredMar 3, 2021
Merge pull request woothee#1 from hassanin/fix-macOS-version
fix MacOS version 11 and newer
2 parents 3d6536f + 6cbd633 commit 71f4e91

File tree

3 files changed

+14
-1
lines changed

3 files changed

+14
-1
lines changed
 

‎.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@ Cargo.lock
33
*.swp
44
*.bk
55
*.rs.rustfmt
6+
.idea
7+
*.iml

‎src/parser.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ lazy_static! {
4949
static ref RX_BLACKBERRY_OS_VERSION: Regex = Regex::new(r"BlackBerry(?:\d+)/([.0-9]+) ").unwrap();
5050
static ref RE_OSX_IPHONE_OS_VERSION: Regex =
5151
Regex::new(r"; CPU(?: iPhone)? OS (\d+_\d+(?:_\d+)?) like Mac OS X").unwrap();
52-
static ref RE_OSX_OS_VERSION: Regex = Regex::new(r"Mac OS X (10[._]\d+(?:[._]\d+)?)(?:\)|;)").unwrap();
52+
// static ref RE_OSX_OS_VERSION: Regex = Regex::new(r"Mac OS X (10[._]\d+(?:[._]\d+)?)(?:\)|;)").unwrap();
53+
static ref RE_OSX_OS_VERSION: Regex = Regex::new(r"Mac OS X (1[0-9][._]\d+(?:[._]\d+)?)(?:\)|;)").unwrap();//[0-9]
5354
static ref RX_HTTP_CLIENT: Regex =
5455
Regex::new(r"^(?:Apache-HttpClient/|Jakarta Commons-HttpClient/|Java/)").unwrap();
5556
static ref RX_HTTP_CLIENT_OTHER: Regex = Regex::new(r"[- ]HttpClient(/|$)").unwrap();

‎tests/pc_misc.rs

+10
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,16 @@ mod tests {
217217
assert_eq!(result.version, "33.0.1750.152");
218218
}
219219
}
220+
match parser.parse(r#"Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36"#) {
221+
None => panic!(r#"invalid parse. "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36""#),
222+
Some(result) => {
223+
assert_eq!(result.category, "pc");
224+
assert_eq!(result.name, "Chrome");
225+
assert_eq!(result.os, "Mac OSX");
226+
assert_eq!(result.os_version, "11.2.0".to_string());
227+
assert_eq!(result.version, "88.0.4324.150");
228+
}
229+
}
220230
match parser.parse(r#"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 YaBrowser/17.11.1.1087 (beta) Yowser/2.5 Safari/537.36"#) {
221231
None => panic!(r#"invalid parse. "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 YaBrowser/17.11.1.1087 (beta) Yowser/2.5 Safari/537.36""#),
222232
Some(result) => {

0 commit comments

Comments
 (0)
This repository has been archived.