зеркало из 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]
|
[testPrivateBrowsing]
|
||||||
[testReaderMode]
|
[testReaderMode]
|
||||||
[testGetUserMedia]
|
[testGetUserMedia]
|
||||||
|
[testHomeBanner]
|
||||||
|
|
||||||
# Used for Talos, please don't use in mochitest
|
# Used for Talos, please don't use in mochitest
|
||||||
#[testPan]
|
#[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();
|
||||||
|
}
|
||||||
|
}
|
Загрузка…
Ссылка в новой задаче