Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(137)

Side by Side Diff: chrome/android/javatests/src/org/chromium/chrome/browser/notifications/NotificationUIManagerTest.java

Issue 1054573002: Implement support for notification.vibrate (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 static org.chromium.base.test.util.ScalableTimeout.scaleTimeout; 7 import static org.chromium.base.test.util.ScalableTimeout.scaleTimeout;
8 8
9 import android.app.Notification; 9 import android.app.Notification;
10 import android.graphics.Bitmap; 10 import android.graphics.Bitmap;
11 import android.os.Build; 11 import android.os.Build;
12 import android.test.suitebuilder.annotation.LargeTest; 12 import android.test.suitebuilder.annotation.LargeTest;
13 import android.test.suitebuilder.annotation.MediumTest; 13 import android.test.suitebuilder.annotation.MediumTest;
14 import android.test.suitebuilder.annotation.SmallTest; 14 import android.test.suitebuilder.annotation.SmallTest;
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.website.ContentSetting; 19 import org.chromium.chrome.browser.preferences.website.ContentSetting;
20 import org.chromium.chrome.browser.preferences.website.PushNotificationInfo; 20 import org.chromium.chrome.browser.preferences.website.PushNotificationInfo;
21 import org.chromium.chrome.browser.widget.RoundedIconGenerator; 21 import org.chromium.chrome.browser.widget.RoundedIconGenerator;
22 import org.chromium.chrome.shell.ChromeShellTestBase; 22 import org.chromium.chrome.shell.ChromeShellTestBase;
23 import org.chromium.chrome.test.util.TestHttpServerClient; 23 import org.chromium.chrome.test.util.TestHttpServerClient;
24 import org.chromium.chrome.test.util.browser.notifications.MockNotificationManag erProxy; 24 import org.chromium.chrome.test.util.browser.notifications.MockNotificationManag erProxy;
25 import org.chromium.chrome.test.util.browser.notifications.MockNotificationManag erProxy.NotificationEntry; 25 import org.chromium.chrome.test.util.browser.notifications.MockNotificationManag erProxy.NotificationEntry;
26 import org.chromium.content.browser.test.util.Criteria; 26 import org.chromium.content.browser.test.util.Criteria;
27 import org.chromium.content.browser.test.util.CriteriaHelper; 27 import org.chromium.content.browser.test.util.CriteriaHelper;
28 import org.chromium.content.browser.test.util.JavaScriptUtils; 28 import org.chromium.content.browser.test.util.JavaScriptUtils;
29 29
30 import java.util.Arrays;
30 import java.util.List; 31 import java.util.List;
31 import java.util.concurrent.TimeoutException; 32 import java.util.concurrent.TimeoutException;
32 33
33 /** 34 /**
34 * Instrumentation tests for the Notification UI Manager implementation on Andro id. 35 * Instrumentation tests for the Notification UI Manager implementation on Andro id.
35 * 36 *
36 * Web Notifications are only supported on Android JellyBean and beyond. 37 * Web Notifications are only supported on Android JellyBean and beyond.
37 */ 38 */
38 public class NotificationUIManagerTest extends ChromeShellTestBase { 39 public class NotificationUIManagerTest extends ChromeShellTestBase {
39 private static final String NOTIFICATION_TEST_PAGE = 40 private static final String NOTIFICATION_TEST_PAGE =
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
376 assertNull(NotificationUIManager.getOriginFromTag("")); 377 assertNull(NotificationUIManager.getOriginFromTag(""));
377 assertNull(NotificationUIManager.getOriginFromTag(";")); 378 assertNull(NotificationUIManager.getOriginFromTag(";"));
378 assertNull(NotificationUIManager.getOriginFromTag(";;;;;;;")); 379 assertNull(NotificationUIManager.getOriginFromTag(";;;;;;;"));
379 assertNull(NotificationUIManager.getOriginFromTag( 380 assertNull(NotificationUIManager.getOriginFromTag(
380 "SystemDownloadNotifier;NotificationUIManager;42")); 381 "SystemDownloadNotifier;NotificationUIManager;42"));
381 assertNull(NotificationUIManager.getOriginFromTag( 382 assertNull(NotificationUIManager.getOriginFromTag(
382 "SystemDownloadNotifier;https://example.com;42")); 383 "SystemDownloadNotifier;https://example.com;42"));
383 assertNull(NotificationUIManager.getOriginFromTag( 384 assertNull(NotificationUIManager.getOriginFromTag(
384 "NotificationUIManager;SystemDownloadNotifier;42")); 385 "NotificationUIManager;SystemDownloadNotifier;42"));
385 } 386 }
387
388 /**
389 * Verifies that the makeDefaults method returns the generated notification defaults.
390 */
391 @SmallTest
392 @Feature({"Browser", "Notifications"})
393 public void testMakeDefaults() throws Exception {
394 // 0 should be returned if silent is true and vibration's length is 0.
395 assertEquals(0, NotificationUIManager.makeDefaults(0, true));
396
397 // Notification.DEFAULT_ALL should be returned if silent is false and
398 // vibration's length is 0.
399 assertEquals(Notification.DEFAULT_ALL,
400 NotificationUIManager.makeDefaults(0, false));
401
402 // Notification.DEFAULT_ALL & ~Notification.DEFAULT_VIBRATE should be re turned
403 // if silent is false and vibration's length is greater than 0.
404 assertEquals(Notification.DEFAULT_ALL & ~Notification.DEFAULT_VIBRATE,
405 NotificationUIManager.makeDefaults(10, false));
406 }
407
408 /**
409 * Verifies that the makeVibrationPattern method returns vibration pattern u sed
410 * in Android notification.
411 */
412 @SmallTest
413 @Feature({"Browser", "Notifications"})
414 public void testMakeVibrationPattern() throws Exception {
415 assertTrue(Arrays.equals(new long[] {0, 100, 200, 300},
416 NotificationUIManager.makeVibrationPattern(new int[] {100, 200, 300})));
417 }
386 } 418 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698