From 948bd79b54f138194c885a02b42fddee430f5676 Mon Sep 17 00:00:00 2001 From: Karisse Khoo Date: Wed, 26 Oct 2022 10:52:42 +0800 Subject: [PATCH 1/4] handle firefox version without patch segment --- regexes.yaml | 4 ++-- test_resources/firefox_user_agent_strings.yaml | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/regexes.yaml b/regexes.yaml index 9ce784b0..e9c6d0b8 100644 --- a/regexes.yaml +++ b/regexes.yaml @@ -921,7 +921,7 @@ user_agent_parsers: # AFTER THE EDGE CASES ABOVE! # AFTER IE11 # BEFORE all other IE - - regex: '(Firefox)/(\d+)\.(\d+)\.(\d+)' + - regex: '(Firefox)/(\d+)\.(\d+)(?:\.(\d+)|)' - regex: '(Firefox)/(\d+)\.(\d+)(pre|[ab]\d+[a-z]*|)' @@ -5549,7 +5549,7 @@ device_parsers: device_replacement: 'Motorola$2' brand_replacement: 'Motorola' model_replacement: '$2' - + ########## # nintendo diff --git a/test_resources/firefox_user_agent_strings.yaml b/test_resources/firefox_user_agent_strings.yaml index 391a8138..f8a1c884 100644 --- a/test_resources/firefox_user_agent_strings.yaml +++ b/test_resources/firefox_user_agent_strings.yaml @@ -1234,6 +1234,12 @@ test_cases: minor: '0' patch: '1' + - user_agent_string: 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:104.0) Gecko/20100101 Firefox/104.0' + family: 'Firefox' + major: '104' + minor: '0' + patch: + - user_agent_string: 'Mozilla/5.0 (X11; Linux armv7l; rv:2.1.1) Gecko/ Firefox/5.0.1' family: 'Firefox' major: '5' From ed34ecdbc28a4350506120784743967b81335a49 Mon Sep 17 00:00:00 2001 From: Karisse Khoo Date: Wed, 26 Oct 2022 10:56:43 +0800 Subject: [PATCH 2/4] remove unnecessary line space --- regexes.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/regexes.yaml b/regexes.yaml index e9c6d0b8..7b082d9a 100644 --- a/regexes.yaml +++ b/regexes.yaml @@ -5550,7 +5550,6 @@ device_parsers: brand_replacement: 'Motorola' model_replacement: '$2' - ########## # nintendo ########## From c8e6439d061d3cbe9672d5bcab558cbc5e68cb34 Mon Sep 17 00:00:00 2001 From: Karisse Khoo Date: Wed, 26 Oct 2022 12:30:21 +0800 Subject: [PATCH 3/4] update regex --- regexes.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/regexes.yaml b/regexes.yaml index 7b082d9a..8bd20053 100644 --- a/regexes.yaml +++ b/regexes.yaml @@ -921,7 +921,7 @@ user_agent_parsers: # AFTER THE EDGE CASES ABOVE! # AFTER IE11 # BEFORE all other IE - - regex: '(Firefox)/(\d+)\.(\d+)(?:\.(\d+)|)' + - regex: '(Firefox)/(\d+)\.(\d+)(?:\.(\d+)|\z)' - regex: '(Firefox)/(\d+)\.(\d+)(pre|[ab]\d+[a-z]*|)' @@ -5550,6 +5550,7 @@ device_parsers: brand_replacement: 'Motorola' model_replacement: '$2' + ########## # nintendo ########## From 33762aa08a8b420f836128c96977881fa3d1a4c2 Mon Sep 17 00:00:00 2001 From: Karisse Khoo Date: Wed, 11 Jan 2023 15:58:27 +0800 Subject: [PATCH 4/4] use $ instead of \z --- regexes.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regexes.yaml b/regexes.yaml index 8bd20053..8832d237 100644 --- a/regexes.yaml +++ b/regexes.yaml @@ -921,7 +921,7 @@ user_agent_parsers: # AFTER THE EDGE CASES ABOVE! # AFTER IE11 # BEFORE all other IE - - regex: '(Firefox)/(\d+)\.(\d+)(?:\.(\d+)|\z)' + - regex: '(Firefox)/(\d+)\.(\d+)(?:\.(\d+)|$)' - regex: '(Firefox)/(\d+)\.(\d+)(pre|[ab]\d+[a-z]*|)'