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.blink_public.platform.WebDisplayMode; | 12 import org.chromium.blink_public.platform.WebDisplayMode; |
13 import org.chromium.chrome.browser.ShortcutHelper; | 13 import org.chromium.chrome.browser.ShortcutHelper; |
14 import org.chromium.chrome.browser.ShortcutSource; | 14 import org.chromium.chrome.browser.ShortcutSource; |
15 import org.chromium.content_public.common.ScreenOrientationValues; | 15 import org.chromium.content_public.common.ScreenOrientationValues; |
| 16 import org.chromium.webapk.lib.common.WebApkConstants; |
16 | 17 |
17 /** | 18 /** |
18 * Tests the WebappInfo class's ability to parse various URLs. | 19 * Tests the WebappInfo class's ability to parse various URLs. |
19 */ | 20 */ |
20 public class WebappInfoTest extends InstrumentationTestCase { | 21 public class WebappInfoTest extends InstrumentationTestCase { |
21 @SmallTest | 22 @SmallTest |
22 @Feature({"Webapps"}) | 23 @Feature({"Webapps"}) |
23 public void testAbout() { | 24 public void testAbout() { |
24 String id = "webapp id"; | 25 String id = "webapp id"; |
25 String name = "longName"; | 26 String name = "longName"; |
26 String shortName = "name"; | 27 String shortName = "name"; |
27 String url = "about:blank"; | 28 String url = "about:blank"; |
28 | 29 |
29 WebappInfo info = WebappInfo.create(id, url, null, name, shortName, | 30 WebappInfo info = WebappInfo.create(id, url, null, name, shortName, |
30 WebDisplayMode.Standalone, ScreenOrientationValues.DEFAULT, Shor
tcutSource.UNKNOWN, | 31 WebDisplayMode.Standalone, ScreenOrientationValues.DEFAULT, Shor
tcutSource.UNKNOWN, |
31 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, | 32 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, |
32 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, false); | 33 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, false, null); |
33 assertNotNull(info); | 34 assertNotNull(info); |
34 } | 35 } |
35 | 36 |
36 @SmallTest | 37 @SmallTest |
37 @Feature({"Webapps"}) | 38 @Feature({"Webapps"}) |
38 public void testRandomUrl() { | 39 public void testRandomUrl() { |
39 String id = "webapp id"; | 40 String id = "webapp id"; |
40 String name = "longName"; | 41 String name = "longName"; |
41 String shortName = "name"; | 42 String shortName = "name"; |
42 String url = "http://google.com"; | 43 String url = "http://google.com"; |
43 | 44 |
44 WebappInfo info = WebappInfo.create(id, url, null, name, shortName, | 45 WebappInfo info = WebappInfo.create(id, url, null, name, shortName, |
45 WebDisplayMode.Standalone, ScreenOrientationValues.DEFAULT, Shor
tcutSource.UNKNOWN, | 46 WebDisplayMode.Standalone, ScreenOrientationValues.DEFAULT, Shor
tcutSource.UNKNOWN, |
46 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, | 47 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, |
47 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, false); | 48 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, false, null); |
48 assertNotNull(info); | 49 assertNotNull(info); |
49 } | 50 } |
50 | 51 |
51 @SmallTest | 52 @SmallTest |
52 @Feature({"Webapps"}) | 53 @Feature({"Webapps"}) |
53 public void testSpacesInUrl() { | 54 public void testSpacesInUrl() { |
54 String id = "webapp id"; | 55 String id = "webapp id"; |
55 String name = "longName"; | 56 String name = "longName"; |
56 String shortName = "name"; | 57 String shortName = "name"; |
57 String bustedUrl = "http://money.cnn.com/?category=Latest News"; | 58 String bustedUrl = "http://money.cnn.com/?category=Latest News"; |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 @Feature({"Webapps"}) | 143 @Feature({"Webapps"}) |
143 public void testDisplayModeAndOrientationAndSource() { | 144 public void testDisplayModeAndOrientationAndSource() { |
144 String id = "webapp id"; | 145 String id = "webapp id"; |
145 String name = "longName"; | 146 String name = "longName"; |
146 String shortName = "name"; | 147 String shortName = "name"; |
147 String url = "http://money.cnn.com"; | 148 String url = "http://money.cnn.com"; |
148 | 149 |
149 WebappInfo info = WebappInfo.create(id, url, null, name, shortName, | 150 WebappInfo info = WebappInfo.create(id, url, null, name, shortName, |
150 WebDisplayMode.Fullscreen, ScreenOrientationValues.DEFAULT, Shor
tcutSource.UNKNOWN, | 151 WebDisplayMode.Fullscreen, ScreenOrientationValues.DEFAULT, Shor
tcutSource.UNKNOWN, |
151 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, | 152 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, |
152 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, false); | 153 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, false, null); |
153 assertEquals(WebDisplayMode.Fullscreen, info.displayMode()); | 154 assertEquals(WebDisplayMode.Fullscreen, info.displayMode()); |
154 assertEquals(ScreenOrientationValues.DEFAULT, info.orientation()); | 155 assertEquals(ScreenOrientationValues.DEFAULT, info.orientation()); |
155 assertEquals(ShortcutSource.UNKNOWN, info.source()); | 156 assertEquals(ShortcutSource.UNKNOWN, info.source()); |
156 } | 157 } |
157 | 158 |
158 @SmallTest | 159 @SmallTest |
159 @Feature({"Webapps"}) | 160 @Feature({"Webapps"}) |
160 public void testNormalColors() { | 161 public void testNormalColors() { |
161 String id = "webapp id"; | 162 String id = "webapp id"; |
162 String name = "longName"; | 163 String name = "longName"; |
163 String shortName = "name"; | 164 String shortName = "name"; |
164 String url = "http://money.cnn.com"; | 165 String url = "http://money.cnn.com"; |
165 long themeColor = 0xFF00FF00L; | 166 long themeColor = 0xFF00FF00L; |
166 long backgroundColor = 0xFF0000FFL; | 167 long backgroundColor = 0xFF0000FFL; |
167 | 168 |
168 WebappInfo info = WebappInfo.create(id, url, null, name, shortName, | 169 WebappInfo info = WebappInfo.create(id, url, null, name, shortName, |
169 WebDisplayMode.Standalone, ScreenOrientationValues.DEFAULT, | 170 WebDisplayMode.Standalone, ScreenOrientationValues.DEFAULT, |
170 ShortcutSource.UNKNOWN, themeColor, backgroundColor, false); | 171 ShortcutSource.UNKNOWN, themeColor, backgroundColor, false, null
); |
171 assertEquals(info.themeColor(), themeColor); | 172 assertEquals(info.themeColor(), themeColor); |
172 assertEquals(info.backgroundColor(), backgroundColor); | 173 assertEquals(info.backgroundColor(), backgroundColor); |
173 } | 174 } |
174 | 175 |
175 @SmallTest | 176 @SmallTest |
176 @Feature({"Webapps"}) | 177 @Feature({"Webapps"}) |
177 public void testInvalidOrMissingColors() { | 178 public void testInvalidOrMissingColors() { |
178 String id = "webapp id"; | 179 String id = "webapp id"; |
179 String name = "longName"; | 180 String name = "longName"; |
180 String shortName = "name"; | 181 String shortName = "name"; |
181 String url = "http://money.cnn.com"; | 182 String url = "http://money.cnn.com"; |
182 | 183 |
183 WebappInfo info = WebappInfo.create(id, url, null, name, shortName, | 184 WebappInfo info = WebappInfo.create(id, url, null, name, shortName, |
184 WebDisplayMode.Standalone, ScreenOrientationValues.DEFAULT, Shor
tcutSource.UNKNOWN, | 185 WebDisplayMode.Standalone, ScreenOrientationValues.DEFAULT, Shor
tcutSource.UNKNOWN, |
185 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, | 186 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, |
186 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, false); | 187 ShortcutHelper.MANIFEST_COLOR_INVALID_OR_MISSING, false, null); |
187 assertEquals(info.themeColor(), ShortcutHelper.MANIFEST_COLOR_INVALID_OR
_MISSING); | 188 assertEquals(info.themeColor(), ShortcutHelper.MANIFEST_COLOR_INVALID_OR
_MISSING); |
188 assertEquals(info.backgroundColor(), ShortcutHelper.MANIFEST_COLOR_INVAL
ID_OR_MISSING); | 189 assertEquals(info.backgroundColor(), ShortcutHelper.MANIFEST_COLOR_INVAL
ID_OR_MISSING); |
189 } | 190 } |
190 | 191 |
191 @SmallTest | 192 @SmallTest |
192 @Feature({"Webapps"}) | 193 @Feature({"Webapps"}) |
193 public void testColorsIntentCreation() { | 194 public void testColorsIntentCreation() { |
194 String id = "webapp id"; | 195 String id = "webapp id"; |
195 String url = "http://money.cnn.com"; | 196 String url = "http://money.cnn.com"; |
196 long themeColor = 0xFF00FF00L; | 197 long themeColor = 0xFF00FF00L; |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
255 Intent intent = new Intent(); | 256 Intent intent = new Intent(); |
256 intent.putExtra(ShortcutHelper.EXTRA_ID, id); | 257 intent.putExtra(ShortcutHelper.EXTRA_ID, id); |
257 intent.putExtra(ShortcutHelper.EXTRA_NAME, name); | 258 intent.putExtra(ShortcutHelper.EXTRA_NAME, name); |
258 intent.putExtra(ShortcutHelper.EXTRA_SHORT_NAME, shortName); | 259 intent.putExtra(ShortcutHelper.EXTRA_SHORT_NAME, shortName); |
259 intent.putExtra(ShortcutHelper.EXTRA_URL, url); | 260 intent.putExtra(ShortcutHelper.EXTRA_URL, url); |
260 intent.putExtra(ShortcutHelper.EXTRA_IS_ICON_GENERATED, "true"); | 261 intent.putExtra(ShortcutHelper.EXTRA_IS_ICON_GENERATED, "true"); |
261 | 262 |
262 assertFalse(name, WebappInfo.create(intent).isIconGenerated()); | 263 assertFalse(name, WebappInfo.create(intent).isIconGenerated()); |
263 } | 264 } |
264 } | 265 } |
| 266 |
| 267 @SmallTest |
| 268 @Feature({"WebApk"}) |
| 269 public void testIntentWebApkPackageName() { |
| 270 String id = WebApkConstants.WEBAPK_ID_PREFIX + "id"; |
| 271 String name = "longName"; |
| 272 String url = "http://www.foo.com/homepage"; |
| 273 String packageName = WebApkConstants.WEBAPK_PACKAGE_PREFIX + ".foo"; |
| 274 |
| 275 Intent intent = new Intent(); |
| 276 intent.putExtra(ShortcutHelper.EXTRA_ID, id); |
| 277 intent.putExtra(ShortcutHelper.EXTRA_NAME, name); |
| 278 intent.putExtra(ShortcutHelper.EXTRA_URL, url); |
| 279 intent.putExtra(ShortcutHelper.EXTRA_WEBAPK_PACKAGE_NAME, packageName); |
| 280 |
| 281 WebappInfo info = WebappInfo.create(intent); |
| 282 assertEquals(packageName, info.webApkPackageName()); |
| 283 } |
265 } | 284 } |
OLD | NEW |