/[jscoverage]/trunk/doc/faq.html
ViewVC logotype

Diff of /trunk/doc/faq.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 29 by siliconforks, Sun Aug 19 04:41:05 2007 UTC revision 329 by siliconforks, Wed Oct 22 23:48:33 2008 UTC
# Line 1  Line 1 
1  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
2  <html>  <html>
3  <head>  <head>
4  <title>JSCoverage - help</title>  <title>JSCoverage - FAQ</title>
5  <link rel="stylesheet" type="text/css" href="reset-fonts-grids.css">  <link rel="stylesheet" type="text/css" href="reset-fonts-grids.css">
6  <link rel="stylesheet" type="text/css" href="style.css">  <link rel="stylesheet" type="text/css" href="style.css">
7  </head>  </head>
# Line 13  Line 13 
13        <div id="jscoverage-main" class="yui-b">        <div id="jscoverage-main" class="yui-b">
14          <h2><abbr title="Frequently Asked Questions">FAQ</abbr></h2>          <h2><abbr title="Frequently Asked Questions">FAQ</abbr></h2>
15    
16          <h3>Can JSCoverage be used with <a href="http://www.jsunit.net/">JsUnit</a>?</h3>          <h3>Can I use JSCoverage to measure code coverage for a page on <code>http://<var>example.com</var>/</code>?</h3>
17    
18          <p>          <p>
19          It is necessary to run JSCoverage in <dfn>inverted mode</dfn>.  You will have to          In order to measure the code coverage of a page on <code>http://example.com/</code>,
20          modify JsUnit to launch JSCoverage.          you must run <code>jscoverage</code> to create a <code>jscoverage.html</code> file on the
21            <code>example.com</code> server.  You cannot use <code>http://example.org/jscoverage.html</code>
22            to measure the code coverage of a page located on <code>http://example.com/</code>.
23          </p>          </p>
24    
25          <p>          <p>
26          See the directory <code>doc/example-jsunit</code> for an example. It          The fundamental reason for this limitation is the
27          contains a copy of JsUnit version 2.2alpha11, with the file          <a href="http://www.mozilla.org/projects/security/components/same-origin.html">Same Origin Policy</a>
28          <code>jsunit/app/main-data.html</code> slightly modified to add a button          for untrusted JavaScript.
         which launches JSCoverage.  It also contains a simple unit test file <code>test.html</code>.  You  
         can instrument this example as follows:  
29          </p>          </p>
30    
31            <p>
32            (In fact, the current version of JSCoverage is slightly more restrictive
33            than this: it requires that the JavaScript being measured reside under the
34            same <strong>directory</strong> as the <code>jscoverage.html</code> file.)
35            </p>
36    
37            <h3>Why doesn't my test suite run under JSCoverage in Firefox 3?</h3>
38    
39            <p>
40            Firefox 3 introduces <a
41            href="http://tech.groups.yahoo.com/group/jsunit/message/1075">new
42            security restrictions</a> on local files.  Depending on the way your
43            test suite is organized, this may cause problems for JSCoverage.
44            (You may get the error "uncaught exception: Permission denied to get property Window._$jscoverage".)
45            There are several workarounds:
46            </p>
47    
48            <ul class="list">
49            <li><p>Place your files on a web server instead of loading them from the file system.
50                This is usually the simplest solution.</p>
51            <li><p>Organize your HTML files in your test suite in a flat directory structure.  For example, suppose that
52                you instrument your test suite with this command:</p>
53  <pre>  <pre>
54  jscoverage --no-instrument=jsunit doc/example-jsunit doc/instrumented-jsunit  jscoverage src instrumented
55  </pre>  </pre>
56                <p>If all your HTML files are located directly under the <code>src/</code> directory (i.e., not in a
57         <p>              subdirectory of <code>src/</code>), then you should not have any problems using Firefox 3.</p>
58         You can then run the <code>test.html</code> file in JsUnit's <code>jsunit/testRunner.html</code>.          <li><p>Set the <a href="http://kb.mozillazine.org/Editing_configuration">Firefox preference</a> named
59         The simplest way to do this is probably to copy the contents of <code>doc/instrumented-jsunit</code>              <code><a href="http://kb.mozillazine.org/Security.fileuri.origin_policy">security.fileuri.origin_policy</a></code>
60         to the root of a web server and then access              to 3.</p>
61         <a href="http://127.0.0.1/jsunit/testRunner.html?testPage=http://127.0.0.1/test.html&amp;autorun=true">this URL</a>.          </ul>
        </p>  
