Do not announce robot account token before account ID is available
[chromium-blink-merge.git] / chrome / test / data / extensions / api_test / metrics / test.js
blob4f2b264d8b73df9e7109fef66bf011fe696c9ff2
1 // Copyright (c) 2012 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.
5 // metrics api test
6 // browser_tests.exe --gtest_filter=ExtensionApiTest.Metrics
8 // Any changes to the logging done in these functions should be matched
9 // with the checks done in IN_PROC_BROWSER_TEST_F(ExtensionApiTest, Metrics).
10 // See metrics_apitest.cc.
11 chrome.test.runTests([
12 function recordUserAction() {
13 // Log a metric once.
14 chrome.metricsPrivate.recordUserAction('test.ua.1');
16 // Log a metric more than once.
17 chrome.metricsPrivate.recordUserAction('test.ua.2');
18 chrome.metricsPrivate.recordUserAction('test.ua.2');
20 chrome.test.succeed();
23 function recordValue() {
24 chrome.metricsPrivate.recordValue({
25 'metricName': 'test.h.1',
26 'type': 'histogram-log',
27 'min': 1,
28 'max': 100,
29 'buckets': 50
30 }, 42);
32 chrome.metricsPrivate.recordValue({
33 'metricName': 'test.h.2',
34 'type': 'histogram-linear',
35 'min': 1,
36 'max': 200,
37 'buckets': 50
38 }, 42);
40 chrome.metricsPrivate.recordPercentage('test.h.3', 42);
41 chrome.metricsPrivate.recordPercentage('test.h.3', 42);
43 chrome.test.succeed();
46 function recordSparseValue() {
47 chrome.metricsPrivate.recordSparseValue('test.sparse.1', 42);
48 chrome.metricsPrivate.recordSparseValue('test.sparse.2', 24);
49 chrome.metricsPrivate.recordSparseValue('test.sparse.2', 24);
50 chrome.metricsPrivate.recordSparseValue('test.sparse.3', 1);
51 chrome.metricsPrivate.recordSparseValue('test.sparse.3', 2);
52 chrome.metricsPrivate.recordSparseValue('test.sparse.3', 2);
53 chrome.metricsPrivate.recordSparseValue('test.sparse.3', 3);
54 chrome.metricsPrivate.recordSparseValue('test.sparse.3', 3);
55 chrome.metricsPrivate.recordSparseValue('test.sparse.3', 3);
57 chrome.test.succeed();
60 function recordTimes() {
61 chrome.metricsPrivate.recordTime('test.time', 42);
62 chrome.metricsPrivate.recordMediumTime('test.medium.time', 42 * 1000);
63 chrome.metricsPrivate.recordLongTime('test.long.time', 42 * 1000 * 60);
65 chrome.test.succeed();
68 function recordCounts() {
69 chrome.metricsPrivate.recordCount('test.count', 420000);
70 chrome.metricsPrivate.recordMediumCount('test.medium.count', 4200);
71 chrome.metricsPrivate.recordSmallCount('test.small.count', 42);
73 chrome.test.succeed();
76 function getFieldTrial() {
77 var test1Callback = function(group) {
78 chrome.test.assertEq('', group);
79 chrome.metricsPrivate.getFieldTrial('apitestfieldtrial2', test2Callback);
82 var test2Callback = function(group) {
83 chrome.test.assertEq('group1', group);
84 chrome.test.succeed();
87 chrome.metricsPrivate.getFieldTrial('apitestfieldtrial1', test1Callback);
90 function getVariationParams1() {
91 chrome.metricsPrivate.getVariationParams(
92 'apitestfieldtrial1', function(params) {
93 chrome.test.assertEq(undefined, chrome.runtime.lastError);
94 chrome.test.assertEq(undefined, params);
95 chrome.test.succeed();
96 });
99 function getVariationParams2() {
100 chrome.metricsPrivate.getVariationParams(
101 'apitestfieldtrial2', function(params) {
102 chrome.test.assertEq(undefined, chrome.runtime.lastError);
103 chrome.test.assertEq({a: 'aa', b: 'bb'}, params);
104 chrome.test.succeed();
108 function testBucketSizeChanges() {
109 var linear1 = {
110 'metricName': 'test.bucketchange.linear',
111 'type': 'histogram-linear',
112 'min': 0,
113 'max': 100,
114 'buckets': 10
116 var linear2 = {
117 'metricName': 'test.bucketchange.linear',
118 'type': 'histogram-linear',
119 'min': 0,
120 'max': 100,
121 'buckets': 20
123 var log1 = {
124 'metricName': 'test.bucketchange.log',
125 'type': 'histogram-log',
126 'min': 0,
127 'max': 100,
128 'buckets': 10
130 var log2 = {
131 'metricName': 'test.bucketchange.log',
132 'type': 'histogram-log',
133 'min': 0,
134 'max': 100,
135 'buckets': 20
138 chrome.metricsPrivate.recordValue(linear1, 42);
139 // This one should be rejected because the bucket count is different.
140 // We check for sample count == 2 in metrics_apitest.cc
141 chrome.metricsPrivate.recordValue(linear2, 42);
142 chrome.metricsPrivate.recordValue(linear1, 42);
144 chrome.metricsPrivate.recordValue(log1, 42);
145 // This one should be rejected because the bucket count is different.
146 // We check for sample count == 2 in metrics_apitest.cc
147 chrome.metricsPrivate.recordValue(log2, 42);
148 chrome.metricsPrivate.recordValue(log1, 42);
150 chrome.test.succeed();