gecko/testing/mochitest/tests/test_sanitySimpletest.html

98 lines
3.2 KiB
HTML

<!--This test should be updated each time new functionality is added to SimpleTest-->
<!DOCTYPE HTML>
<html>
<head>
<title>Profiling test suite for SimpleTest</title>
<script type="text/javascript">
var start = new Date();
</script>
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
<script type="text/javascript">
var loadTime = new Date();
</script>
</head>
<body>
<input id="textB"/>
<script class="testbody" type="text/javascript">
SimpleTest.info("Profile::SimpleTestLoadTime: " + (loadTime - start));
var startTime = new Date();
SimpleTest.waitForExplicitFinish();
function starttest() {
SimpleTest.waitForFocus(
function() {
//test log
SimpleTest.info("Logging some info")
//basic usage
ok(true, "test ok", "This should be true");
is(0, 0, "is() test failed");
isnot(0, 1, "isnot() test failed");
//todo tests
todo(false, "test todo", "todo() test should not pass");
todo_is(false, true, "test todo_is");
todo_isnot(true, true, "test todo_isnot");
//misc
is(typeof(SimpleTest.testPluginIsOOP()), "boolean", 'testPluginIsOOP should be bool');
SimpleTest.requestLongerTimeout(1);
//note: this test may alter runtimes as it waits
var check = false;
$('textB').focus();
SimpleTest.waitForClipboard("a",
function () {
Components.classes["@mozilla.org/widget/clipboardhelper;1"]
.getService(Components.interfaces.nsIClipboardHelper)
.copyString("a");
},
function () {
check = true;
},
function () {
check = false;
}
);
is(check, true, "waitForClipboard should work");
//use helper functions
var div1 = createEl('div', {'id': 'somediv', 'display': 'block'}, "I am a div");
document.body.appendChild(div1);
var divObj = this.getElement('somediv');
is(divObj, div1, 'createEl did not create element as expected');
is($('somediv'), divObj, '$ helper did not get element as expected');
is(computedStyle(divObj, 'display'), 'block', 'computedStyle did not get right display value');
document.body.removeChild(div1);
//use waitForFocus
//note: this also adds a short wait period
SimpleTest.executeSoon(
function () {
//finish() calls a slew of SimpleTest functions
SimpleTest.finish();
//call this after finish so we can make sure it works and doesn't hang our process
SimpleTest.expectUncaughtException();
throw "i am an uncaught exception"
/**
* Actually testing a crash of a child process ended up with wildly variable runtimes,
* on the scale of >1 second, so just make sure we can safely call the method
*/
SimpleTest.expectChildProcessCrash();
var endTime = new Date();
SimpleTest.info("Profile::SimpleTestRunTime: " + (endTime-startTime));
}
);
}
);
};
//use addLoadEvent
addLoadEvent(
function() {
starttest();
}
);
</script>
</body>
</html>