| 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 |