browser_sniffer 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/browser_sniffer/patterns.rb +3 -0
- data/lib/browser_sniffer/version.rb +1 -1
- data/test/shopify_agents_test.rb +28 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: beb896967f13a26304b23513f7e2a6e334854afc3187795a7d98698a4b8a2299
|
4
|
+
data.tar.gz: b3be5e1a5068b56d87685129404b8ed369644af58adbd815c6634a8500a23221
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b0f851fc4026c1f35e905daf515f68cd4755261fe6c1424825170dcaefa207605bdd825b821f865cecad5bcc4d99394b783f6078c29eb37a41d96ee41ccaff07
|
7
|
+
data.tar.gz: bad8fe19eb686b1d4e698805a87790cf4e48f4b0654504c5f6d761d2b7cbc97a82746eacade1cbacd210b2459b3e3065f212315b5045bd4bcbe40be09418535f
|
@@ -59,6 +59,9 @@ class BrowserSniffer
|
|
59
59
|
], [:name, :version], [
|
60
60
|
# Shopify POS for Android (Native App)
|
61
61
|
%r{.*(\sPOS\s-).*\s([\d+\.]+)(\/\d*)*\s}i,
|
62
|
+
], [[:name, 'Shopify POS'], :version], [
|
63
|
+
# Shopify POS for Android (Native App) New Format
|
64
|
+
%r{(Shopify POS)\/([\d\.]+)[^\/]*\/(Android)\/(\d+)}i,
|
62
65
|
], [[:name, 'Shopify POS'], :version], [
|
63
66
|
# Shopify POS for Android (SmartWebView)
|
64
67
|
%r{.*(Shopify\sPOS)\s.*Android.*\s([\d+\.]+)(\/\d*)*\s}i,
|
data/test/shopify_agents_test.rb
CHANGED
@@ -554,6 +554,34 @@ describe "Shopify agents" do
|
|
554
554
|
assert_equal sniffer.os_info, sniffer_with_suffix.os_info
|
555
555
|
end
|
556
556
|
|
557
|
+
it "Shopify POS on Android can be sniffed (Native App) New Format" do
|
558
|
+
user_agent = "com.jadedpixel.pos Shopify POS/4.23.0/Android/12/google/Pixel 5/production MobileMiddlewareSupported"
|
559
|
+
sniffer = BrowserSniffer.new(user_agent)
|
560
|
+
|
561
|
+
user_agent_with_mal = "com.jadedpixel.pos Shopify POS/4.23.0-mal+30112/Android/12/google/Android SDK built for " \
|
562
|
+
"x86/development MobileMiddlewareSupported"
|
563
|
+
sniffer_with_suffix = BrowserSniffer.new(user_agent_with_mal)
|
564
|
+
|
565
|
+
assert_equal ({
|
566
|
+
name: 'Shopify POS',
|
567
|
+
version: '4.23.0',
|
568
|
+
}), sniffer.browser_info
|
569
|
+
|
570
|
+
assert_equal ({
|
571
|
+
type: :handheld,
|
572
|
+
}), sniffer.device_info
|
573
|
+
|
574
|
+
assert_equal ({
|
575
|
+
type: :android,
|
576
|
+
version: '12',
|
577
|
+
name: 'Android',
|
578
|
+
}), sniffer.os_info
|
579
|
+
|
580
|
+
assert_equal sniffer.browser_info, sniffer_with_suffix.browser_info
|
581
|
+
assert_equal sniffer.device_info, sniffer_with_suffix.device_info
|
582
|
+
assert_equal sniffer.os_info, sniffer_with_suffix.os_info
|
583
|
+
end
|
584
|
+
|
557
585
|
it "Shopify Mobile in debug mode can be parsed" do
|
558
586
|
user_agent = "Shopify Mobile/Android/6.0.0 (debug) (Build 1 with API 25 on Unknown Android SDK built for x86)"
|
559
587
|
sniffer = BrowserSniffer.new(user_agent)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: browser_sniffer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shopify
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|