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.notifications; | 5 package org.chromium.chrome.browser.notifications; |
6 | 6 |
7 import android.annotation.SuppressLint; | 7 import android.annotation.SuppressLint; |
8 import android.app.Notification; | 8 import android.app.Notification; |
9 import android.content.Context; | 9 import android.content.Context; |
10 import android.content.res.Resources; | 10 import android.content.res.Resources; |
11 import android.graphics.Bitmap; | 11 import android.graphics.Bitmap; |
12 import android.os.Build; | 12 import android.os.Build; |
13 import android.test.suitebuilder.annotation.LargeTest; | 13 import android.test.suitebuilder.annotation.LargeTest; |
14 import android.test.suitebuilder.annotation.MediumTest; | 14 import android.test.suitebuilder.annotation.MediumTest; |
15 | 15 |
16 import org.chromium.base.ThreadUtils; | 16 import org.chromium.base.ThreadUtils; |
17 import org.chromium.base.annotations.SuppressFBWarnings; | 17 import org.chromium.base.annotations.SuppressFBWarnings; |
18 import org.chromium.base.test.util.Feature; | 18 import org.chromium.base.test.util.Feature; |
19 import org.chromium.chrome.browser.preferences.PrefServiceBridge; | 19 import org.chromium.chrome.browser.preferences.PrefServiceBridge; |
20 import org.chromium.chrome.browser.preferences.website.ContentSetting; | 20 import org.chromium.chrome.browser.preferences.website.ContentSetting; |
21 import org.chromium.chrome.browser.util.UrlUtilities; | |
22 import org.chromium.chrome.browser.widget.RoundedIconGenerator; | 21 import org.chromium.chrome.browser.widget.RoundedIconGenerator; |
23 import org.chromium.chrome.test.util.browser.notifications.MockNotificationManag
erProxy.NotificationEntry; | 22 import org.chromium.chrome.test.util.browser.notifications.MockNotificationManag
erProxy.NotificationEntry; |
| 23 import org.chromium.components.url_formatter.UrlFormatter; |
24 import org.chromium.content.browser.test.util.Criteria; | 24 import org.chromium.content.browser.test.util.Criteria; |
25 import org.chromium.content.browser.test.util.CriteriaHelper; | 25 import org.chromium.content.browser.test.util.CriteriaHelper; |
26 | 26 |
27 import java.util.List; | 27 import java.util.List; |
28 | 28 |
29 /** | 29 /** |
30 * Instrumentation tests for the Notification Bridge. | 30 * Instrumentation tests for the Notification Bridge. |
31 * | 31 * |
32 * Web Notifications are only supported on Android JellyBean and beyond. | 32 * Web Notifications are only supported on Android JellyBean and beyond. |
33 */ | 33 */ |
(...skipping 13 matching lines...) Expand all Loading... |
47 @Feature({"Browser", "Notifications"}) | 47 @Feature({"Browser", "Notifications"}) |
48 public void testDefaultNotificationProperties() throws Exception { | 48 public void testDefaultNotificationProperties() throws Exception { |
49 loadUrl(getTestServer().getURL(NOTIFICATION_TEST_PAGE)); | 49 loadUrl(getTestServer().getURL(NOTIFICATION_TEST_PAGE)); |
50 setNotificationContentSettingForCurrentOrigin(ContentSetting.ALLOW); | 50 setNotificationContentSettingForCurrentOrigin(ContentSetting.ALLOW); |
51 | 51 |
52 Notification notification = showAndGetNotification("MyNotification", "{
body: 'Hello' }"); | 52 Notification notification = showAndGetNotification("MyNotification", "{
body: 'Hello' }"); |
53 | 53 |
54 // Validate the contents of the notification. | 54 // Validate the contents of the notification. |
55 assertEquals("MyNotification", notification.extras.getString(Notificatio
n.EXTRA_TITLE)); | 55 assertEquals("MyNotification", notification.extras.getString(Notificatio
n.EXTRA_TITLE)); |
56 assertEquals("Hello", notification.extras.getString(Notification.EXTRA_T
EXT)); | 56 assertEquals("Hello", notification.extras.getString(Notification.EXTRA_T
EXT)); |
57 assertEquals(UrlUtilities.formatUrlForSecurityDisplay(getOrigin(), false
/* showScheme */), | 57 assertEquals(UrlFormatter.formatUrlForSecurityDisplay(getOrigin(), false
/* showScheme */), |
58 notification.extras.getString(Notification.EXTRA_SUB_TEXT)); | 58 notification.extras.getString(Notification.EXTRA_SUB_TEXT)); |
59 | 59 |
60 // Verify that the ticker text contains the notification's title and bod
y. | 60 // Verify that the ticker text contains the notification's title and bod
y. |
61 String tickerText = notification.tickerText.toString(); | 61 String tickerText = notification.tickerText.toString(); |
62 | 62 |
63 assertTrue(tickerText.contains("MyNotification")); | 63 assertTrue(tickerText.contains("MyNotification")); |
64 assertTrue(tickerText.contains("Hello")); | 64 assertTrue(tickerText.contains("Hello")); |
65 | 65 |
66 // Verify that the notification's timestamp is set in the past 60 second
s. This number has | 66 // Verify that the notification's timestamp is set in the past 60 second
s. This number has |
67 // no significance, but needs to be high enough to not cause flakiness a
s it's set by the | 67 // no significance, but needs to be high enough to not cause flakiness a
s it's set by the |
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
431 assertEquals(1, notifications.size()); | 431 assertEquals(1, notifications.size()); |
432 assertEquals("Two", | 432 assertEquals("Two", |
433 notifications.get(0).notification.extras.getString(Notification.
EXTRA_TITLE)); | 433 notifications.get(0).notification.extras.getString(Notification.
EXTRA_TITLE)); |
434 | 434 |
435 // Close the last notification and verify that none remain. | 435 // Close the last notification and verify that none remain. |
436 notifications.get(0).notification.contentIntent.send(); | 436 notifications.get(0).notification.contentIntent.send(); |
437 waitForNotificationManagerMutation(); | 437 waitForNotificationManagerMutation(); |
438 assertTrue(getNotificationEntries().isEmpty()); | 438 assertTrue(getNotificationEntries().isEmpty()); |
439 } | 439 } |
440 } | 440 } |
OLD | NEW |