gecko/testing/mochitest
Bobby Holley 2efb065754 Bug 877478 - Fix tests that depend on creating verboten instances in content. r=mrbkap
XPConnect generally throws when trying to create instances of non-DOM objects
in content. Due to some bugs this has historically worked in certain cases, but
we're fixing those now. So we need to fix the tests that do this sort of thing.
2013-06-04 19:56:42 -07:00
..
chrome Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
dynamic Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
MochiKit Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
pywebsocket
roboextender Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
ssltunnel Bug 864774 - Part 2: Move CPPSRCS to moz.build as CPP_SOURCES; r=joey CLOSED TREE 2013-04-23 17:54:15 -04:00
static Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
tests Bug 877478 - Fix tests that depend on creating verboten instances in content. r=mrbkap 2013-06-04 19:56:42 -07:00
android.json Bug 855762 - Disable another test on Android due to high failure rate. 2013-05-20 14:10:23 -04:00
androidx86.json Bug 875737 - Add androidx86.json to mochitests. r=jmaher DONTBUILD 2013-05-24 10:39:24 -04:00
b2g.json Bug 872852 - Turn on contacts mochitests on b2g. r=reuben 2013-05-15 18:43:04 -07:00
browser-harness.xul
browser-test-overlay.xul
browser-test.js Bug 875463 - Implement --run-until-failure option for mochitests. r=jmaher 2013-05-24 16:03:50 -03:00
cc-analyzer.js
chrome-harness.js
gen_template.pl
harness-overlay.xul
harness.xul
install.rdf
intermediate-ev-tester.crl Bug 864633 - broken site identity info bar part2 (tests from 813418). r=bsmith 2013-04-25 13:40:26 -07:00
jar.mn
mach_commands.py Bug 876732 - Add a way to pass debugger args when using mach mochitest. r=ted 2013-05-30 17:00:46 +02:00
Makefile.in Bug 875463 - Part 0. Remove plain-loop.html and fix --repeat for single tests. r=jmaher 2013-05-24 16:03:49 -03:00
manifest.webapp Bug 839519 - Add systemXHR permission. r=dclarke 2013-03-09 21:00:14 -05:00
moz.build Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
pywebsocket_wrapper.py
README.txt
redirect.html
root-ev-tester.crl Bug 864633 - broken site identity info bar part2 (tests from 813418). r=bsmith 2013-04-25 13:40:26 -07:00
runtests.py Bug 875463 - Implement --run-until-failure option for mochitests. r=jmaher 2013-05-24 16:03:50 -03:00
runtestsb2g.py Bug 861689 - Fix focus issues in various B2G mochitests. r=jmaher 2013-05-03 18:29:55 +02:00
runtestsremote.py Bug 833832 - Robocop: Add test for Import from Android feature. r=jmaher 2013-03-18 11:15:17 +02:00
runtestsvmware.py
server.js Bug 875463 - Part 0. Remove plain-loop.html and fix --repeat for single tests. r=jmaher 2013-05-24 16:03:49 -03:00

 ----------------
 mochitest README
 ----------------

Steps to get started:

 1.) Run the runtests.pl script to start the server.
 
     Currently, the test script automatically determines the location
     of *Firefox*.

 2.) gen_template.pl will generate test templates for HTML, XUL, and XHTML.
     Read the comment at the top of the file for usage instructions.

 3.) Write a test.


Example test:

<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=345656
-->
<head>
  <title>Test for Bug 345656</title>
  <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>        
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>
<p id="display"></p>
<div id="content" style="display: none">
  
</div>
<pre id="test">
<script class="testbody" type="text/javascript">

/** Test for Bug 345656 **/
//
//add information to show on the test page
//
$("display").innerHTML = "doing stuff...";

//
// The '$' is function is shorthand for getElementById. This is the same thing:
//
document.getElementById("display").innerHTML = "doing stuff...";

//
// you can add content that you don't want to clutter 
// the display to the content div.
//
// You can write directly, or you can use MochiKit functions
// to do it in JS like this:
//
appendChildNodes($("content"),
                 DIV({class: "qux"},
                     SPAN({id: "span42"}, "content"))
                 );

//
// the ok() function is like assert
//
ok(true, "checking to see if true is true);

//
// this will fail
//
ok(1==2, "1 equals 2?");


//
// this will be marked as a todo.
// When we fix 1 so it equals 2, we'll need to change this 
// function to ok() or is().
//
todo(1==2, "1 equals 2?");

//
// is() takes two args
//
myVar = "foo";
is(myVar, "foo", "checking to see if myVar is 'foo'");

//
// Tests can run in event handlers.
// Call this to tell SimpleTest to wait for SimpleTest.finish() 
//
SimpleTest.waitForExplicitFinish();

//
// event handler:
//
function event_fired(ev) {
  is(ev.newValue, "width: auto;", "DOMAttrModified event reports correct newValue");
  SimpleTest.finish(); // trigger the end of our test sequence
}

//
// Hook up the event. Mochikit.Signal has many conveniences for this, if you want.
//
$("content").addEventListener("DOMAttrModified", event_fired, false);

//
// Fire the event.
//
$("content").style.width = "auto";

</script>
</pre>
</body>
</html>