OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.chrome.browser.webapps; | 5 package org.chromium.chrome.browser.webapps; |
6 | 6 |
7 import android.content.Intent; | 7 import android.content.Intent; |
8 import android.test.InstrumentationTestCase; | 8 import android.test.InstrumentationTestCase; |
9 import android.test.suitebuilder.annotation.SmallTest; | 9 import android.test.suitebuilder.annotation.SmallTest; |
10 | 10 |
11 import org.chromium.base.test.util.Feature; | 11 import org.chromium.base.test.util.Feature; |
12 import org.chromium.chrome.browser.ShortcutHelper; | 12 import org.chromium.chrome.browser.ShortcutHelper; |
13 import org.chromium.chrome.browser.ShortcutSource; | 13 import org.chromium.chrome.browser.ShortcutSource; |
14 import org.chromium.content_public.common.ScreenOrientationValues; | 14 import org.chromium.content_public.common.ScreenOrientationValues; |
| 15 import org.chromium.webapk.lib.common.WebApkConstants; |
15 | 16 |
16 /** | 17 /** |
17 * Tests the WebappInfo class's ability to parse various URLs. | 18 * Tests the WebappInfo class's ability to parse various URLs. |
18 */ | 19 */ |
19 public class WebappInfoTest extends InstrumentationTestCase { | 20 public class WebappInfoTest extends InstrumentationTestCase { |
20 @SmallTest | 21 @SmallTest |
21 @Feature({"Webapps"}) | 22 @Feature({"Webapps"}) |
22 public void testAbout() { | 23 public void testAbout() { |
23 String id = "webapp id"; | 24 String id = "webapp id"; |
24 String name = "longName"; | 25 String name = "longName"; |
25 String shortName = "name"; | 26 String shortName = "name"; |
26 String url = "about:blank"; | 27 String url = "about:blank"; |
27 | 28 |
28 WebappInfo info = WebappInfo.create(id, url, null, name, shortName, | 29 WebappInfo info = WebappInfo.create(id, url, null, null, name, shortName
, |
29 ScreenOrientationValues.DEFAULT, ShortcutSource.UNKNOWN, | 30 ScreenOrientationValues.DEFAULT, ShortcutSource.UNKNOWN, |
30 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, | 31 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, |
31 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, false); | 32 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, false, null); |
32 assertNotNull(info); | 33 assertNotNull(info); |
33 } | 34 } |
34 | 35 |
35 @SmallTest | 36 @SmallTest |
36 @Feature({"Webapps"}) | 37 @Feature({"Webapps"}) |
37 public void testRandomUrl() { | 38 public void testRandomUrl() { |
38 String id = "webapp id"; | 39 String id = "webapp id"; |
39 String name = "longName"; | 40 String name = "longName"; |
40 String shortName = "name"; | 41 String shortName = "name"; |
41 String url = "http://google.com"; | 42 String url = "http://google.com"; |
42 | 43 |
43 WebappInfo info = WebappInfo.create(id, url, null, name, shortName, | 44 WebappInfo info = WebappInfo.create(id, url, null, null, name, shortName
, |
44 ScreenOrientationValues.DEFAULT, ShortcutSource.UNKNOWN, | 45 ScreenOrientationValues.DEFAULT, ShortcutSource.UNKNOWN, |
45 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, | 46 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, |
46 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, false); | 47 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, false, null); |
47 assertNotNull(info); | 48 assertNotNull(info); |
48 } | 49 } |
49 | 50 |
50 @SmallTest | 51 @SmallTest |
51 @Feature({"Webapps"}) | 52 @Feature({"Webapps"}) |
52 public void testSpacesInUrl() { | 53 public void testSpacesInUrl() { |
53 String id = "webapp id"; | 54 String id = "webapp id"; |
54 String name = "longName"; | 55 String name = "longName"; |
55 String shortName = "name"; | 56 String shortName = "name"; |
56 String bustedUrl = "http://money.cnn.com/?category=Latest News"; | 57 String bustedUrl = "http://money.cnn.com/?category=Latest News"; |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 } | 139 } |
139 | 140 |
140 @SmallTest | 141 @SmallTest |
141 @Feature({"Webapps"}) | 142 @Feature({"Webapps"}) |
142 public void testOrientationAndSource() { | 143 public void testOrientationAndSource() { |
143 String id = "webapp id"; | 144 String id = "webapp id"; |
144 String name = "longName"; | 145 String name = "longName"; |
145 String shortName = "name"; | 146 String shortName = "name"; |
146 String url = "http://money.cnn.com"; | 147 String url = "http://money.cnn.com"; |
147 | 148 |
148 WebappInfo info = WebappInfo.create(id, url, null, name, shortName, | 149 WebappInfo info = WebappInfo.create(id, url, null, null, name, shortName
, |
149 ScreenOrientationValues.DEFAULT, ShortcutSource.UNKNOWN, | 150 ScreenOrientationValues.DEFAULT, ShortcutSource.UNKNOWN, |
150 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, | 151 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, |
151 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, false); | 152 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, false, null); |
152 assertEquals(ScreenOrientationValues.DEFAULT, info.orientation()); | 153 assertEquals(ScreenOrientationValues.DEFAULT, info.orientation()); |
153 assertEquals(ShortcutSource.UNKNOWN, info.source()); | 154 assertEquals(ShortcutSource.UNKNOWN, info.source()); |
154 } | 155 } |
155 | 156 |
156 @SmallTest | 157 @SmallTest |
157 @Feature({"Webapps"}) | 158 @Feature({"Webapps"}) |
158 public void testNormalColors() { | 159 public void testNormalColors() { |
159 String id = "webapp id"; | 160 String id = "webapp id"; |
160 String name = "longName"; | 161 String name = "longName"; |
161 String shortName = "name"; | 162 String shortName = "name"; |
162 String url = "http://money.cnn.com"; | 163 String url = "http://money.cnn.com"; |
163 long themeColor = 0xFF00FF00L; | 164 long themeColor = 0xFF00FF00L; |
164 long backgroundColor = 0xFF0000FFL; | 165 long backgroundColor = 0xFF0000FFL; |
165 | 166 |
166 WebappInfo info = WebappInfo.create(id, url, null, name, shortName, | 167 WebappInfo info = WebappInfo.create(id, url, null, null, name, shortName
, |
167 ScreenOrientationValues.DEFAULT, ShortcutSource.UNKNOWN, | 168 ScreenOrientationValues.DEFAULT, ShortcutSource.UNKNOWN, |
168 themeColor, backgroundColor, false); | 169 themeColor, backgroundColor, false, null); |
169 assertEquals(info.themeColor(), themeColor); | 170 assertEquals(info.themeColor(), themeColor); |
170 assertEquals(info.backgroundColor(), backgroundColor); | 171 assertEquals(info.backgroundColor(), backgroundColor); |
171 } | 172 } |
172 | 173 |
173 @SmallTest | 174 @SmallTest |
174 @Feature({"Webapps"}) | 175 @Feature({"Webapps"}) |
175 public void testInvalidOrMissingColors() { | 176 public void testInvalidOrMissingColors() { |
176 String id = "webapp id"; | 177 String id = "webapp id"; |
177 String name = "longName"; | 178 String name = "longName"; |
178 String shortName = "name"; | 179 String shortName = "name"; |
179 String url = "http://money.cnn.com"; | 180 String url = "http://money.cnn.com"; |
180 | 181 |
181 WebappInfo info = WebappInfo.create(id, url, null, name, shortName, | 182 WebappInfo info = WebappInfo.create(id, url, null, null, name, shortName
, |
182 ScreenOrientationValues.DEFAULT, ShortcutSource.UNKNOWN, | 183 ScreenOrientationValues.DEFAULT, ShortcutSource.UNKNOWN, |
183 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, | 184 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, |
184 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, false); | 185 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, false, null); |
185 assertEquals(info.themeColor(), ShortcutHelper.MANIFEST_COLOR_INVALID_OR
_MISSING); | 186 assertEquals(info.themeColor(), ShortcutHelper.MANIFEST_COLOR_INVALID_OR
_MISSING); |
186 assertEquals(info.backgroundColor(), ShortcutHelper.MANIFEST_COLOR_INVAL
ID_OR_MISSING); | 187 assertEquals(info.backgroundColor(), ShortcutHelper.MANIFEST_COLOR_INVAL
ID_OR_MISSING); |
187 } | 188 } |
188 | 189 |
189 @SmallTest | 190 @SmallTest |
190 @Feature({"Webapps"}) | 191 @Feature({"Webapps"}) |
191 public void testColorsIntentCreation() { | 192 public void testColorsIntentCreation() { |
192 String id = "webapp id"; | 193 String id = "webapp id"; |
193 String url = "http://money.cnn.com"; | 194 String url = "http://money.cnn.com"; |
194 long themeColor = 0xFF00FF00L; | 195 long themeColor = 0xFF00FF00L; |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 Intent intent = new Intent(); | 254 Intent intent = new Intent(); |
254 intent.putExtra(ShortcutHelper.EXTRA_ID, id); | 255 intent.putExtra(ShortcutHelper.EXTRA_ID, id); |
255 intent.putExtra(ShortcutHelper.EXTRA_NAME, name); | 256 intent.putExtra(ShortcutHelper.EXTRA_NAME, name); |
256 intent.putExtra(ShortcutHelper.EXTRA_SHORT_NAME, shortName); | 257 intent.putExtra(ShortcutHelper.EXTRA_SHORT_NAME, shortName); |
257 intent.putExtra(ShortcutHelper.EXTRA_URL, url); | 258 intent.putExtra(ShortcutHelper.EXTRA_URL, url); |
258 intent.putExtra(ShortcutHelper.EXTRA_IS_ICON_GENERATED, "true"); | 259 intent.putExtra(ShortcutHelper.EXTRA_IS_ICON_GENERATED, "true"); |
259 | 260 |
260 assertFalse(name, WebappInfo.create(intent).isIconGenerated()); | 261 assertFalse(name, WebappInfo.create(intent).isIconGenerated()); |
261 } | 262 } |
262 } | 263 } |
| 264 |
| 265 @SmallTest |
| 266 @Feature({"WebApk"}) |
| 267 public void testIntentScopeAndPackageName() { |
| 268 String id = WebApkConstants.WEBAPK_ID_PREFIX + "id"; |
| 269 String name = "longName"; |
| 270 String url = "http://www.foo.com/homepage"; |
| 271 String scope = "https://www.foo.com"; |
| 272 String packageName = WebApkConstants.WEBAPK_PACKAGE_PREFIX + ".foo"; |
| 273 |
| 274 Intent intent = new Intent(); |
| 275 intent.putExtra(ShortcutHelper.EXTRA_ID, id); |
| 276 intent.putExtra(ShortcutHelper.EXTRA_NAME, name); |
| 277 intent.putExtra(ShortcutHelper.EXTRA_URL, url); |
| 278 intent.putExtra(ShortcutHelper.EXTRA_SCOPE, scope); |
| 279 intent.putExtra(ShortcutHelper.EXTRA_WEBAPK_PACKAGE_NAME, packageName); |
| 280 |
| 281 WebappInfo info = WebappInfo.create(intent); |
| 282 assertEquals(scope, info.scope().toString()); |
| 283 assertEquals(packageName, info.packageName()); |
| 284 } |
263 } | 285 } |
OLD | NEW |