62    
63          <h3>I'm trying to load my code with the URL          <h3>I'm trying to load my code with the URL
64          <code>file:///C:/foo/bar/jscoverage.html?foo/bar.html</code>          <code>file:///C:/foo/bar/jscoverage.html?foo/bar.html</code>
# Line 51  Line 72 
72          As a workaround:          As a workaround:
73          </p>          </p>
74          <ul class="list">          <ul class="list">
75          <li>Place your files on a web server instead of loading them from the file system.          <li><p>Place your files on a web server instead of loading them from the file system.
76              (<code>http:</code> URLs work fine.)              (<code>http:</code> URLs work fine.)</p>
77          <li>Do not use a query string; enter your URL in the "URL" field in the "Browser" tab.          <li><p>Do not use a query string; enter your URL in the "URL" field in the "Browser" tab.</p>
78          <li>Rearrange your directory structure so that <code>bar.html</code>          <li><p>Rearrange your directory structure so that <code>bar.html</code>
79              ends up in the same directory as <code>jscoverage.html</code>; then              ends up in the same directory as <code>jscoverage.html</code>; then
80              you can use the URL              you can use the URL
81              <code>file:///C:/foo/bar/jscoverage.html?bar.html</code>              <code>file:///C:/foo/bar/jscoverage.html?bar.html</code>
82              with no slash in the query string.              with no slash in the query string.</p>
83          <li>Use a different browser.  (IE 7 seems to work.)          <li><p>Use a different browser.  (IE 7 seems to work.)</p>
84          </ul>          </ul>
85    
86          <h3>JSCoverage changes my cursor to a busy cursor, and it never changes back!</h3>          <h3>JSCoverage changes my cursor to a busy cursor, and it never changes back!</h3>
# Line 70  Line 91 
91          </p>          </p>
92    
93          <p>          <p>
94          See the discussion <a href="http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/631908bd63241136/783c307480f95d8c">here</a> for more information.          See <a href="http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/631908bd63241136/783c307480f95d8c">this discussion</a> for more information.
95          </p>          </p>
96    
97          <h3>JSCoverage hangs sometimes when rendering the coverage report.</h3>          <h3>JSCoverage hangs sometimes when rendering the coverage report.</h3>
# Line 80  Line 101 
101          (More information <a href="http://ajaxian.com/archives/garbage-collection-in-ie6">here</a>.)          (More information <a href="http://ajaxian.com/archives/garbage-collection-in-ie6">here</a>.)
102          </p>          </p>
103    
104            <h3 id="jsunit">Can JSCoverage be used with <a href="http://www.jsunit.net/">JsUnit</a>?</h3>
105    
106            <p>
107            It is necessary to run JSCoverage in <dfn>inverted mode</dfn>.  You will have to
108            modify JsUnit to launch JSCoverage.
109            </p>
110    
111            <p>
112            See the directory <code>doc/example-jsunit</code> for an example. It
113            contains a copy of JsUnit version 2.2alpha11, with the file
114            <code>jsunit/app/main-data.html</code> slightly modified to add a button
115            which launches JSCoverage.  It also contains a simple unit test file <code>test.html</code>.  You
116            can instrument this example as follows:
117            </p>
118    
119    <pre>
120    jscoverage --no-instrument=jsunit doc/example-jsunit doc/instrumented-jsunit
121    </pre>
122    
123           <p>
124           You can then run the <code>test.html</code> file in JsUnit's <code>jsunit/testRunner.html</code>.
125           The simplest way to do this is probably to copy the contents of <code>doc/instrumented-jsunit</code>
126           to the root of a web server and then access the URL
127           </p>
128    
129    <pre>
130    http://127.0.0.1/jsunit/testRunner.html?testPage=http://127.0.0.1/test.html&amp;autoRun=true
131    </pre>
132    
133          <p>
134          After the test suite has been run, click on the "Coverage report" button
135          to get a coverage report.
136          </p>
137    
138        </div>        </div>
139      </div>      </div>
140      <div id="jscoverage-sidebar" class="yui-b">      <div id="jscoverage-sidebar" class="yui-b">
# Line 88  Line 143 
143        <li><a href="news.html">News</a> <a href="http://siliconforks.com/jscoverage/news.xml" type="application/rss+xml" title="RSS feed for JSCoverage"><img src="feed-icon-14x14.png" alt="RSS feed"></a>        <li><a href="news.html">News</a> <a href="http://siliconforks.com/jscoverage/news.xml" type="application/rss+xml" title="RSS feed for JSCoverage"><img src="feed-icon-14x14.png" alt="RSS feed"></a>
144        <li><a href="manual.html">Documentation</a>        <li><a href="manual.html">Documentation</a>
145        <li><a href="demo.html">Demo</a>        <li><a href="demo.html">Demo</a>
146        <li><a href="download.html">Download</a>        <li><a href="http://siliconforks.com/jscoverage/download.html">Download</a>
147        <li>FAQ        <li>FAQ
148        <li><a href="help.html">Help</a>        <li><a href="help.html">Help</a>
149        <li><a href="license.html">License</a>        <li><a href="license.html">License</a>
150        <li><a href="links.html">Links</a>        <li><a href="links.html">Links</a>
151          <li><a href="users.html">Users</a>
152          <li><a href="http://siliconforks.com/jscoverage/bugs/">Bug tracker</a>
153        </ul>        </ul>
154      </div>      </div>
155    </div>      </div>  
156    <div id="ft">    <div id="ft">
157      <address>      <address>
158        Copyright &copy; 2007 siliconforks.com<br>        Copyright &copy; 2007, 2008 <a href="http://siliconforks.com/"><img src="siliconforks-16x16.png" width="16" height="16" class="icon" alt="Silicon Forks"></a> <a href="http://siliconforks.com/">siliconforks.com</a><br>
       Last updated August 15, 2007<br>  
159        <a href="mailto:jscoverage@siliconforks.com">jscoverage@siliconforks.com</a>        <a href="mailto:jscoverage@siliconforks.com">jscoverage@siliconforks.com</a>
160      </address>      </address>
161    </div>      </div>  

Legend:
Removed from v.29  
changed lines
  Added in v.329

  ViewVC Help
Powered by ViewVC 1.1.24