Files
tubestation/mobile/android/tests/browser/robocop/testFilePicker.java

53 lines
1.8 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 testFilePicker extends JavascriptTest implements GeckoEventListener {
private static final String TEST_FILENAME = "/mnt/sdcard/my-favorite-martian.png";
public testFilePicker() {
super("testFilePicker.js");
}
@Override
public void handleMessage(String event, final JSONObject message) {
// We handle the FilePicker message here so we can send back hard coded file information. We
// don't want to try to emulate "picking" a file using the Android intent chooser.
if (event.equals("FilePicker:Show")) {
try {
message.put("file", TEST_FILENAME);
} catch (JSONException ex) {
fFail("Can't add filename to message " + TEST_FILENAME);
}
GeckoAppShell.sendEventToGecko(GeckoEvent.createBroadcastEvent("FilePicker:Result", message.toString()));
}
}
@Override
public void setUp() throws Exception {
super.setUp();
EventDispatcher.getInstance().registerGeckoThreadListener(this, "FilePicker:Show");
}
@Override
public void tearDown() throws Exception {
super.tearDown();
EventDispatcher.getInstance().unregisterGeckoThreadListener(this, "FilePicker:Show");
}
}