mozilla

Compare Revisions

Metro browser chrome tests

Change Revisions

Revision 431899:

Revision 431899 by Jmathies on

Revision 431993:

Revision 431993 by Jmathies on

Title:
Metro browser chrome tests
Metro browser chrome tests
Slug:
Metro_browser_chrome_tests
Metro_browser_chrome_tests
Tags:
"Automated testing", "Developing Mozilla", "Metro Browser"
"Developing Mozilla", "Metro Browser", "Automated testing"
Content:

Revision 431899
Revision 431993
n23      It is possible to run individula tests as well. As with <a n23      It is possible to run individual tests as well. As with <a 
>class="internal" href="/en/Mochitest" title="En/Mochitest">Mochit>class="internal" href="/en/Mochitest" title="En/Mochitest">Mochit
>est</a>, the path given as an argument is the path to a test file>est</a>, the path given as an argument is the path to a test file
> within the Mozilla source tree. If the path points to the root t> within the Mozilla source tree. If the path points to the root t
>ests directory, then all metro browser chrome tests will be run.>ests directory, then all metro browser chrome tests will be run.
n35      Metro browser chrome tests make use of a common framework fn35      Metro browser chrome tests make use of a common framework f
>or defining and running tests. A simple test would look like this>or defining and running tests. A simple test looks like this:
>: 
n53      <code>gTests</code> contains individual tests that make up n53      <code>gTests</code> contains individual tests that make up 
>the library of tests your test file will contain. Each test can h>the library of tests your test file will contain. Each test can h
>ave start up and tear down logic, plus the body of the test conta>ave start up and tear down logic, plus the body of the test conta
>ined in <code>run()</code>. The test file can contain other funct>ined in <code>run()</code>. The test file can contain other funct
>ions, they will be ignored unless invoked by <code>test()</code>.>ions which will be ignored unless invoked by <code>test()</code>.
> <code>gTests</code> make use of Promises and Tasks for managaing> <code>gTests</code> make use of Promises and Tasks for managing 
> execution.>execution.
n56      Test comparison functions used in metro browser chrome testn56      Test comparison functions used in metro browser chrome test
>s are identical to those supported by Mochitests, see <a href="/e>s are identical to those supported by Mochitests, see <a href="/e
>n/Mochitest#Test_functions" title="en/Mochitest#Test_functions">h>n/Mochitest#Test_functions" title="en/Mochitest#Test_functions">h
>ow the comparison functions work</a> in the Mochitest documentati>ow the comparison functions work</a> in the Mochitest documentati
>on for more details. The <a class="external" href="http://mxr.moz>on for more details.
>illa.org/mozilla/source/testing/mochitest/tests/SimpleTest/EventU 
>tils.js" title="http://mxr.mozilla.org/mozilla/source/testing/moc 
>hitest/tests/SimpleTest/EventUtils.js">EventUtils helper function 
>s</a> are available on the <code>EventUtils</code> object defined 
> in the global scope. Additional metro specific test helpers can  
>be found in <code>/browser/metro/base/tests/</code><code>head.js< 
>/code>. 
57    </p>
58    <h4 id="Test_functions" name="Test_functions">
59      Helper functions
60    </h4>
61    <p>
62      The <a class="external" href="http://mxr.mozilla.org/mozill
 >a/source/testing/mochitest/tests/SimpleTest/EventUtils.js" title=
 >"http://mxr.mozilla.org/mozilla/source/testing/mochitest/tests/Si
 >mpleTest/EventUtils.js">EventUtils helper functions</a> are avail
 >able on the <code>EventUtils</code> object defined in the global 
 >scope. Additional metro specific test helpers can be found in <co
 >de>/browser/metro/base/tests/</code><code>head.js</code>.
n59      The test file name must be prefixed with "browser_", and mun65      You may add additional common utils and helpers to <code>he
>st have a file extension of ".js". Files that don't match this pa>ad.js</code>. Be careful about changing existing helpers as chang
>ttern will be ignored by the test harness. Using a descriptive fi>es may impact tests in other libraries.
>le name is strongly encouraged instead of just using a bug number 
>. 
60    </p>
61    <p>
62      You can collect common utils and helpers in the file called
> <code>head.js</code> which lives in the same folder as the metro 
> browser chrome tests. This file will be injected into the test s 
>cope for each test file. 
63    </p>
64    <h4 id="Test_functions" name="Test_functions">
65      Exceptions in tests
66    </h4>
67    <p>
68      Any exceptions thrown under <code>test()</code> will be cau
>ght and reported as a failure. <code>setUp()</code>, <code>tearDo 
>wn()</code>, and <code>run()</code> each have individual exceptio 
>n handlers to prevent one method from interfering with the execut 
>ion of another. An exception in any of these methods will cause a 
> test failure. Additional gramework functionality is run after th 
>e completion of each individual test insuring tests clean up afte 
>r themselves properly. For more information see the main test exe 
>ctuon loop in <code>head.js</code>. 
nn73    <h4 id="Test_functions" name="Test_functions">
74      Exceptions in tests
75    </h4>
76    <p>
77      Any exceptions thrown under <code>test()</code> will be cau
 >ght and reported as a general failure. <code>setUp()</code>, <cod
 >e>tearDown()</code>, and <code>run()</code> each have individual 
 >exception handlers to prevent one method from interfering with th
 >e execution of another. An exception in any of these methods will
 > cause a test failure. Additional built-in framework test checks 
 >will run after the completion of each individual test insuring te
 >sts clean up properly. For more information on test execution see
 > the main test exectuon loop in <code>head.js</code>.
78    </p>
t80      To add a new metro browser chrome test add the test file tot83      To add a new metro browser chrome test add the test file to
> the <code>BROWSER_TESTS</code> variable in <code>/browser/metro/> the <code>BROWSER_TESTS</code> variable in <code>/browser/metro/
>base/tests/Makefile.in</code>. Also remember that the test file's>base/tests/Makefile.in</code>. Your test file name must be prefix
> name must begin with "browser_" for the test to be recognized as>ed with "browser_", and must have a file extension of ".js". File
> a browser chrome test.>s that don't match this pattern will be ignored by the test harne
 >ss. Using a descriptive file name is strongly encouraged instead 
 >of just using a bug number.

Back to History