gecko/testing/mochitest
Benoit Jacob 5a9c7d6431 Bug 658359 - Register .frag and .vert extensions as text/plain to prevent crashing due to buggy plugins in WebGL mochitest - r=ehsan
These file types were unknown, leading to querying plugins to check if any would recognize these types, leading to xpcshell crashes due to bad plugins on linux, leading to mochitest failure on my machine.
2011-05-20 17:50:53 -04:00
..
chrome Bug 462172, fix up preventDefault call in drag synthesis test and move to a chrome test 2011-04-13 13:53:24 -04:00
dynamic
MochiKit
pywebsocket Bug 572975, bug 573227, websocket fixes, r=smaug 2010-06-28 00:09:29 +03:00
specialpowers Bug 588990 - Part 1: Add a SpecialPowers.gc() API; r=ehsan 2011-04-19 13:48:08 -04:00
ssltunnel Bug 654719 - Remove WinCE code from testing/* ; r=cjones 2011-05-06 11:41:19 -07:00
static Bug 599847 Cleanup unused test files in mochitest/static r=ctalbert a=NPOTB 2010-10-21 13:15:57 -07:00
tests Bug 654461 - cleanup chrome and a11y harnesses to simplify code. r=ted, a=test-only 2011-05-17 13:10:37 -04:00
browser-harness.xul Bug 618977 - Specifying an invalid test-path no longer complains about no tests to run, instead just does nothing. r=gavin, a=test-only 2011-05-20 11:54:01 -04:00
browser-test-overlay.xul Bug 654461 - cleanup chrome and a11y harnesses to simplify code. r=ted, a=test-only 2011-05-17 13:10:37 -04:00
browser-test.js Bug 654461 - cleanup chrome and a11y harnesses to simplify code. r=ted, a=test-only 2011-05-17 13:10:37 -04:00
chrome-harness.js Bug 618977 - Specifying an invalid test-path no longer complains about no tests to run, instead just does nothing. r=gavin, a=test-only 2011-05-20 11:54:01 -04:00
gen_template.pl
harness-overlay.xul Bug 654461 - cleanup chrome and a11y harnesses to simplify code. r=ted, a=test-only 2011-05-17 13:10:37 -04:00
harness.xul
install.rdf Merging to tip. a=blocking-b7 2010-09-30 17:10:19 -07:00
ipc-overlay.xul Bug 567417 - bug to get mochitests running on fennec + e10s r=smaug,ctalbert 2010-06-24 13:30:50 -07:00
ipc.js Bug 567417 - bug to get mochitests running on fennec + e10s r=smaug,ctalbert 2010-06-24 13:30:50 -07:00
jar.mn Bug 654461 - cleanup chrome and a11y harnesses to simplify code. r=ted, a=test-only 2011-05-17 13:10:37 -04:00
Makefile.in Bug 654461 - cleanup chrome and a11y harnesses to simplify code. r=ted, a=test-only 2011-05-17 13:10:37 -04:00
mozprefs.js
pywebsocket_wrapper.py Bug 654354 - Don't output python backtraces when a mochitest is killed via ctrl-c. r=ted 2011-05-09 17:54:35 -04:00
README.txt
redirect.html
redirect.js
runtests.py Bug 644626 - Move plugin tests from modules/plugin/test to dom/plugin/test, r=ted 2011-05-18 09:05:24 -04:00
runtestsremote.py Bug 650205 - Implement devicemanager using adb. r=jmaher, a=test-only 2011-05-06 18:17:55 -04:00
runtestsvmware.py
server.js Bug 658359 - Register .frag and .vert extensions as text/plain to prevent crashing due to buggy plugins in WebGL mochitest - r=ehsan 2011-05-20 17:50:53 -04: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>