gecko/mobile/android/base/tests/testUITelemetry.java

57 lines
2.1 KiB
Java

package org.mozilla.gecko.tests;
import org.mozilla.gecko.AppConstants;
import org.mozilla.gecko.PrefsHelper;
import org.mozilla.gecko.Telemetry;
import org.mozilla.gecko.TelemetryContract.Event;
import org.mozilla.gecko.TelemetryContract.Method;
import org.mozilla.gecko.TelemetryContract.Reason;
import org.mozilla.gecko.TelemetryContract.Session;
import android.util.Log;
public class testUITelemetry extends JavascriptTest {
public testUITelemetry() {
super("testUITelemetry.js");
}
@Override
public void testJavascript() throws Exception {
blockForGeckoReady();
// We can't run these tests unless telemetry is turned on --
// the events will be dropped on the floor.
Log.i("GeckoTest", "Enabling telemetry.");
PrefsHelper.setPref(AppConstants.TELEMETRY_PREF_NAME, true);
Log.i("GeckoTest", "Adding telemetry events.");
try {
Telemetry.sendUIEvent(Event._TEST1, Method._TEST1);
Telemetry.startUISession(Session._TEST_STARTED_TWICE);
Telemetry.sendUIEvent(Event._TEST2, Method._TEST1);
// We can only start one session per name, so this call should be ignored.
Telemetry.startUISession(Session._TEST_STARTED_TWICE);
Telemetry.sendUIEvent(Event._TEST2, Method._TEST2);
Telemetry.startUISession(Session._TEST_STOPPED_TWICE);
Telemetry.sendUIEvent(Event._TEST3, Method._TEST1, "foobarextras");
Telemetry.stopUISession(Session._TEST_STARTED_TWICE, Reason._TEST1);
Telemetry.sendUIEvent(Event._TEST4, Method._TEST1, "barextras");
Telemetry.stopUISession(Session._TEST_STOPPED_TWICE, Reason._TEST2);
// This session is already stopped, so this call should be ignored.
Telemetry.stopUISession(Session._TEST_STOPPED_TWICE, Reason._TEST_IGNORED);
// Method defaults to Method.NONE
Telemetry.sendUIEvent(Event._TEST1);
} catch (Exception e) {
Log.e("GeckoTest", "Oops.", e);
}
Log.i("GeckoTest", "Running remaining JS test code.");
super.testJavascript();
}
}