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

Side by Side Diff: chrome/android/javatests/src/org/chromium/chrome/browser/snackbar/DataReductionPromoSnackbarControllerTest.java

Issue 2367403005: Snackbar for promoting Data Saver to existing users (Closed)
Patch Set: add space, clear on data saving clear Created 4 years, 2 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
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 package org.chromium.chrome.browser.snackbar;
6
7 import android.test.UiThreadTest;
8 import android.test.suitebuilder.annotation.MediumTest;
9
10 import org.chromium.base.ContextUtils;
11 import org.chromium.base.metrics.RecordHistogram;
12 import org.chromium.base.test.util.CommandLineFlags;
13 import org.chromium.chrome.browser.preferences.datareduction.DataReductionPromoU tils;
14 import org.chromium.chrome.browser.preferences.datareduction.DataReductionProxyU ma;
15 import org.chromium.chrome.test.ChromeTabbedActivityTestBase;
16
17 /**
18 * Tests the DataReductionPromoSnackbarController. Tests that the snackbar sizes are properly set
19 * from a field trial param and that the correct uma is recorded.
20 */
21 public class DataReductionPromoSnackbarControllerTest extends ChromeTabbedActivi tyTestBase {
22
23 private static final int BYTES_IN_MB = 1024 * 1024;
24 private static final int FIRST_SNACKBAR_SIZE_MB = 100;
25 private static final int SECOND_SNACKBAR_SIZE_MB = 1024;
26
27 private SnackbarManager mManager;
28 private DataReductionPromoSnackbarController mController;
29
30 @Override
31 public void startMainActivity() throws InterruptedException {
32 ContextUtils.getAppSharedPreferences().edit().clear().apply();
33 SnackbarManager.setDurationForTesting(1000);
34 startMainActivityOnBlankPage();
35 mManager = getActivity().getSnackbarManager();
36 mController = new DataReductionPromoSnackbarController(getActivity(), mM anager);
37 }
38
39 @UiThreadTest
40 @MediumTest
41 @CommandLineFlags.Add({
42 "force-fieldtrials=" + DataReductionPromoSnackbarController.PROMO_FI ELD_TRIAL_NAME
43 + "/Enabled",
44 "force-fieldtrial-params=" + DataReductionPromoSnackbarController.PR OMO_FIELD_TRIAL_NAME
45 + ".Enabled:"
46 + DataReductionPromoSnackbarController.PROMO_PARAM_NAME + "/ "
47 + FIRST_SNACKBAR_SIZE_MB + ";"
48 + SECOND_SNACKBAR_SIZE_MB })
49 public void testDataReductionPromoSnackbarController() {
50 assertFalse(DataReductionPromoUtils.hasSnackbarPromoBeenInitWithStarting ContentLength());
51
52 mController.maybeShowDataReductionPromoSnackbar(0);
53
54 assertFalse(mManager.isShowing());
55 assertTrue(DataReductionPromoUtils.hasSnackbarPromoBeenInitWithStartingC ontentLength());
56 assertEquals(0, DataReductionPromoUtils.getDisplayedSnackbarPromoContent Length());
57
58 mController.maybeShowDataReductionPromoSnackbar(FIRST_SNACKBAR_SIZE_MB * BYTES_IN_MB);
59
60 assertTrue(mManager.isShowing());
61 assertEquals(FIRST_SNACKBAR_SIZE_MB * BYTES_IN_MB,
62 DataReductionPromoUtils.getDisplayedSnackbarPromoContentLength() );
63 mManager.dismissSnackbars(mController);
64
65 mController.maybeShowDataReductionPromoSnackbar(SECOND_SNACKBAR_SIZE_MB * BYTES_IN_MB);
66
67 assertTrue(mManager.isShowing());
68 assertEquals(SECOND_SNACKBAR_SIZE_MB * BYTES_IN_MB,
69 DataReductionPromoUtils.getDisplayedSnackbarPromoContentLength() );
70 }
71
72 @UiThreadTest
73 @MediumTest
74 @CommandLineFlags.Add({
75 "force-fieldtrials=" + DataReductionPromoSnackbarController.PROMO_FI ELD_TRIAL_NAME
76 + "/Enabled",
77 "force-fieldtrial-params=" + DataReductionPromoSnackbarController.PR OMO_FIELD_TRIAL_NAME
78 + ".Enabled:"
79 + DataReductionPromoSnackbarController.PROMO_PARAM_NAME + "/ "
80 + FIRST_SNACKBAR_SIZE_MB + ";"
81 + SECOND_SNACKBAR_SIZE_MB })
82 public void testDataReductionPromoSnackbarControllerExistingUser() {
83 assertFalse(DataReductionPromoUtils.hasSnackbarPromoBeenInitWithStarting ContentLength());
84
85 mController.maybeShowDataReductionPromoSnackbar(SECOND_SNACKBAR_SIZE_MB * BYTES_IN_MB);
86
87 assertFalse(mManager.isShowing());
88 assertTrue(DataReductionPromoUtils.hasSnackbarPromoBeenInitWithStartingC ontentLength());
89 assertEquals(SECOND_SNACKBAR_SIZE_MB * BYTES_IN_MB,
90 DataReductionPromoUtils.getDisplayedSnackbarPromoContentLength() );
91
92 mController.maybeShowDataReductionPromoSnackbar(SECOND_SNACKBAR_SIZE_MB * BYTES_IN_MB + 1);
93
94 assertFalse(mManager.isShowing());
95 assertEquals(SECOND_SNACKBAR_SIZE_MB * BYTES_IN_MB,
96 DataReductionPromoUtils.getDisplayedSnackbarPromoContentLength() );
97 }
98
99 @UiThreadTest
100 @MediumTest
101 @CommandLineFlags.Add({
102 "force-fieldtrials=" + DataReductionPromoSnackbarController.PROMO_FI ELD_TRIAL_NAME
103 + "/Enabled",
104 "force-fieldtrial-params=" + DataReductionPromoSnackbarController.PR OMO_FIELD_TRIAL_NAME
105 + ".Enabled:"
106 + DataReductionPromoSnackbarController.PROMO_PARAM_NAME + "/ "
107 + FIRST_SNACKBAR_SIZE_MB + ";"
108 + SECOND_SNACKBAR_SIZE_MB })
109 public void testDataReductionPromoSnackbarControllerHistograms() {
110 assertFalse(DataReductionPromoUtils.hasSnackbarPromoBeenInitWithStarting ContentLength());
111
112 mController.maybeShowDataReductionPromoSnackbar(0);
113
114 assertTrue(DataReductionPromoUtils.hasSnackbarPromoBeenInitWithStartingC ontentLength());
115 assertEquals(0, RecordHistogram
116 .getHistogramValueCountForTesting(DataReductionProxyUma.SNACKBAR _HISTOGRAM_NAME,
117 0));
118
119 mController.maybeShowDataReductionPromoSnackbar(FIRST_SNACKBAR_SIZE_MB * BYTES_IN_MB);
120
121 assertTrue(mManager.isShowing());
122 assertEquals(1, RecordHistogram
123 .getHistogramValueCountForTesting(DataReductionProxyUma.SNACKBAR _HISTOGRAM_NAME,
124 FIRST_SNACKBAR_SIZE_MB));
125 mManager.getCurrentSnackbarForTesting().getController().onDismissNoActio n(null);
126 assertEquals(1, RecordHistogram
127 .getHistogramValueCountForTesting(DataReductionProxyUma.UI_ACTIO N_HISTOGRAM_NAME,
128 DataReductionProxyUma.ACTION_SNACKBAR_DISMISSED));
129
130 mController.maybeShowDataReductionPromoSnackbar(SECOND_SNACKBAR_SIZE_MB * BYTES_IN_MB);
131
132 assertTrue(mManager.isShowing());
133 assertEquals(1, RecordHistogram
134 .getHistogramValueCountForTesting(DataReductionProxyUma.SNACKBAR _HISTOGRAM_NAME,
135 SECOND_SNACKBAR_SIZE_MB));
136 mManager.getCurrentSnackbarForTesting().getController().onAction(null);
137 // The dismissed histogram should not have been incremented.
138 assertEquals(1, RecordHistogram
139 .getHistogramValueCountForTesting(DataReductionProxyUma.UI_ACTIO N_HISTOGRAM_NAME,
140 DataReductionProxyUma.ACTION_SNACKBAR_DISMISSED));
141 }
142 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698