File: ios_test.rb

package info (click to toggle)
ruby-browser 5.3.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 872 kB
  • sloc: ruby: 4,752; makefile: 13
file content (140 lines) | stat: -rw-r--r-- 3,707 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# frozen_string_literal: true

require "test_helper"

class IosTest < Minitest::Test
  test "detects iphone" do
    browser = Browser.new(Browser["IPHONE"])

    assert_equal "Safari", browser.name
    assert browser.safari?
    assert browser.webkit?
    assert browser.platform.ios?
    refute browser.platform.mac?
    assert_equal "3.0", browser.full_version
    assert_equal "3", browser.version
  end

  test "detects safari" do
    browser = Browser.new(Browser["SAFARI"])

    assert_equal "Safari", browser.name
    assert browser.safari?
    assert browser.webkit?
    assert_equal "5.0.1", browser.full_version
    assert_equal "5", browser.version
  end

  test "detects safari in webapp mode" do
    browser = Browser.new(Browser["SAFARI_IPAD_WEBAPP_MODE"])
    refute browser.safari?
    assert browser.platform.ios_webview?

    browser = Browser.new(Browser["SAFARI_IPHONE_WEBAPP_MODE"])
    refute browser.safari?
    assert browser.platform.ios_webview?
  end

  test "detects ipod" do
    browser = Browser.new(Browser["IPOD"])

    assert_equal "Safari", browser.name
    assert browser.safari?
    assert browser.webkit?
    assert browser.platform.ios?
    refute browser.device.tablet?
    refute browser.platform.mac?
    assert_equal "3.0", browser.full_version
    assert_equal "3", browser.version
  end

  test "detects ipad" do
    browser = Browser.new(Browser["IPAD"])

    assert_equal "Safari", browser.name
    assert browser.safari?
    assert browser.webkit?
    assert browser.platform.ios?
    refute browser.platform.mac?
    assert_equal "4.0.4", browser.full_version
    assert_equal "4", browser.version
  end

  test "detects ios4" do
    browser = Browser.new(Browser["IOS4"])
    assert browser.platform.ios?
    assert browser.platform.ios?(4)
    refute browser.platform.mac?
  end

  test "detects ios5" do
    browser = Browser.new(Browser["IOS5"])
    assert browser.platform.ios?
    assert browser.platform.ios?(5)
    refute browser.platform.mac?
  end

  test "detects ios6" do
    browser = Browser.new(Browser["IOS6"])
    assert browser.platform.ios?
    assert browser.platform.ios?(6)
    refute browser.platform.mac?
  end

  test "detects ios7" do
    browser = Browser.new(Browser["IOS7"])
    assert browser.platform.ios?
    assert browser.platform.ios?(7)
    refute browser.platform.mac?
  end

  test "detects ios8" do
    browser = Browser.new(Browser["IOS8"])
    assert browser.platform.ios?
    assert browser.platform.ios?(8)
    refute browser.platform.mac?
  end

  test "detects ios9" do
    browser = Browser.new(Browser["IOS9"])
    assert browser.platform.ios?
    assert browser.platform.ios?(9)
    refute browser.platform.mac?
  end

  test "detects ios12" do
    browser = Browser.new(Browser["IOS12"])
    assert browser.platform.ios?
    assert browser.platform.ios?(12)
    refute browser.platform.mac?
  end

  test "don't detect as two different versions" do
    browser = Browser.new(Browser["IOS8"])
    assert browser.platform.ios?(8)
    refute browser.platform.ios?(7)
  end

  test "returns string representation for iphone" do
    browser = Browser.new(Browser["IPHONE"])
    meta = browser.to_s

    assert meta.include?("webkit")
    assert meta.include?("ios")
    assert meta.include?("safari")
    assert meta.include?("safari3")
    assert meta.include?("mobile")
    refute meta.include?("tablet")
  end

  test "returns string representation for ipad" do
    browser = Browser.new(Browser["IPAD"])
    meta = browser.to_s

    assert meta.include?("webkit")
    assert meta.include?("ios")
    assert meta.include?("safari")
    assert meta.include?("tablet")
    refute meta.include?("mobile")
  end
end