зеркало из https://github.com/mozilla/gecko-dev.git
Bug 934678 - Write test for Home.banner API. r=wesj
This commit is contained in:
Родитель
bcc8c6c4d6
Коммит
98862d9ce7
|
@ -57,6 +57,7 @@ skip-if = processor == "x86"
|
|||
[testPrivateBrowsing]
|
||||
[testReaderMode]
|
||||
[testGetUserMedia]
|
||||
[testHomeBanner]
|
||||
|
||||
# Used for Talos, please don't use in mochitest
|
||||
#[testPan]
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>HomeBanner test page</title>
|
||||
<meta name="viewport" content="initial-scale=1.0"/>
|
||||
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>
|
||||
<script type="application/javascript">
|
||||
Components.utils.import("resource://gre/modules/Services.jsm");
|
||||
Components.utils.import("resource://gre/modules/Home.jsm");
|
||||
|
||||
function sendMessageToJava(msg) {
|
||||
return Services.androidBridge.handleGeckoMessage(JSON.stringify(msg));
|
||||
}
|
||||
|
||||
const TEXT = "The quick brown fox jumps over the lazy dog.";
|
||||
|
||||
function start() {
|
||||
var test = location.hash.substring(1);
|
||||
window[test]();
|
||||
}
|
||||
|
||||
function addMessage() {
|
||||
Home.banner.add({
|
||||
text: TEXT,
|
||||
onclick: function() {
|
||||
sendMessageToJava({ type: "TestHomeBanner:MessageClicked" });
|
||||
},
|
||||
onshown: function() {
|
||||
sendMessageToJava({ type: "TestHomeBanner:MessageShown" });
|
||||
}
|
||||
});
|
||||
sendMessageToJava({ type: "TestHomeBanner:MessageAdded" });
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body onload="start();">
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,38 @@
|
|||
#filter substitution
|
||||
package @ANDROID_PACKAGE_NAME@.tests;
|
||||
|
||||
import @ANDROID_PACKAGE_NAME@.*;
|
||||
|
||||
public class testHomeBanner extends BaseTest {
|
||||
|
||||
private static final String TEST_URL = "chrome://roboextender/content/robocop_home_banner.html";
|
||||
private static final String TEXT = "The quick brown fox jumps over the lazy dog.";
|
||||
|
||||
@Override
|
||||
protected int getTestType() {
|
||||
return TEST_MOCHITEST;
|
||||
}
|
||||
|
||||
public void testHomeBanner() {
|
||||
blockForGeckoReady();
|
||||
|
||||
Actions.EventExpecter eventExpecter = mActions.expectGeckoEvent("TestHomeBanner:MessageAdded");
|
||||
|
||||
// Add a message to the home banner
|
||||
inputAndLoadUrl(TEST_URL + "#addMessage");
|
||||
eventExpecter.blockForEvent();
|
||||
|
||||
// Load about:home, and test to make sure the onshown handler is called
|
||||
eventExpecter = mActions.expectGeckoEvent("TestHomeBanner:MessageShown");
|
||||
inputAndLoadUrl("about:home");
|
||||
eventExpecter.blockForEvent();
|
||||
|
||||
// Verify that the correct message text showed up in the banner
|
||||
mAsserter.ok(waitForText(TEXT), "banner text", "correct text appeared in the home banner");
|
||||
|
||||
// Test to make sure the onclick handler is called
|
||||
eventExpecter = mActions.expectGeckoEvent("TestHomeBanner:MessageClicked");
|
||||
mSolo.clickOnText(TEXT);
|
||||
eventExpecter.blockForEvent();
|
||||
}
|
||||
}
|
Загрузка…
Ссылка в новой задаче