1 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> |
2 |
<html> |
3 |
<head> |
4 |
<title>JSCoverage - code coverage for JavaScript</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><span class="h1">JSCoverage</span><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 |
<p> |
15 |
JSCoverage is a tool that measures code coverage for |
16 |
JavaScript programs. |
17 |
</p> |
18 |
<p> |
19 |
<dfn>Code coverage</dfn> statistics show which lines of a program have |
20 |
been executed (and which have been missed). This information is useful |
21 |
for constructing comprehensive test suites (hence, it is often called |
22 |
<dfn>test coverage</dfn>). |
23 |
</p> |
24 |
<p> |
25 |
JSCoverage works by instrumenting the JavaScript code used in web |
26 |
pages. Code coverage statistics are collected while the instrumented |
27 |
JavaScript code is executed in a web browser. |
28 |
</p> |
29 |
<p> |
30 |
JSCoverage supports the complete language syntax described in the |
31 |
<cite>ECMAScript Language Specification</cite> (ECMA-262, 3rd edition). |
32 |
JSCoverage works with any modern standards-compliant web browser - |
33 |
including Internet Explorer (IE 6, 7, and 8), Firefox, |
34 |
Opera, Safari, and Google Chrome - on Microsoft Windows and GNU/Linux. |
35 |
</p> |
36 |
<p> |
37 |
JSCoverage is free software, distributed under the |
38 |
<a href="license.html">GNU General Public License version 2</a>. |
39 |
</p> |
40 |
|
41 |
<h2>Latest News <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></h2> |
42 |
|
43 |
<h3><a name="20100923">September 23, 2010 - JSCoverage 0.5.1</a></h3> |
44 |
<p> |
45 |
JSCoverage 0.5.1 is available for <a href="http://siliconforks.com/jscoverage/download.html">download</a>. |
46 |
</p> |
47 |
<p> |
48 |
This release contains several bug fixes and improvements: |
49 |
</p> |
50 |
<ul class="list"> |
51 |
<li> |
52 |
Probably the largest change is in the documentation: the manual no |
53 |
longer recommends using <code>file:</code> URLs. |
54 |
It is recommended that an HTTP server be used instead. |
55 |
(See the <a href="manual.html">manual</a> for details.) |
56 |
The JSCoverage user interface now displays a warning when used with |
57 |
<code>file:</code> URLs. |
58 |
</li> |
59 |
<li> |
60 |
The <code>--verbose</code> option to <code>jscoverage</code> now |
61 |
produces better output. |
62 |
</li> |
63 |
<li> |
64 |
Report loading is now faster (thanks to Klaus). |
65 |
</li> |
66 |
<li> |
67 |
Some bugs involving augmented object prototypes were fixed. |
68 |
</li> |
69 |
<li> |
70 |
JavaScript instrumentation was improved to work better in non-browser |
71 |
environments. |
72 |
</li> |
73 |
<li> |
74 |
Some cases where permission errors were occurring in inverted mode were |
75 |
fixed (thanks to tn). |
76 |
</li> |
77 |
<li> |
78 |
Previously, if <code>jscoverage-server</code> was started with the |
79 |
option <code>--ip-address=<var>A</var></code>, where <var>A</var> was a |
80 |
specific IP address, it was impossible to shut it down with |
81 |
<code>jscoverage-server --shutdown</code>. |
82 |
This should be possible now by running |
83 |
<code>jscoverage-server --shutdown --ip-address=<var>A</var></code> |
84 |
from the same machine. |
85 |
</li> |
86 |
<li> |
87 |
The test suite has been made more robust. |
88 |
</li> |
89 |
</ul> |
90 |
|
91 |
<h3><a name="20100426">April 26, 2010 - New blog</a></h3> |
92 |
<p> |
93 |
If you would like to see some case studies showing how to use JSCoverage in practice, take a look at the new <a href="http://blog.siliconforks.com/">blog</a>. |
94 |
This week there will be a series of articles about using JSCoverage with various JavaScript testing frameworks. |
95 |
The <a href="http://blog.siliconforks.com/2010/04/26/jscoverage-scriptaculous/">first article</a> looks at using JSCoverage with the <a href="http://script.aculo.us">script.aculo.us</a> test suite. |
96 |
</p> |
97 |
|
98 |
<h3><a name="20100424">April 24, 2010 - JSCoverage 0.5</a></h3> |
99 |
<p> |
100 |
JSCoverage 0.5 is available for <a href="http://siliconforks.com/jscoverage/download.html">download</a>. |
101 |
</p> |
102 |
<p> |
103 |
This release contains a number of new features and bug fixes: |
104 |
</p> |
105 |
<ul class="list"> |
106 |
<li> |
107 |
A new mode of operation, called "window mode", allows you to run code in a new browser window (or tab). |
108 |
</li> |
109 |
<li> |
110 |
Code coverage statistics can now be generated for applications based on |
111 |
the Mozilla platform using the <code>--mozilla</code> option (thanks to |
112 |
Murali Nandigama for help creating this). |
113 |
</li> |
114 |
<li> |
115 |
The method used to calculate overall percentage code coverage for all |
116 |
files has changed. Previously, the calculation was done using an |
117 |
unweighted average: each file's percentage code coverage contributed |
118 |
equally to the total, regardless of the number of lines of code in the |
119 |
file. Now, the calculation is done using a weighted average. This |
120 |
fixes |
121 |
<a href="http://siliconforks.com/jscoverage/bugs/6">bug #6</a> (thanks to |
122 |
Liu Cougar). |
123 |
</li> |
124 |
<li> |
125 |
Contiguous lines in the "Missing" column are now grouped together (thanks to |
126 |
Liu Cougar). |
127 |
</li> |
128 |
<li> |
129 |
The "Source" tab is no longer empty when code being tested throws an |
130 |
uncaught exception |
131 |
(fixing <a href="http://siliconforks.com/jscoverage/bugs/5">bug #5</a>) |
132 |
</li> |
133 |
<li> |
134 |
Previously, certain uses of the <code>new</code> operator were |
135 |
instrumented incorrectly; this has now been fixed |
136 |
(thanks to Guillaume Lung). |
137 |
</li> |
138 |
<li> |
139 |
The <code>jscoverage-server</code> program now allows more characters in |
140 |
URLs (thanks to Guillaume Lung). |
141 |
</li> |
142 |
<li> |
143 |
The <code>jscoverage-server</code> program now handles HTTP headers with |
144 |
empty values (thanks to Velo). |
145 |
</li> |
146 |
<li> |
147 |
The <code>jscoverage</code> program now refuses to instrument code which |
148 |
has already been instrumented (thanks to Velo). |
149 |
</li> |
150 |
<li> |
151 |
URLs containing spaces now work correctly (thanks to Igor Papkov). |
152 |
</li> |
153 |
<li> |
154 |
Previously, on Windows, the <code>jscoverage</code> program |
155 |
was unable to instrument a directory in a drive root; this has now been |
156 |
fixed. |
157 |
</li> |
158 |
<li> |
159 |
Encoded URLs are now handled better in the query string. |
160 |
</li> |
161 |
<li> |
162 |
A limitation of 65,535 lines per file and 65,535 characters per line has |
163 |
been removed. |
164 |
</li> |
165 |
<li> |
166 |
Floating-point numbers are now handled with improved precision. |
167 |
</li> |
168 |
<li> |
169 |
The <code>jscoverage-server</code> program can no longer bind to the same port multiple times on Windows. |
170 |
</li> |
171 |
<li> |
172 |
Some bugs in <code>jscoverage-server</code>'s handling of the "chunked" |
173 |
Transfer-Encoding have been fixed. |
174 |
</li> |
175 |
<li> |
176 |
Compilation under Cygwin now uses the <code>-mno-cygwin</code> flag. |
177 |
</li> |
178 |
<li> |
179 |
The wire format used for submitting coverage reports for storage by |
180 |
<code>jscoverage-server</code> has changed. (This change will not have |
181 |
any visible effects for most users; it will only be of interest to those |
182 |
who have written code which parses that format.) |
183 |
</li> |
184 |
</ul> |
185 |
|
186 |
<p> |
187 |
<a href="news.html">All news items...</a> |
188 |
</p> |
189 |
</div> |
190 |
</div> |
191 |
<div id="jscoverage-sidebar" class="yui-b"> |
192 |
<ul> |
193 |
<li>Home |
194 |
<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> |
195 |
<li><a href="manual.html">Documentation</a> |
196 |
<li><a href="demo.html">Demo</a> |
197 |
<li><a href="http://siliconforks.com/jscoverage/download.html">Download</a> |
198 |
<li><a href="faq.html">FAQ</a> |
199 |
<li><a href="help.html">Help</a> |
200 |
<li><a href="license.html">License</a> |
201 |
<li><a href="links.html">Links</a> |
202 |
<li><a href="users.html">Users</a> |
203 |
<li><a href="http://siliconforks.com/jscoverage/bugs/">Bug tracker</a> |
204 |
</ul> |
205 |
</div> |
206 |
</div> |
207 |
<div id="ft"> |
208 |
<address> |
209 |
Copyright © 2007, 2008, 2009, 2010 <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> |
210 |
<a href="mailto:jscoverage@siliconforks.com">jscoverage@siliconforks.com</a> |
211 |
</address> |
212 |
</div> |
213 |
</div> |
214 |
</body> |
215 |
</html> |