mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-12 22:28:59 +02:00
63 lines
2.3 KiB
Java
63 lines
2.3 KiB
Java
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
package org.mozilla.gecko.tests;
|
|
|
|
import static org.mozilla.gecko.tests.helpers.AssertionHelper.fFail;
|
|
|
|
import org.mozilla.gecko.EventDispatcher;
|
|
import org.mozilla.gecko.GeckoAppShell;
|
|
import org.mozilla.gecko.GeckoEvent;
|
|
import org.mozilla.gecko.util.GeckoEventListener;
|
|
|
|
import org.json.JSONException;
|
|
import org.json.JSONObject;
|
|
|
|
public class testTrackingProtection extends JavascriptTest implements GeckoEventListener {
|
|
private String mLastTracking;
|
|
|
|
public testTrackingProtection() {
|
|
super("testTrackingProtection.js");
|
|
}
|
|
|
|
@Override
|
|
public void handleMessage(String event, final JSONObject message) {
|
|
if (event.equals("Content:SecurityChange")) {
|
|
try {
|
|
JSONObject identity = message.getJSONObject("identity");
|
|
JSONObject mode = identity.getJSONObject("mode");
|
|
mLastTracking = mode.getString("tracking");
|
|
mAsserter.dumpLog("Security change (tracking): " + mLastTracking);
|
|
} catch (Exception e) {
|
|
fFail("Can't extract tracking state from JSON");
|
|
}
|
|
}
|
|
|
|
if (event.equals("Test:Expected")) {
|
|
try {
|
|
String expected = message.getString("expected");
|
|
mAsserter.is(mLastTracking, expected, "Tracking matched expectation");
|
|
mAsserter.dumpLog("Testing (tracking): " + mLastTracking + " = " + expected);
|
|
} catch (Exception e) {
|
|
fFail("Can't extract expected state from JSON");
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void setUp() throws Exception {
|
|
super.setUp();
|
|
|
|
EventDispatcher.getInstance().registerGeckoThreadListener(this, "Content:SecurityChange");
|
|
EventDispatcher.getInstance().registerGeckoThreadListener(this, "Test:Expected");
|
|
}
|
|
|
|
@Override
|
|
public void tearDown() throws Exception {
|
|
super.tearDown();
|
|
|
|
EventDispatcher.getInstance().unregisterGeckoThreadListener(this, "Content:SecurityChange");
|
|
EventDispatcher.getInstance().unregisterGeckoThreadListener(this, "Test:Expected");
|
|
}
|
|
}
|