PageRenderTime 71ms CodeModel.GetById 60ms app.highlight 7ms RepoModel.GetById 1ms app.codeStats 0ms

/js/lib/Socket.IO-node/support/expresso/deps/jscoverage/doc/faq.html

http://github.com/onedayitwillmake/RealtimeMultiplayerNodeJs
HTML | 164 lines | 142 code | 22 blank | 0 comment | 0 complexity | 21172eb3cfcc22557f40f028e9d77b4a MD5 | raw file
  1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
  2<html>
  3<head>
  4<title>JSCoverage - FAQ</title>
  5<link rel="stylesheet" type="text/css" href="reset-fonts-grids.css">
  6<link rel="stylesheet" type="text/css" href="style.css">
  7</head>
  8<body>
  9<div id="doc3" class="yui-t5"> 
 10  <div id="hd"><h1><a href="">JSCoverage</a><br><span class="tag">code coverage for JavaScript</span></h1></div>
 11  <div id="bd">
 12    <div id="yui-main"> 
 13      <div id="jscoverage-main" class="yui-b">
 14        <h2><abbr title="Frequently Asked Questions">FAQ</abbr></h2>
 15
 16        <h3>Can I use JSCoverage to measure code coverage for a page on <code>http://example.com/</code>?</h3>
 17
 18        <p>
 19        In order to measure the code coverage of a page on <code>http://example.com/</code>,
 20        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>
 24
 25        <p>
 26        The fundamental reason for this limitation is the
 27        <a href="http://www.mozilla.org/projects/security/components/same-origin.html">Same Origin Policy</a>
 28        for untrusted JavaScript.
 29        </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>
 54jscoverage src instrumented
 55</pre>
 56            <p>If all your HTML files are located directly under the <code>src/</code> directory (i.e., not in a
 57            subdirectory of <code>src/</code>), then you should not have any problems using Firefox 3.</p>
 58        <li><p>Set the <a href="http://kb.mozillazine.org/Editing_configuration">Firefox preference</a> named 
 59            <code><a href="http://kb.mozillazine.org/Security.fileuri.origin_policy">security.fileuri.origin_policy</a></code>
 60            to 3.</p>
 61        </ul>
 62
 63        <h3>I'm trying to load my code with the URL
 64        <code>file:///C:/foo/bar/jscoverage.html?foo/bar.html</code>
 65        and I'm getting all kinds of JavaScript errors.</h3>
 66
 67        <p>
 68        Internet Explorer 6 seems to have problems with a <code>file:</code> URL
 69        that has a query string with a slash in it.
 70        </p>
 71        <p>
 72        As a workaround:
 73        </p>
 74        <ul class="list">
 75        <li><p>Place your files on a web server instead of loading them from the file system.
 76            (<code>http:</code> URLs work fine.)</p>
 77        <li><p>Do not use a query string; enter your URL in the "URL" field in the "Browser" tab.</p>
 78        <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
 80            you can use the URL
 81            <code>file:///C:/foo/bar/jscoverage.html?bar.html</code>
 82            with no slash in the query string.</p>
 83        <li><p>Use a different browser.  (IE 7 seems to work.)</p>
 84        </ul>
 85
 86        <h3>JSCoverage changes my cursor to a busy cursor, and it never changes back!</h3>
 87
 88        <p>
 89        Certain browsers (<i>e. g</i>., Internet Explorer 6, Opera, Safari) have trouble changing
 90        the cursor.  Try moving the mouse and your cursor should change back to normal.
 91        </p>
 92
 93        <p>
 94        See <a href="http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/631908bd63241136/783c307480f95d8c">this discussion</a> for more information.
 95        </p>
 96
 97        <h3>JSCoverage hangs sometimes when rendering the coverage report.</h3>
 98
 99        <p>
100        With Internet Explorer 6 (I think I see a pattern here), garbage collection can cause performance problems.
101        (More information <a href="http://ajaxian.com/archives/garbage-collection-in-ie6">here</a>.)
102        </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>
120jscoverage --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>
130http://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>
139    </div> 
140    <div id="jscoverage-sidebar" class="yui-b">
141      <ul>
142      <li><a href="">Home</a>
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>
144      <li><a href="manual.html">Documentation</a>
145      <li><a href="demo.html">Demo</a>
146      <li><a href="http://siliconforks.com/jscoverage/download.html">Download</a>
147      <li>FAQ
148      <li><a href="help.html">Help</a>
149      <li><a href="license.html">License</a>
150      <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>
154    </div> 
155  </div>  
156  <div id="ft">
157    <address>
158      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>
159      <a href="mailto:jscoverage@siliconforks.com">jscoverage@siliconforks.com</a>
160    </address>
161  </div>  
162</div>
163</body>
164</html>