Chromium Code Reviews| Index: chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestMetricsUnitTest.java |
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestMetricsUnitTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestMetricsUnitTest.java |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..450651151f0f0fa85b6d502eada839dfb7410b67 |
| --- /dev/null |
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/payments/PaymentRequestMetricsUnitTest.java |
| @@ -0,0 +1,101 @@ |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +package org.chromium.chrome.browser.payments; |
| + |
| +import android.test.suitebuilder.annotation.SmallTest; |
| + |
| +import org.chromium.base.metrics.RecordHistogram; |
| +import org.chromium.base.test.util.Feature; |
| +import org.chromium.chrome.test.util.ApplicationData; |
| +import org.chromium.content.browser.test.NativeLibraryTestBase; |
| + |
| +/** |
| + * Tests for the PaymentRequestMetrics class. |
| + */ |
| +public class PaymentRequestMetricsUnitTest extends NativeLibraryTestBase { |
| + |
| + // Enum values for the PaymentRequest.RequestedInformation histogram. |
| + private static final int REQUESTED_INFORMATION_NONE = 0; |
| + private static final int REQUESTED_INFORMATION_EMAIL = 1; |
| + private static final int REQUESTED_INFORMATION_PHONE = 2; |
| + private static final int REQUESTED_INFORMATION_SHIPPING = 3; |
| + private static final int REQUESTED_INFORMATION_EMAIL_PHONE = 4; |
| + private static final int REQUESTED_INFORMATION_EMAIL_SHIPPING = 5; |
| + private static final int REQUESTED_INFORMATION_PHONE_SHIPPING = 6; |
| + private static final int REQUESTED_INFORMATION_EMAIL_PHONE_SHIPPING = 7; |
| + private static final int REQUESTED_INFORMATION_MAX = 8; |
|
please use gerrit instead
2016/07/27 16:24:40
Probably no need to duplicate the constants here?
sebsg
2016/07/27 17:26:01
Done.
|
| + |
| + |
| + @Override |
| + public void setUp() throws Exception { |
| + super.setUp(); |
| + ApplicationData.clearAppData(getInstrumentation().getTargetContext()); |
| + loadNativeLibraryAndInitBrowserProcess(); |
| + } |
| + |
| + /* |
| + * Tests that logs to PaymentRequest.RequestedInformation are made to the right enum bucket |
| + * depending on the information requested by the merchant. |
| + */ |
| + @SmallTest |
| + @Feature({"Payment Request"}) |
| + public void testRequestedInformationMetrics() { |
| + // No information requested. |
| + assertEquals(0, RecordHistogram.getHistogramValueCountForTesting( |
| + "PaymentRequest.RequestedInformation", REQUESTED_INFORMATION_NONE)); |
| + PaymentRequestMetrics.recordRequestedInformationHistogram(false, false, false); |
| + assertEquals(1, RecordHistogram.getHistogramValueCountForTesting( |
| + "PaymentRequest.RequestedInformation", REQUESTED_INFORMATION_NONE)); |
| + |
| + // Only email requested. |
| + assertEquals(0, RecordHistogram.getHistogramValueCountForTesting( |
| + "PaymentRequest.RequestedInformation", REQUESTED_INFORMATION_EMAIL)); |
| + PaymentRequestMetrics.recordRequestedInformationHistogram(true, false, false); |
| + assertEquals(1, RecordHistogram.getHistogramValueCountForTesting( |
| + "PaymentRequest.RequestedInformation", REQUESTED_INFORMATION_EMAIL)); |
| + |
| + // Only phone requested. |
| + assertEquals(0, RecordHistogram.getHistogramValueCountForTesting( |
| + "PaymentRequest.RequestedInformation", REQUESTED_INFORMATION_PHONE)); |
| + PaymentRequestMetrics.recordRequestedInformationHistogram(false, true, false); |
| + assertEquals(1, RecordHistogram.getHistogramValueCountForTesting( |
| + "PaymentRequest.RequestedInformation", REQUESTED_INFORMATION_PHONE)); |
| + |
| + // Only shipping address requested. |
| + assertEquals(0, RecordHistogram.getHistogramValueCountForTesting( |
| + "PaymentRequest.RequestedInformation", REQUESTED_INFORMATION_SHIPPING)); |
| + PaymentRequestMetrics.recordRequestedInformationHistogram(false, false, true); |
| + assertEquals(1, RecordHistogram.getHistogramValueCountForTesting( |
| + "PaymentRequest.RequestedInformation", REQUESTED_INFORMATION_SHIPPING)); |
| + |
| + // Email and phone requested. |
| + assertEquals(0, RecordHistogram.getHistogramValueCountForTesting( |
| + "PaymentRequest.RequestedInformation", REQUESTED_INFORMATION_EMAIL_PHONE)); |
| + PaymentRequestMetrics.recordRequestedInformationHistogram(true, true, false); |
| + assertEquals(1, RecordHistogram.getHistogramValueCountForTesting( |
| + "PaymentRequest.RequestedInformation", REQUESTED_INFORMATION_EMAIL_PHONE)); |
| + |
| + // Email and shipping address requested. |
| + assertEquals(0, RecordHistogram.getHistogramValueCountForTesting( |
| + "PaymentRequest.RequestedInformation", REQUESTED_INFORMATION_EMAIL_SHIPPING)); |
| + PaymentRequestMetrics.recordRequestedInformationHistogram(true, false, true); |
| + assertEquals(1, RecordHistogram.getHistogramValueCountForTesting( |
| + "PaymentRequest.RequestedInformation", REQUESTED_INFORMATION_EMAIL_SHIPPING)); |
| + |
| + // Phone and shipping address requested. |
| + assertEquals(0, RecordHistogram.getHistogramValueCountForTesting( |
| + "PaymentRequest.RequestedInformation", REQUESTED_INFORMATION_PHONE_SHIPPING)); |
| + PaymentRequestMetrics.recordRequestedInformationHistogram(false, true, true); |
| + assertEquals(1, RecordHistogram.getHistogramValueCountForTesting( |
| + "PaymentRequest.RequestedInformation", REQUESTED_INFORMATION_PHONE_SHIPPING)); |
| + |
| + // Email, phone and shipping address requested. |
| + assertEquals(0, RecordHistogram.getHistogramValueCountForTesting( |
| + "PaymentRequest.RequestedInformation", REQUESTED_INFORMATION_EMAIL_PHONE_SHIPPING)); |
| + PaymentRequestMetrics.recordRequestedInformationHistogram(true, true, true); |
| + assertEquals(1, RecordHistogram.getHistogramValueCountForTesting( |
| + "PaymentRequest.RequestedInformation", REQUESTED_INFORMATION_EMAIL_PHONE_SHIPPING)); |
| + } |
| +} |