percy-appium-app 0.0.9.beta0 → 0.0.9.beta1
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/percy/metadata/metadata_resolver.rb +2 -1
- data/percy/version.rb +1 -1
- data/specs/metadata_resolver.rb +45 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 47bb435221c28272d50b8e17f6540177bf9c656f128bcfb51f3e5468bf89772d
|
4
|
+
data.tar.gz: 5ea3c75e8ea54331a06729fd253219fa40acbabf3936929b0465b77ca10b6c84
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c73191b25d04b044662995228926349eb37838cb03edd9a3f25c72afc6898872dde22b2b01a87f54f4d7b9277873e2784e8874766c40ae947b4e5690f5fc2118
|
7
|
+
data.tar.gz: b3b16e11cb7c83f5845d92e1773d71d140b4a0b4ccc5c905cbdab11a52beeb96b1d40762e02a0ba8ace7ce25cb45c112711226d0db08b9eef8824bfbaa21cc6e
|
@@ -9,7 +9,8 @@ module Percy
|
|
9
9
|
def self.resolve(driver)
|
10
10
|
capabilities = driver.capabilities
|
11
11
|
capabilities = capabilities.as_json unless capabilities.is_a?(Hash)
|
12
|
-
|
12
|
+
key = capabilities.keys.find { |k| k.downcase.gsub('_', '') == 'platformname' }
|
13
|
+
platform_name = capabilities[key]&.downcase
|
13
14
|
case platform_name
|
14
15
|
when 'android'
|
15
16
|
Percy::AndroidMetadata.new(driver)
|
data/percy/version.rb
CHANGED
data/specs/metadata_resolver.rb
CHANGED
@@ -20,6 +20,24 @@ class MetadataResolverTestCase < Minitest::Test
|
|
20
20
|
assert_instance_of(Percy::AndroidMetadata, resolved_metadata)
|
21
21
|
@mock_webdriver.verify
|
22
22
|
end
|
23
|
+
|
24
|
+
def test_android_resolved_with_PLATFORM_NAME
|
25
|
+
@mock_webdriver.expect(:capabilities, { 'PLATFORM_NAME' => 'Android' })
|
26
|
+
@mock_webdriver.expect(:capabilities, { 'PLATFORM_NAME' => 'Android' })
|
27
|
+
resolved_metadata = Percy::MetadataResolver.resolve(@mock_webdriver)
|
28
|
+
|
29
|
+
assert_instance_of(Percy::AndroidMetadata, resolved_metadata)
|
30
|
+
@mock_webdriver.verify
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_android_resolved_with_platform_name
|
34
|
+
@mock_webdriver.expect(:capabilities, { 'platform_name' => 'Android' })
|
35
|
+
@mock_webdriver.expect(:capabilities, { 'platform_name' => 'Android' })
|
36
|
+
resolved_metadata = Percy::MetadataResolver.resolve(@mock_webdriver)
|
37
|
+
|
38
|
+
assert_instance_of(Percy::AndroidMetadata, resolved_metadata)
|
39
|
+
@mock_webdriver.verify
|
40
|
+
end
|
23
41
|
|
24
42
|
def test_ios_resolved
|
25
43
|
@mock_webdriver.expect(:capabilities, { 'platformName' => 'iOS' })
|
@@ -29,6 +47,23 @@ class MetadataResolverTestCase < Minitest::Test
|
|
29
47
|
@mock_webdriver.verify
|
30
48
|
end
|
31
49
|
|
50
|
+
def test_ios_resolved_with_platform_name
|
51
|
+
@mock_webdriver.expect(:capabilities, { 'platform_name' => 'iOS' })
|
52
|
+
resolved_metadata = Percy::MetadataResolver.resolve(@mock_webdriver)
|
53
|
+
|
54
|
+
assert_instance_of(Percy::IOSMetadata, resolved_metadata)
|
55
|
+
@mock_webdriver.verify
|
56
|
+
end
|
57
|
+
|
58
|
+
def test_platformName_precedence_over_platform_name
|
59
|
+
@mock_webdriver.expect(:capabilities, { 'platformName' => 'Android', 'platform_name' => 'iOS' })
|
60
|
+
@mock_webdriver.expect(:capabilities, { 'platformName' => 'Android', 'platform_name' => 'iOS' })
|
61
|
+
resolved_metadata = Percy::MetadataResolver.resolve(@mock_webdriver)
|
62
|
+
|
63
|
+
assert_instance_of(Percy::AndroidMetadata, resolved_metadata)
|
64
|
+
@mock_webdriver.verify
|
65
|
+
end
|
66
|
+
|
32
67
|
def test_unknown_platform_exception
|
33
68
|
@mock_webdriver.expect(:capabilities, { 'platformName' => 'Something Random' })
|
34
69
|
|
@@ -38,4 +73,14 @@ class MetadataResolverTestCase < Minitest::Test
|
|
38
73
|
|
39
74
|
@mock_webdriver.verify
|
40
75
|
end
|
76
|
+
|
77
|
+
def test_unknown_platform_exception_with_platform_name
|
78
|
+
@mock_webdriver.expect(:capabilities, { 'platform_name' => 'Something Random' })
|
79
|
+
|
80
|
+
assert_raises(PlatformNotSupported) do
|
81
|
+
Percy::MetadataResolver.resolve(@mock_webdriver)
|
82
|
+
end
|
83
|
+
|
84
|
+
@mock_webdriver.verify
|
85
|
+
end
|
41
86
|
end
|