You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ionic/platform/test/platform.spec.ts
+78Lines changed: 78 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -41,14 +41,26 @@ export function run() {
41
41
platform.load('ios');
42
42
43
43
expect(platform.is('android')).toEqual(false);
44
+
expect(platform.is('windows')).toEqual(false);
44
45
expect(platform.is('ios')).toEqual(true);
45
46
});
46
47
48
+
it('should set windows via platformOverride, despite android querystring',()=>{
49
+
letplatform=newPlatform();
50
+
platform.setUrl('/?ionicplatform=android');
51
+
platform.load('windows');
52
+
53
+
expect(platform.is('android')).toEqual(false);
54
+
expect(platform.is('windows')).toEqual(true);
55
+
expect(platform.is('ios')).toEqual(false);
56
+
});
57
+
47
58
it('should set ios via platformOverride',()=>{
48
59
letplatform=newPlatform();
49
60
platform.load('ios');
50
61
51
62
expect(platform.is('android')).toEqual(false);
63
+
expect(platform.is('windows')).toEqual(false);
52
64
expect(platform.is('ios')).toEqual(true);
53
65
});
54
66
@@ -57,6 +69,18 @@ export function run() {
57
69
platform.load('android');
58
70
59
71
expect(platform.is('android')).toEqual(true);
72
+
expect(platform.is('windows')).toEqual(false);
73
+
expect(platform.is('ios')).toEqual(false);
74
+
});
75
+
76
+
it('should set windows via querystring',()=>{
77
+
letplatform=newPlatform();
78
+
platform.setUrl('/?ionicplatform=windows');
79
+
platform.load();
80
+
81
+
expect(platform.is('mobile')).toEqual(true);
82
+
expect(platform.is('android')).toEqual(false);
83
+
expect(platform.is('windows')).toEqual(true);
60
84
expect(platform.is('ios')).toEqual(false);
61
85
});
62
86
@@ -67,16 +91,29 @@ export function run() {
67
91
68
92
expect(platform.is('mobile')).toEqual(true);
69
93
expect(platform.is('android')).toEqual(false);
94
+
expect(platform.is('windows')).toEqual(false);
70
95
expect(platform.is('ios')).toEqual(true);
71
96
});
72
97
98
+
it('should set windows via querystring, even with android user agent',()=>{
99
+
letplatform=newPlatform();
100
+
platform.setUrl('/?ionicplatform=windows');
101
+
platform.setUserAgent(ANDROID_UA);
102
+
platform.load();
103
+
104
+
expect(platform.is('android')).toEqual(false);
105
+
expect(platform.is('windows')).toEqual(true);
106
+
expect(platform.is('ios')).toEqual(false);
107
+
});
108
+
73
109
it('should set ios via querystring, even with android user agent',()=>{
74
110
letplatform=newPlatform();
75
111
platform.setUrl('/?ionicplatform=ios');
76
112
platform.setUserAgent(ANDROID_UA);
77
113
platform.load();
78
114
79
115
expect(platform.is('android')).toEqual(false);
116
+
expect(platform.is('windows')).toEqual(false);
80
117
expect(platform.is('ios')).toEqual(true);
81
118
});
82
119
@@ -86,6 +123,7 @@ export function run() {
86
123
platform.load();
87
124
88
125
expect(platform.is('android')).toEqual(true);
126
+
expect(platform.is('windows')).toEqual(false);
89
127
expect(platform.is('ios')).toEqual(false);
90
128
});
91
129
@@ -96,6 +134,40 @@ export function run() {
96
134
platform.load();
97
135
98
136
expect(platform.is('android')).toEqual(true);
137
+
expect(platform.is('windows')).toEqual(false);
138
+
expect(platform.is('ios')).toEqual(false);
139
+
});
140
+
141
+
it('should set windows via user agent',()=>{
142
+
letplatform=newPlatform();
143
+
platform.setUserAgent(WINDOWS_UA);
144
+
platform.load();
145
+
146
+
expect(platform.is('mobile')).toEqual(true);
147
+
expect(platform.is('windows')).toEqual(true);
148
+
expect(platform.is('android')).toEqual(false);
149
+
expect(platform.is('ios')).toEqual(false);
150
+
});
151
+
152
+
it('should set windows8 via user agent',()=>{
153
+
letplatform=newPlatform();
154
+
platform.setUserAgent(WINDOWS8_UA);
155
+
platform.load();
156
+
157
+
expect(platform.is('mobile')).toEqual(true);
158
+
expect(platform.is('windows')).toEqual(true);
159
+
expect(platform.is('android')).toEqual(false);
160
+
expect(platform.is('ios')).toEqual(false);
161
+
});
162
+
163
+
it('should set windows7 via user agent',()=>{
164
+
letplatform=newPlatform();
165
+
platform.setUserAgent(WINDOWS7_UA);
166
+
platform.load();
167
+
168
+
expect(platform.is('mobile')).toEqual(true);
169
+
expect(platform.is('windows')).toEqual(true);
170
+
expect(platform.is('android')).toEqual(false);
99
171
expect(platform.is('ios')).toEqual(false);
100
172
});
101
173
@@ -105,6 +177,7 @@ export function run() {
105
177
platform.load();
106
178
107
179
expect(platform.is('mobile')).toEqual(true);
180
+
expect(platform.is('windows')).toEqual(false);
108
181
expect(platform.is('android')).toEqual(true);
109
182
expect(platform.is('ios')).toEqual(false);
110
183
});
@@ -115,6 +188,7 @@ export function run() {
115
188
platform.load();
116
189
117
190
expect(platform.is('mobile')).toEqual(true);
191
+
expect(platform.is('windows')).toEqual(false);
118
192
expect(platform.is('android')).toEqual(false);
119
193
expect(platform.is('ios')).toEqual(true);
120
194
expect(platform.is('iphone')).toEqual(true);
@@ -127,6 +201,7 @@ export function run() {
127
201
platform.load();
128
202
129
203
expect(platform.is('mobile')).toEqual(true);
204
+
expect(platform.is('windows')).toEqual(false);
130
205
expect(platform.is('android')).toEqual(false);
131
206
expect(platform.is('ios')).toEqual(true);
132
207
expect(platform.is('ipad')).toEqual(true);
@@ -135,6 +210,9 @@ export function run() {
135
210
136
211
}
137
212
213
+
constWINDOWS_UA='Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 930) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537';
constWINDOWS7_UA='Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; LG; GW910)';
138
216
constANDROID_UA='Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.20 Mobile Safari/537.36';
139
217
constIPHONE_UA='Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 Mobile/12A4345d Safari/600.1.4';
140
218
constIPAD_UA='Mozilla/5.0 (iPad; CPU OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53';
0 commit comments