/
firebug.html
481 lines (477 loc) · 79.5 KB
/
firebug.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
<!DOCTYPE html>
<html>
<head>
<title>Firebug Head Test List</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<script type="text/javascript" src="_common/testListUtils.js"></script>
<link rel="stylesheet" href="_common/testConsole.css" type="text/css"/>
<link rel="stylesheet" href="_common/testList.css" type="text/css"/>
<link rel="stylesheet" href="_common/testResult.css" type="text/css"/>
<link rel="stylesheet" href="_common/tabView.css" type="text/css"/>
</head>
<body>
<script type="text/javascript">
/**
* Root directory of the test tree. If it's empty, the parent directory of this file
* is used as the test root directory.
*/
var driverBaseURI = getDriverBaseURI();
var serverURI = driverBaseURI;
/**
* List of registered tests.
* @param: {String} group Name of the group where the test belongs to.
* @param: {String} uri Relative location of the test file.
* @param: {String} desc Test description.
* @param: {String} category Test category, this can be set to:
* "passes": (default) - a test must pass, otherwise it's a blocking bug.
* "fails": - it's not blocking bug if the test fails.
* @param: {String} testPage Relative location of the test page [optional]. This is useful for manual
* opening of the test page from FBTest console (context menu "Open Test Page").
* @param: {String} os Target OS [optional]. Used to specify target OS where the test
* should be applied. Can be combination of following: win|mac|linux
* (separated by '|'). If not specified, the test is intended for all.
* Test, which is not targeted for the current OS is marked as "fails".
*/
var testList = [
{group: "lib/array", uri: "lib/array/arrayInsert.js", desc: "Verify Arr.arrayInsert() is working as expected" },
{group: "lib/array", uri: "lib/array/isArrayLike.js", desc: "Verify Arr.isArrayLike() is working as expected" },
{group: "lib/array", uri: "lib/array/unique.js", desc: "Verify Arr.unique() is working as expected" },
{group: "lib/css", uri: "lib/css/classes.js", desc: "Verify Css.setClass(), Css.hasClass() and Css.removeClass() are working as expected" },
{group: "lib/css", uri: "lib/css/colorNameToRGB.js", desc: "Verify Css.colorNameToRGB() is working as expected" },
{group: "lib/css", uri: "lib/css/rgbToHex.js", desc: "Verify Css.rgbToHex() is working as expected" },
{group: "lib/css", uri: "lib/css/rgbToHSL.js", desc: "Verify Css.rgbToHSL() is working as expected" },
{group: "lib/dom", uri: "lib/dom/getElementsByAttribute.js", desc: "Verify Dom.getElementsByAttribute() is working as expected" },
{group: "lib/search", uri: "lib/search/literalRegExp.js", desc: "Verify Search.LiteralRegExp() is working as expected" },
{group: "lib/search", uri: "lib/search/textSearch.js", desc: "Verify Search.TextSearch() is working as expected", testPage: "lib/search/textSearch.htm" },
{group: "lib/storage", uri: "lib/storage/storageService.js", desc: "Verify modules/storageService is working as expected" },
{group: "lib/string", uri: "lib/string/cropString.js", desc: "Verify Str.cropString() is working as expected" },
{group: "lib/string", uri: "lib/string/formatTime.js", desc: "Verify Str.formatTime() is working as expected" },
{group: "lib/string", uri: "lib/string/formatSize.js", desc: "Verify Str.formatSize() is working as expected" },
{group: "lib/string", uri: "lib/string/toFixedLocaleString.js", desc: "Verify Str.toFixedLocaleString() is working as expected" },
{group: "lib/url", uri: "lib/url/absoluteURL.js", desc: "Verify Url.absoluteURLs() is working as expected" },
{group: "lib/url", uri: "lib/url/parseURLParams.js", desc: "Verify Url.parseURLParams() is working as expected" },
{group: "lib/xpath", uri: "lib/xpath/getElementTreeXPath.js", desc: "Verify Xpath.getElementTreeXPath is working as expected" },
{group: "chrome", uri: "chrome/1883/issue1883.js", desc: "domplate.insertRows properties" },
{group: "domplate", uri: "domplate/issue4425.js", desc: "Better support for Domplate templates inheritance" },
{group: "firebug/activation", uri: "firebug/activation/activation.js", desc: "Verify the Firebug activation", testPage: "firebug/activation/activation.html" },
{group: "firebug/activation", uri: "firebug/activation/viralActivation.js", desc: "Links from active pages should be active", testPage: "firebug/activation/viralActivation.html" },
{group: "firebug", uri: "firebug/activeContextAfterReload.js", desc: "Reloading a FF tab with Firebug open." },
{group: "firebug", uri: "firebug/allOpenAllClose1.5.js", desc: "First test: all open and all close", testPage: "firebug/OpenFirebugOnThisPage.html" },
{group: "firebug", uri: "firebug/changeUILocation.js", desc: "Changing Firebug UI location", testPage: "firebug/OpenFirebugOnThisPage.html" },
{group: "firebug", uri: "firebug/openDisableEnableReload.js", desc: "Firebug opened disabled on all panels then enabled on all panels" },
{group: "firebug", uri: "firebug/openInNewWindow.js", desc: "Firebug opened in a new window", testPage: "script/1483/issue1483.html" },
{group: "firebug", uri: "firebug/openNotOpenClose.js", desc: "Opening Pages but not Firebug." },
{group: "firebug", uri: "firebug/openOnLocalPage.js", desc: "Firebug opened on a file://... page should stay open even after refresh." },
{group: "firebug", uri: "firebug/openOpenCloseClose.js", desc: "Opening and Closing Pages and Firebug." },
{group: "firebug", uri: "firebug/selectedPanelAfterReopen.js", desc: "Selected panel should be still selected if Firebug UI is reopened.", testPage: "firebug/OpenFirebugOnThisPage.html"},
{group: "firebug", uri: "firebug/2613/issue2613.js", desc: "HTML, CSS, and DOM panels do not display on reload.", testPage: "firebug/2613/issue2613.html" },
{group: "firebug", uri: "firebug/4040/issue4040.js", desc: "Switching to a about:blank page does not update the panels", testPage: "firebug/4040/issue4040.html" },
{group: "firebug", uri: "firebug/4153/issue4153.js", desc: "Re-attaching detached, deactivated Firebug UI doesn't close it", testPage: "firebug/4153/issue4153.html" },
{group: "firebug", uri: "firebug/4553/issue4553.js", desc: "iframe should be content-primary", testPage: "firebug/4553/issue4553.html" },
{group: "firebug", uri: "firebug/5349/issue5349.js", desc: "Context menu in select, radio, check, not work", testPage: "firebug/5349/issue5349.html" },
{group: "firebug", uri: "firebug/5526/issue5526.js", desc: "Open Firebug in detached mode when it was minimized in detached mode", testPage: "firebug/5526/issue5526.html" },
{group: "firebug", uri: "firebug/6300/issue6300.js", desc: "Create FBTest that covers panel switching", testPage: "firebug/6300/issue6300.html" },
{group: "firebug", uri: "firebug/7036/issue7036.js", desc: "Firebug bugs when updating the DOM every 29 ms or less", testPage: "firebug/7036/issue7036.html" },
{group: "firebug/options", uri: "firebug/options/textSize.js", desc: "Changing Firebug text size.", testPage: "firebug/options/textSize.html" },
{group: "search", uri: "search/netPanelSearch.js", desc: "Search within the Net panel", testPage: "search/netVictim.htm" },
{group: "search", uri: "search/scriptPanelSearch.js", desc: "Search within the Script panel" },
{group: "search", uri: "search/958/issue958.js", desc: "Search Field shouldn't be cleared when switching between panels", testPage: "search/958/issue958.html" },
{group: "search", uri: "search/2886/issue2886.js", desc: "JavaScript search field doesn't find some code", testPage: "search/2886/issue2886.html" },
{group: "search", uri: "search/4602/issue4602.js", desc: "Transfer text selection to Search Field when it's focussed using the keyboard shortcut", testPage: "search/4602/issue4602.html" },
{group: "search", uri: "search/4603/issue4603.js", desc: "Add clear button to the Search Field", testPage: "search/4603/issue4603.html" },
{group: "search", uri: "search/6334/issue6334.js", desc: "Pressing the search field shortcut should select the previously entered search text", testPage: "search/6334/issue6334.html" },
{group: "search", uri: "search/6435/issue6435.js", desc: "Create FBTest that covers DOM panel search", testPage: "search/6435/issue6435.html" },
{group: "search", uri: "search/6454/issue6454.js", desc: "Create FBTest that covers HTML panel search", testPage: "search/6454/issue6454.html" },
{group: "search", uri: "search/6453/issue6453.js", desc: "Create FBTest that covers Console panel search", testPage: "search/6453/issue6453.html" },
{group: "search", uri: "search/6455/issue6455.js", desc: "Create FBTest that covers Cookies panel search", testPage: "search/6455/issue6455.php" },
{group: "shortcuts", uri: "shortcuts/firebug.js", desc: "Firebug shortcuts (F12, Shift+F12, Ctrl+F12)", testPage: "shortcuts/firebug.html" },
{group: "shortcuts", uri: "shortcuts/inspector.js", desc: "Inspector shortcut (Ctrl+Shift+C)", testPage: "shortcuts/inspector.html" },
{group: "examples", uri: "examples/exampleCommandLine1.js", desc: "Example test showing how to test the command line.", testPage: "examples/exampleCommandLine1.html" },
{group: "examples", uri: "examples/exampleConsoleAPI1.js", desc: "Example test for console API.", testPage: "examples/exampleConsoleAPI1.html" },
{group: "examples", uri: "examples/exampleHtmlMutation1.js", desc: "Example test showing how to handle HTML mutation.", testPage: "examples/exampleHtmlMutation1.html" },
{group: "examples", uri: "examples/exampleLib1.js", desc: "Example test for a library function." },
{group: "examples", uri: "examples/exampleNet1.js", desc: "Example test for the Net panel", testPage: "examples/exampleNet1.html" },
{group: "examples", uri: "examples/exampleScript1.js", desc: "Example test for the Script panel", testPage: "examples/exampleScript1.html" },
{group: "examples", uri: "examples/exampleScript2.js", desc: "Example test for the Script panel", testPage: "examples/exampleScript2.html" },
{group: "examples", uri: "examples/exampleTaskList1.js", desc: "Example test showing how to use FBTest.TaskList API." },
{group: "examples", uri: "examples/exampleTest.js", desc: "Simple test example." },
{group: "console", uri: "console/breakOnError/breakOnError.js", desc: "Test for breakOnError feature (break on all errors).", testPage: "console/breakOnError/breakOnError.html"},
{group: "console", uri: "console/breakOnError/breakOnError2.js", desc: "Test for breakOnError feature (error breakpoint).", testPage: "console/breakOnError/breakOnError2.html"},
{group: "console", uri: "console/consoleOnOtherPanels.js", desc: "Console and command line on other panels.", testPage: "console/consoleOnOtherPanels.html"},
{group: "console", uri: "console/onreadystatechange.js", desc: "Log an onreadystatechange function." },
{group: "console", uri: "console/panelContentAfterDisable1.6.js", desc: "If console panel is disabled command line must be hidden." },
{group: "console", uri: "console/panelContentAfterReopen.js", desc: "Preserve Panel Content When Firebug UI Is Closed And Opened Again.", testPage: "console/panelContentAfterReopen.html"},
{group: "console", uri: "console/reps/arrayDisplay.js", desc: "Display of arrays and array-like objects", testPage: "console/reps/arrayDisplay.html" },
{group: "console", uri: "console/testErrors.js", desc: "Various errors must be properly logged into the Console panel.", testPage: "console/testErrors.html" },
{group: "console", uri: "console/766/issue766.js", desc: "Issue 766: console.log(hash)", testPage: "console/766/issue766.html"},
{group: "console", uri: "console/872/issue872.js", desc: "Refreshing an iframe doesn't show its errors", testPage: "console/872/issue872.html" },
{group: "console", uri: "console/882/issue882.js", desc: "Issue 882: console.log() reports wrong source file and line number", testPage: "console/882/issue882.html"},
{group: "console", uri: "console/1495/issue1495.js", desc: "Issue1495: No more ajax response for a while", testPage: "console/1495/issue1495.html" },
{group: "console", uri: "console/1591/issue1591.js", desc: "Issue 1591: Firebug cannot find _firebugConsole element.", testPage: "console/1591/issue1591.html" },
{group: "console", uri: "console/1693/issue1693.js", desc: "[php] Viewing requests with large message bodies in Console tab temporarily freezes browser", testPage: "console/1693/issue1693.html" },
{group: "console", uri: "console/2122/issue2122.js", desc: "Issue 2122: Console stops auto-scrolling (again)", testPage: "console/2122/issue2122.html"},
{group: "console", uri: "console/2160/issue2160.js", desc: "Issue 2160: Console does not always start auto-scrolled to the bottom", testPage: "console/2160/issue2160.html"},
{group: "console", uri: "console/2271/issue2271.js", desc: "Issue 2271: JS errors in AJAX callback functions are not shown", testPage: "console/2271/issue2271.html"},
{group: "console", uri: "console/2328/issue2328.js", desc: "Issue 2328: HTML preview in net-tab but not in console-tab", testPage: "console/2328/issue2328.html"},
{group: "console", uri: "console/2659/issue2659.js", desc: "Issue 2659: Persist option, doesn't work on console tab", testPage: "console/2659/issue2659.html"},
{group: "console", uri: "console/2694/issue2694.js", desc: "Issue 2694: Console output does not scroll to position on 1.6a2", testPage: "console/2694/issue2694.html"},
{group: "console", uri: "console/2914/issue2914.js", desc: "parent.window.console.error() called from an IFRAME fails to log anything.", testPage: "console/2914/issue2914.html" },
{group: "console", uri: "console/2948/issue2948.js", desc: "Issue 3391: Console stops working (No XHR or log outputs)", testPage: "console/2948/issue2948.html"},
{group: "console", uri: "console/3029/issue3029.js", desc: "Issue 3029: long property value of object change to 'undefined'", testPage: "console/3029/issue3029.html"},
{group: "console", disabled: "See issue 7275", uri: "console/3042/issue3042.js", desc: "Issue 3042: Show syntax error position like in error console of Firefox", testPage: "console/3042/issue3042.html"},
{group: "console", uri: "console/3078/issue3078.js", desc: "Issue 3078: Console does scroll to the bottom for log entries in the head section", testPage: "console/3078/issue3078.html"},
{group: "console", uri: "console/3204/issue3204.js", desc: "Issue 3204: console.* formatted strings print %* placeholder when surrounded by newlines", testPage: "console/3204/issue3204.html"},
{group: "console", uri: "console/3292/issue3292.js", desc: "Issue 3292: Console not defined in iframe", testPage: "console/3292/issue3292.html"},
{group: "console", uri: "console/3408/issue3408.js", desc: "Issue 3408: Console panel breaks if Firebug is reactivated.", testPage: "console/3408/issue3408.html"},
{group: "console", uri: "console/3503/issue3503.js", desc: "Issue 3503: Large arrays not printed in Windows", testPage: "console/3503/issue3503.html"},
{group: "console", uri: "console/3663/issue3663.js", desc: "too much recursion when logging array contains itself", testPage: "console/3663/issue3663.html"},
{group: "console", uri: "console/3980/issue3980.js", desc: "Issue 3980: Clicking Clear in Console should stop profiling", testPage: "console/3980/issue3980.html"},
{group: "console", uri: "console/4322/issue4322.js", desc: "Issue 4322: console doesn't report errors", testPage: "console/4322/issue4322.html"},
{group: "console", uri: "console/4384/issue4384.js", desc: "Issue 4384: Profiler button is always disabled", testPage: "console/4384/issue4384.html"},
{group: "console", uri: "console/4621/issue4621.js", desc: "Multiple filters selectable in Console panel", testPage: "console/4621/issue4621.html"},
{group: "console", uri: "console/4658/issue4658.js", desc: "Console shows wrong file names.", testPage: "console/4658/issue4658.html"},
{group: "console", uri: "console/5026/issue5026.js", desc: "RegExp source isn't shown", testPage: "console/5026/issue5026.html"},
{group: "console", uri: "console/5033/issue5033.js", desc: "Return value from a function executed on the command line is not displayed.", testPage: "console/5033/issue5033.html"},
{group: "console", uri: "console/5135/issue5135.js", desc: "Display window.postMessage() calls in console", testPage: "console/5135/issue5135.html"},
{group: "console", uri: "console/5216/issue5216.js", desc: "\"Break On This Error\" missing from the context menu", testPage: "console/5216/issue5216.html" },
{group: "console", uri: "console/5235/issue5235.js", desc: "Don't allow to inspect computed style in CSS panel", testPage: "console/5235/issue5235.html" },
{group: "console", uri: "console/5359/issue5359.js", desc: "Use displayName in profiler", testPage: "console/5359/issue5359.html"},
{group: "console", uri: "console/5382/issue5382.js", desc: "Console.log display bug with nested arrays", testPage: "console/5382/issue5382.html"},
{group: "console", uri: "console/5655/issue5655.js", desc: "console panel width empty elements", testPage: "console/5655/issue5655.html"},
{group: "console", uri: "console/5786/issue5786.js", desc: "Show array-like objects differently than actual arrays", testPage: "console/5786/issue5786.html"},
{group: "console", uri: "console/5945/issue5945.js", desc: "Show source link for CSS errors", testPage: "console/5945/issue5945.html"},
{group: "console", uri: "console/6104/issue6104.js", desc: "Firebug should display DOMTokenList content", testPage: "console/6104/issue6104.html"},
{group: "console", uri: "console/6116/issue6116.js", desc: "undefined values are ignored in string formatting of console.log", testPage: "console/6116/issue6116.html"},
{group: "console", uri: "console/6356/issue6356.js", desc: "Value attribute doesn't show up in console: follow-ups", testPage: "console/6356/issue6356.html"},
{group: "console", uri: "console/6402/issue6402.js", desc: "Don't abuse the debugger service for injecting \"console\"", testPage: "console/6402/issue6402.html"},
{group: "console", uri: "console/6546/issue6546.js", desc: "Auto-focus Command Line when switching to the Console panel", testPage: "console/6546/issue6546.html"},
{group: "console", uri: "console/6778/issue6778.js", desc: "Cross-domain log messages aren't displayed within the console", testPage: "console/6778/issue6778.html"},
{group: "console", uri: "console/7068/issue7068.js", desc: "Firebug overwrites the Console object even when the Console Panel is disabled", testPage: "console/7068/issue7068.html"},
{group: "console", uri: "console/profiler/profiler.js", desc: "Test case for Profiler & IFrame", testPage: "console/profiler/profiler.html"},
{group: "console/spy", uri: "console/spy/2285/issue2285.js", desc: "support for content-type: multipart/x-mixed-replace", testPage: "console/spy/2285/issue2285.html" },
{group: "console/spy", uri: "console/spy/2462/issue2462.js", desc: "The firebug console still shows the xhr in progress if you abort it (via request.abort()) ", testPage: "console/spy/2462/issue2462.html" },
{group: "console/spy", uri: "console/spy/2712/issue2712.js", desc: "Gmail has network connections that report 200 Aborted", testPage: "console/spy/2712/issue2712.html" },
{group: "console/spy", uri: "console/spy/2868/issue2868.js", desc: "ajax response is not shown in the answer tab", testPage: "console/spy/2868/issue2868.html" },
{group: "console/spy", uri: "console/spy/4009/issue4009.js", desc: "XHR messages are different in the Net and Console panel", testPage: "console/spy/4009/issue4009.html" },
{group: "console/spy", uri: "console/spy/4085/issue4085.js", desc: "Errors inside an XmlHttpRequest.onReadyStateChange still fail silently", testPage: "console/spy/4085/issue4085.html" },
{group: "console/spy", uri: "console/spy/4171/issue4171.js", desc: "Expanding an XMLHttpRequest in Console tab before it ends makes JSON tab disappear", testPage: "console/spy/4171/issue4171.html" },
{group: "console/spy", uri: "console/spy/4738/issue4738.js", desc: "Open in new tab opens wrong url when reusing XMLHttpRequest objects", testPage: "console/spy/4738/issue4738.html" },
{group: "console/spy", uri: "console/spy/5049/issue5049.js", desc: "onreadystatechange fails for back-to-back XMLHTTP requests", testPage: "console/spy/5049/issue5049.html" },
{group: "console/api", uri: "console/api/2154/issue2154.js", desc: "Make the console API available in web workers", testPage: "console/api/2154/issue2154.html"},
{group: "console/api", uri: "console/api/6438/issue6438.js", desc: "Escaping percentage sign in console.log() junks the rest of the arguments", testPage: "console/api/6438/issue6438.html"},
{group: "console/api", uri: "console/api/6439/issue6439.js", desc: "Consider precision for Console API %f log pattern", testPage: "console/api/6439/issue6439.html"},
{group: "console/api", uri: "console/api/assert.js", desc: "Test for console.assert API.", testPage: "console/api/assert.html" },
{group: "console/api", uri: "console/api/clear.js", desc: "Test for console.clear API.", testPage: "console/api/clear.html" },
{group: "console/api", uri: "console/api/count.js", desc: "Test for console.count API.", testPage: "console/api/count.html" },
{group: "console/api", uri: "console/api/debug.js", desc: "Test for console.debug API.", testPage: "console/api/debug.html" },
{group: "console/api", uri: "console/api/dir.js", desc: "Test for console.dir API.", testPage: "console/api/dir.html" },
{group: "console/api", uri: "console/api/dirxml.js", desc: "Test for console.dirxml API.", testPage: "console/api/dirxml.html" },
{group: "console/api", uri: "console/api/error.js", desc: "Test for console.error API.", testPage: "console/api/error.html" },
{group: "console/api", uri: "console/api/exception.js", desc: "Test for console.exception API.", testPage: "console/api/exception.html" },
{group: "console/api", uri: "console/api/group.js", desc: "Test for console.group, console.collapsedGroup and console.groupEnd API.", testPage: "console/api/group.html" },
{group: "console/api", uri: "console/api/info.js", desc: "Test for console.info API.", testPage: "console/api/info.html" },
{group: "console/api", uri: "console/api/log.js", desc: "Test for console.log API.", testPage: "console/api/log.html" },
{group: "console/api", uri: "console/api/log-xpathresult.js", desc: "Test for console.log + XPathResult.", testPage: "console/api/log-xpathresult.html" },
{group: "console/api", uri: "console/api/profile.js", desc: "Test for console.profile and console.profileEnd API.", testPage: "console/api/profile.html" },
{group: "console/api", uri: "console/api/table.js", desc: "Test for console.table API.", testPage: "console/api/table.html" },
{group: "console/api", uri: "console/api/time.js", desc: "Test for console.time and console.timeEnd API.", testPage: "console/api/time.html" },
{group: "console/api", uri: "console/api/trace.js", desc: "Test for console.trace API.", testPage: "console/api/trace.html" },
{group: "console/api", uri: "console/api/warn.js", desc: "Test for console.warn API.", testPage: "console/api/warn.html" },
{group: "console/completion", uri: "console/completion/index/index.js", desc: "Completions involving []-access.", testPage: "console/completion/index/index.html"},
{group: "console/completion", uri: "console/completion/959/issue959.js", desc: "Issue 959: Enable auto-completion of built-in members", testPage: "console/completion/959/issue959.html" },
{group: "console/completion", uri: "console/completion/3394/issue3394.js", desc: "Issue 3394: TAB Key does not finish an autocomplete keyword in Gnome (Ubuntu)", testPage: "console/completion/3394/issue3394.html" },
{group: "console/completion", uri: "console/completion/3421/issue3421.js", desc: "Issue 3421: Autocompletion expression parsing is wrong", testPage: "console/completion/3421/issue3421.html" },
{group: "console/completion", uri: "console/completion/3466/issue3466.js", desc: "Issue 3466: Can not use dir() command in console's command line", testPage: "console/completion/3466/issue3466.html" },
{group: "console/completion", uri: "console/completion/3660/issue3660.js", desc: "Issue 3660: Implement pageUp/pageDown and mouseWheel for completion list", testPage: "console/completion/3660/issue3660.html" },
{group: "console/completion", uri: "console/completion/4233/issue4233.js", desc: "Issue 4233: [Large patch] Better auto-completion", testPage: "console/completion/4233/issue4233.html"},
{group: "console/completion", uri: "console/completion/5006/issue5006.js", desc: "Issue 5006: Switching panels does not correctly set the command line auto-completer", testPage: "console/completion/5006/issue5006.html"},
{group: "console/completion", uri: "console/completion/5416/issue5416.js", desc: "Issue 5416: Auto-completion for Command Line API", testPage: "console/completion/5416/issue5416.html"},
{group: "console/completion", uri: "console/completion/5493/issue5493.js", desc: "Issue 5493: Case-insensitive auto-completion", testPage: "console/completion/5493/issue5493.html"},
{group: "console/grouping", uri: "console/grouping/simpleLogs.js", desc: "Group console messages: simple logs", testPage: "console/grouping/simpleLogs.html"},
{group: "console/grouping", uri: "console/grouping/profiler.js", desc: "Group console messages: profiler", testPage: "console/grouping/profiler.html"},
{group: "console/grouping", uri: "console/grouping/cookies.js", desc: "Group console messages: cookies", testPage: "console/grouping/cookies.php"},
{group: "console/grouping", uri: "console/grouping/xhr.js", desc: "Group console messages: xhr", testPage: "console/grouping/xhr.html"},
{group: "console/grouping", uri: "console/grouping/groups.js", desc: "Group console messages: groups", testPage: "console/grouping/groups.html"},
{group: "console/errors", uri: "console/errors/6523/issue6523.js", desc: "JSD2: Show Stack Trace With Errors", testPage: "console/errors/6523/issue6523.html"},
{group: "console/grouping", uri: "console/grouping/6750/issue6750.js", desc: "Console message grouping happens across console clearing", testPage: "console/grouping/6750/issue6750.html"},
{group: "commandLine", uri: "commandLine/dom.js", desc: "Verify command line DOM access.", testPage: "commandLine/dom.html" },
{group: "commandLine", uri: "commandLine/objects.js", desc: "Page objects used on the command line", testPage: "commandLine/objects.html"},
{group: "commandLine", uri: "commandLine/55/issue55.js", desc: "Auto-completion for Command Editor", testPage: "commandLine/55/issue55.html" },
{group: "commandLine", uri: "commandLine/1854/issue1854.js", desc: "debug() sets breakpoints at comments", testPage: "commandLine/1854/issue1854.html" },
{group: "commandLine", uri: "commandLine/3363/issue3363.js", desc: "Issue 3363: groupCollapsed gets confused", testPage: "commandLine/3363/issue3363.html" },
{group: "commandLine", uri: "commandLine/3599/issue3599.js", desc: "Issue 3599: The value of undefined no longer show in the console", testPage: "commandLine/3599/issue3599.html"},
{group: "commandLine", uri: "commandLine/3703/issue3703.js", desc: "Issue 3703: Single node can't be accessed from an array returned by $$.", testPage: "commandLine/3703/issue3703.html"},
{group: "commandLine", uri: "commandLine/3709/issue3709.js", desc: "Issue 3709: Buggy autocompletion in small command line is messing with cursor placement", testPage: "commandLine/3709/issue3709.htm"},
{group: "commandLine", uri: "commandLine/4087/issue4087.js", desc: "Issue 4087: Contents of Command Line and Command Editor do not persist on page reload", testPage: "commandLine/4087/issue4087.html"},
{group: "commandLine", uri: "commandLine/4209/issue4209.js", desc: "Issue 4209: Object being listed as String", testPage: "commandLine/4209/issue4209.html"},
{group: "commandLine", uri: "commandLine/4217/issue4217.js", desc: "Shortcut \"Reenter Command\" doesn't work", testPage: "commandLine/4217/issue4217.html"},
{group: "commandLine", uri: "commandLine/4218/issue4218.js", desc: "Issue 4218: Command line history doesn't reset when entering duplicate command", testPage: "commandLine/4218/issue4218.html"},
{group: "commandLine", uri: "commandLine/4234/issue4234.js", desc: "Issue 4234: Object with array property showing as blank", testPage: "commandLine/4234/issue4234.html"},
{group: "commandLine", uri: "commandLine/4391/issue4391.js", desc: "Issue 4234: Can not use $ for jQuery in console", testPage: "commandLine/4391/issue4391.html"},
{group: "commandLine", uri: "commandLine/4434/issue4434.js", desc: "Issue 4434: autocomplete in console debugger does not recognize variables in catch block", testPage: "commandLine/4434/issue4434.html"},
{group: "commandLine", uri: "commandLine/4453/issue4453.js", desc: "Issue 4453: Content of the command line can't be cleared.", testPage: "commandLine/4453/issue4453.html"},
{group: "commandLine", uri: "commandLine/5042/issue5042.js", desc: "Issue 5042: Command Line should not prevent tabbing out when empty", testPage: "commandLine/5042/issue5042.html"},
{group: "commandLine", uri: "commandLine/5130/issue5130.js", desc: "Array indices are sorted alphabetically instead of numerically", testPage: "commandLine/5130/issue5130.html"},
{group: "commandLine", uri: "commandLine/5535/issue5535.js", desc: "Execute Command Selection", testPage: "commandLine/5535/issue5535.html"},
{group: "commandLine", uri: "commandLine/5779/issue5779.js", desc: "Allow to set the root element in $ and $$", testPage: "commandLine/5779/issue5779.html"},
{group: "commandLine", uri: "commandLine/5873/issue5873.js", desc: "Issue 5873: Integrate FireClosure", testPage: "commandLine/5873/issue5873.html"},
{group: "commandLine", uri: "commandLine/5878/issue5878.js", desc: "Issue 5878: proposal for a command line method: include(url)", testPage: "commandLine/5878/issue5878.html"},
{group: "commandLine", uri: "commandLine/5951/issue5951.js", desc: "Title of array-like objects should be clickable", testPage: "commandLine/5951/issue5951.html"},
{group: "commandLine", uri: "commandLine/6291/issue6291.js", desc: "use evalInGlobalWithBindings() instead of eval()", testPage: "commandLine/6291/issue6291.html"},
{group: "commandLine", uri: "commandLine/6422/issue6422.js", desc: "Add a right click option for accessing objects in the Command Line", testPage: "commandLine/6422/issue6422.html"},
{group: "commandLine", uri: "commandLine/6522/issue6522.js", desc: "Issue 6522: Implement the getEventListeners command line API", testPage: "commandLine/6522/issue6522.html"},
{group: "commandLine", uri: "commandLine/6525/issue6525.js", desc: "Expose non-chrome objects for 'Use in Command Line' in Net and Cookies panels", testPage: "commandLine/6525/issue6525.php"},
{group: "commandLine", uri: "commandLine/6920/issue6920.js", desc: "Pretty print for the Command Editor", testPage: "commandLine/6920/issue6920.html"},
{group: "commandLine/api", uri: "commandLine/api/api.js", desc: "Verify command line APIs.", testPage: "commandLine/api/api.html" },
{group: "commandLine/api", uri: "commandLine/api/$x.js", desc: "Verify command line $x API.", testPage: "commandLine/api/$x.html" },
{group: "commandLine/api", uri: "commandLine/api/cd.js", desc: "Verify command line cd() method.", testPage: "commandLine/api/cd.html" },
{group: "commandLine/api", uri: "commandLine/api/debug.js", desc: "Verify command line debug API.", testPage: "commandLine/api/debug.html" },
{group: "commandLine/api", uri: "commandLine/api/monitorEvents.js", desc: "Verify command line monitorEvents API.", testPage: "commandLine/api/monitorEvents.html" },
{group: "commandLine/api", uri: "commandLine/api/profile.js", desc: "Verify command line profile & profileEnd API.", testPage: "commandLine/api/profile.html" },
{group: "commandLine/api", uri: "commandLine/api/help.js", desc: "Verify command line help API", testPage: "commandLine/api/help.html"},
{group: "commandLine/api", uri: "commandLine/api/dir.js", desc: "Verify command line dir API.", testPage: "commandLine/api/dir.html" },
{group: "commandLine/api", uri: "commandLine/api/dirxml.js", desc: "Verify command line dirxml API.", testPage: "commandLine/api/dirxml.html" },
{group: "commandLine/api", uri: "commandLine/api/$_.js", desc: "Verify command line $_ API.", testPage: "commandLine/api/$_.html" },
{group: "commandLine/api", uri: "commandLine/api/monitor.js", desc: "Verify command line monitor API.", testPage: "commandLine/api/monitor.html" },
{group: "commandLine/completion", uri: "commandLine/completion/completion.js", desc: "Auto-completion", testPage: "commandLine/completion/completion.html" },
{group: "html", uri: "html/breakpoints/breakOnElement.js", desc: "Mutation breakpoints test", testPage: "html/breakpoints/breakOnElement.html"},
{group: "html", uri: "html/breakpoints/breakOnElementCB.js", desc: "Mutation breakpoints test (Chromebug active)", testPage: "html/breakpoints/breakOnElement.html"},
{group: "html", uri: "html/breakpoints/breakOnNext.js", desc: "Mutation breakpoints test", testPage: "html/breakpoints/breakOnNext.html"},
{group: "html", uri: "html/breakpoints/breakOnNextCB.js", desc: "Mutation breakpoints test (Chromebug active)", testPage: "html/breakpoints/breakOnNext.html"},
{group: "html", uri: "html/breakpoints/5316/issue5316.js", desc: "Break on HTML mutation works only if the HTML panel is selected", testPage: "html/breakpoints/5316/issue5316.html"},
{group: "html", uri: "html/onMutate.js", desc: "Html Mutation test", testPage: "html/onMutate.html"},
{group: "html", uri: "html/2183/issue2183.js", desc: "Editing a text node with \"Show Full Text\" off displays cropped text instead of full text", testPage: "html/2183/issue2183.html"},
{group: "html", uri: "html/2426/issue2426.js", desc: "Copy XPath should include namespace", testPage: "html/2426/issue2426.html"},
{group: "html", uri: "html/3159/issue3159.js", desc: "Show numeric character reference of MathML", testPage: "html/3159/issue3159.html"},
{group: "html", uri: "html/3251/issue3251.js", desc: "Alt + double-clicking opens the selected node instead of the double-clicked node in Edit Mode", testPage: "html/3251/issue3251.html"},
{group: "html", uri: "html/3296/issue3296.js", desc: "Form's action doesn't change and it isn't shown in HTML panel", testPage: "html/3296/issue3296.html"},
{group: "html", uri: "html/3700/issue3700.js", desc: "Add auto-completion for HTML attributes", testPage: "html/3700/issue3700.html"},
{group: "html", uri: "html/4542/issue4542.js", desc: "Quotes Issue With JavaScript Function Calls Inside Inline Event Handlers", testPage: "html/4542/issue4542.html"},
{group: "html", uri: "html/4626/issue4626.js", desc: "Display of doctype for frames", testPage: "html/4626/issue4626.html"},
{group: "html", uri: "html/4669/issue4669.js", desc: "HTML tree doesn't expand completely for XML files", testPage: "html/4669/issue4669.xml"},
{group: "html", uri: "html/4670/issue4670.js", desc: "Nodes of XML files are always shown as hidden", testPage: "html/4670/issue4670.xml"},
{group: "html", uri: "html/4675/issue4675.js", desc: "Expanding all tags via context menu option shouldn't expand script, style and link tags", testPage: "html/4675/issue4675.html"},
{group: "html", uri: "html/4826/issue4826.js", desc: "Changing the ID of a node in HTML Panel doesn't update Element Path", testPage: "html/4826/issue4826.html"},
{group: "html", uri: "html/4837/issue4837.js", desc: "Editing a node value doesn't update inside HTML panel", testPage: "html/4837/issue4837.html"},
{group: "html", uri: "html/5058/issue5058.js", desc: "Edit HTML button doesn't work", testPage: "html/5058/issue5058.html"},
{group: "html", uri: "html/5255/issue5255.js", desc: "Adding elements through Edit HTML shows them in the wrong place", testPage: "html/5255/issue5255.html"},
{group: "html", uri: "html/5358/issue5358.js", desc: "Allow pasting HTML into the HTML panel", testPage: "html/5358/issue5358.html" },
{group: "html", uri: "html/5448/issue5448.js", desc: "normalize() breaks display of text nodes with entities", testPage: "html/5448/issue5448.html"},
{group: "html", uri: "html/5483/issue5483.js", desc: "Image previews in HTML panel missing on hover", testPage: "html/5483/issue5483.html"},
{group: "html", uri: "html/5504/issue5504.js", desc: "New attributes default to undefined='undefined'", testPage: "html/5504/issue5504.html"},
{group: "html", uri: "html/5506/issue5506.js", desc: "Element path doesn't get updated when changing elements in Edit mode", testPage: "html/5506/issue5506.html" },
{group: "html", uri: "html/5755/issue5755.js", desc: "Inline editing of cropped attribute values shows the cropped value", testPage: "html/5755/issue5755.html" },
{group: "html", uri: "html/6708/issue6708.js", desc: "Add a shortcut for editing the selected HTML panel element", testPage: "html/6708/issue6708.html" },
{group: "html", uri: "html/6744/issue6744.js", desc: "List all classes of an element inside the Element Path", testPage: "html/6744/issue6744.html" },
{group: "html/events", uri: "html/events/5440/issue5440.js", desc: "Integrate EventBug into Firebug", testPage: "html/events/5440/issue5440.html"},
{group: "html/events", uri: "html/events/disabling.js", desc: "Disabling/enabling event listeners", testPage: "html/events/disabling.html"},
{group: "html/layout", uri: "html/layout/5885/issue5885.js", desc: "Layout side panel doesn't refresh data when resizing browser window", testPage: "html/layout/5885/issue5885.html" },
{group: "html/style", uri: "html/style/537/issue537.js", desc: "Pseudo-elements are not displayed in Style side panel", testPage: "html/style/537/issue537.html"},
{group: "html/style", uri: "html/style/1189/issue1189.js", desc: "Display errors of inherited CSS styles in combination with CSS shorthand properties", testPage: "html/style/1189/issue1189.html"},
{group: "html/style", uri: "html/style/2440/issue2440.js", desc: "Duplicate stylesheet refs", testPage: "html/style/2440/issue2440.html"},
{group: "html/style", uri: "html/style/2495/issue2495.js", desc: "The rendered font should be highlighted in Style side panel", testPage: "html/style/2495/issue2495.html"},
{group: "html/style", uri: "html/style/3230/issue3230.js", desc: "Pseudo-classes are not persistently shown in Style side panel", testPage: "html/style/3230/issue3230.html"},
{group: "html/style", uri: "html/style/4470/issue4470.js", desc: "Preview for CSS gradients", testPage: "html/style/4470/issue4470.html"},
{group: "html/style", uri: "html/style/4583/issue4583.js", desc: "Overwritten percental styles are not striked out", testPage: "html/style/4583/issue4583.html"},
{group: "html/style", uri: "html/style/5438/issue5438.js", desc: "Allow jumping from web font usage in Style side panel to its definition", testPage: "html/style/5438/issue5438.html"},
{group: "html/style", uri: "html/style/5461/issue5461.js", desc: "When copying selected parts from Style side panel don't copy source link or inherited styles header", testPage: "html/style/5461/issue5461.html"},
{group: "html/style", uri: "html/style/5654/issue5654.js", desc: "Style side panel doesn't display CSS rules after reload", testPage: "html/style/5654/issue5654.html"},
{group: "html/style", uri: "html/style/5672/issue5672.js", desc: "Missing color and image context menu items", testPage: "html/style/5672/issue5672.html" },
{group: "html/style", uri: "html/style/5859/issue5859.js", desc: "Delete \"element.style\" is broken", testPage: "html/style/5859/issue5859.html"},
{group: "html/style", uri: "html/style/6281/issue6281.js", desc: "Placeholder rules are no longer displayed in HTML Style tab.", testPage: "html/style/6281/issue6281.html"},
{group: "html/style", uri: "html/style/6673/issue6673.js", desc: "Preview of 'currentcolor' is incorrect", testPage: "html/style/6673/issue6673.html"},
{group: "inspector", uri: "inspector/2212/issue2212.js", desc: "Delete elements while inspecting", testPage: "inspector/2212/issue2212.html"},
{group: "css", uri: "css/1338/issue1338.js", desc: "Increment CSS values at least significant digit", testPage: "css/1338/issue1338.html"},
{group: "css", uri: "css/2967/issue2967.js", desc: "CSS on in SVG placed in a mixed XHTML+SVG document does not show up on CSS tab", testPage: "css/2967/issue2967.xml"},
{group: "css", uri: "css/2976/issue2976.js", desc: "Copy Style Declaration context menu option", testPage: "css/2976/issue2976.html"},
{group: "css", uri: "css/2978/issue2978.js", desc: "Enhancement: Copy CSS path from selected element", testPage: "css/2978/issue2978.html"},
{group: "css", uri: "css/3303/issue3303.js", desc: "Up/Down key working incorrectly for fonts when editing CSS", testPage: "css/3303/issue3303.html"},
{group: "css", uri: "css/3652/issue3652.js", desc: "CSS autocomplete is broken", testPage: "css/3652/issue3652.html"},
{group: "css", uri: "css/3671/issue3671.js", desc: "CSS autocomplete globals", testPage: "css/3671/issue3671.html"},
{group: "css", uri: "css/3673/issue3673.js", desc: "warnings from FirebugReps.Warning should have coresponding actions", testPage: "css/3673/issue3673.html"},
{group: "css", uri: "css/3688/issue3688.js", desc: "The CSS panel is sometimes displaying styles coming from Firebug", testPage: "css/3688/issue3688.html"},
//{group: "css", uri: "css/4180/issue4180.js", category:"fails", desc: "Incorrect background value order", testPage: "css/4180/issue4180.html"},
{group: "css", uri: "css/4411/issue4411.js", desc: "No infotip for rgba, hsl and hsla CSS color values", testPage: "css/4411/issue4411.html"},
{group: "css", uri: "css/4460/issue4460.js", desc: "Add CSS3 box-sizing property to Layout side panel", testPage: "css/4460/issue4460.html"},
{group: "css", uri: "css/4543/issue4543.js", desc: "Don't jump to next CSS property value's inline editor, if a semicolon is entered inside a string", testPage: "css/4543/issue4543.html"},
{group: "css", uri: "css/4683/issue4683.js", desc: "Font preview on mouseover", testPage: "css/4683/issue4683.html"},
{group: "css", uri: "css/4893/issue4893.js", desc: "CSS panel doesn't display contents of CSS file after reload", testPage: "css/4893/issue4893.html"},
{group: "css", uri: "css/5000/issue5000.js", desc: "Add option to delete CSS rule", testPage: "css/5000/issue5000.html"},
{group: "css", uri: "css/5177/issue5177.js", desc: "Allow colors to be changed using Up/Down keys", testPage: "css/5177/issue5177.html"},
{group: "css", uri: "css/5244/issue5244.js", desc: "Allow CSS rules other than CSSStyleRules to be inspected inside the CSS panel", testPage: "css/5244/issue5244.html"},
{group: "css", uri: "css/5262/issue5262.js", desc: "Show @charset rules inside CSS panel", testPage: "css/5262/issue5262.html"},
{group: "css", uri: "css/5277/issue5277.js", desc: "Display @import rule media queries and allow editing them", testPage: "css/5277/issue5277.html"},
{group: "css", uri: "css/5412/issue5412.js", desc: "Auto-completion for CSS selectors", testPage: "css/5412/issue5412.html"},
{group: "css", uri: "css/5430/issue5430.js", desc: "Show @namespace rules inside CSS panel", testPage: "css/5430/issue5430.html"},
{group: "css", uri: "css/5469/issue5469.js", desc: "Add units when changing the length '0' with up/down keys", testPage: "css/5469/issue5469.html"},
{group: "css", uri: "css/5507/issue5507.js", desc: "Allow displaying original color values", testPage: "css/5507/issue5507.html"},
{group: "css", uri: "css/5644/issue5644.js", desc: "Editing a disabled property makes another", testPage: "css/5644/issue5644.html"},
{group: "css", uri: "css/5956/issue5956.js", desc: "Allow copying single CSS properties", testPage: "css/5956/issue5956.html"},
{group: "css", uri: "css/5987/issue5987.js", desc: "Infotip isn't displayed for images with parentheses and escaped characters in their name", testPage: "css/5987/issue5987.html"},
{group: "css", uri: "css/6054/issue6054.js", desc: "Colors are always copied in rgb() format", testPage: "css/6054/issue6054.html"},
{group: "css", uri: "css/6282/issue6282.js", desc: "CSS panel fails on interpreting @page", testPage: "css/6282/issue6282.html"},
{group: "css", uri: "css/6405/issue6405.js", desc: "\"Get Matching Elements\" must not be displayed for @-rules", testPage: "css/6405/issue6405.html"},
{group: "css", uri: "css/6531/issue6531.js", desc: "Location Menu is not displayed when there are just CSS files in frames", testPage: "css/6531/issue6531.html"},
{group: "css", uri: "css/6582/issue6582-1.js", desc: "Removing style sheets dynamically breaks CSS panel", testPage: "css/6582/issue6582-1.html"},
{group: "css", uri: "css/6582/issue6582-2.js", desc: "Removing style sheets dynamically breaks CSS panel", testPage: "css/6582/issue6582-2.html"},
{group: "css", uri: "css/6841/issue6841.js", desc: "Use platform API for CSS autocompletion", testPage: "css/6841/issue6841.html"},
{group: "css", uri: "css/atRules/atRules.js", desc: "@-rules display within CSS panel", testPage: "css/atRules/atRules.html"},
{group: "css/computed", uri: "css/computed/2916/issue2916.js", desc: "Trace Styles Feature", testPage: "css/computed/2916/issue2916.html"},
{group: "css/computed", uri: "css/computed/3207/issue3207.js", desc: "CSS properties in the \"Computed\" tab are not updated correctly", testPage: "css/computed/3207/issue3207.html"},
{group: "css/computed", uri: "css/computed/4132/issue4132.js", desc: "Only show applied styles in Computed side panel", testPage: "css/computed/4132/issue4132.html"},
{group: "css/computed", uri: "css/computed/5449/issue5449.js", desc: "Show infotips in Computed side panel", testPage: "css/computed/5449/issue5449.html"},
{group: "css/computed", uri: "css/computed/5451/issue5451.js", desc: "Persist scrolling in Computed side panel", testPage: "css/computed/5451/issue5451.html"},
{group: "css/computed", uri: "css/computed/5454/issue5454.js", desc: "Scroll to see the props when a group is expanded inside the Computed side panel", testPage: "css/computed/5454/issue5454.html"},
{group: "css/computed", uri: "css/computed/5879/issue5879.js", desc: "Crop long CSS values in Computed side panel", testPage: "css/computed/5879/issue5879.html"},
{group: "css/nestedRules", uri: "css/nestedRules/atMediaAutocomplete.js", desc: "@media rules auto-completion", testPage: "css/nestedRules/atMediaAutocomplete.html"},
{group: "css/nestedRules", uri: "css/nestedRules/atMediaStyleEditing.js", desc: "@media rules style editing", testPage: "css/nestedRules/atMediaStyleEditing.html"},
{group: "css/selectors", uri: "css/selectors/6540/issue6540.js", desc: "Dynamically update selector groups when framed elements change", testPage: "css/selectors/6540/issue6540.html"},
{group: "css/selectors", uri: "css/selectors/6058/issue6058.js", desc: "Add auto-completion for selectors for elements in iframes", testPage: "css/selectors/6058/issue6058.html"},
{group: "script", uri: "script/debuggerKeyword/testDriver1.6.js", desc: "Break on debugger keyword in various contexts.", testPage: "script/debuggerKeyword/testPage.html"},
{group: "script", uri: "script/dynamicScriptEval/test1.js", desc: "Dynamic script evaluation", testPage: "script/dynamicScriptEval/test1.html"},
{group: "script", uri: "script/refreshHaltedDebugger.js", desc: "Refreshing page when FB is halted breaks debugger.", testPage: "script/refreshHaltedDebugger.html" },
{group: "script", uri: "script/singleStepping/drive.js", desc: "Single Stepping Tests", testPage: "script/singleStepping/index.html" },
{group: "script", uri: "script/1425/issue1425.js", desc: "Issue1425: New Crippling Bug in 1.4a12 - Script source is incomplete for some JavaScripts", testPage: "script/1425/issue1425.html"},
{group: "script", uri: "script/1483/issue1483.js", desc: "Issue 1483: Scripts fail to load when page reloaded during paused execution", testPage: "script/1483/issue1483.html" },
{group: "script", uri: "script/1575/issue1575Driver.js", desc: "New watch expression can't be created when breakpoint is active", testPage: "script/1575/issue1575.htm" },
{group: "script", uri: "script/2279/errorBreakpoints.js", desc: "Issue 2279; Error Breakpoint can't be toggled off.", testPage: "script/2279/testErrorBreakpoints.html" },
{group: "script", uri: "script/2638/issue2638.js", desc: "Show info popup when hovering a breakpoint / execution indicator icon", testPage: "script/2638/issue2638.html"},
{group: "script", uri: "script/2871/issue2871.js", desc: "Issue 2871: Bug in watching variables defined in a javascript closure prior to function execution", testPage: "script/2871/issue2871.html"},
{group: "script", uri: "script/3077/issue3077.js", desc: "Line by line debug stops with window.console.log", testPage: "script/3077/issue3077.html"},
{group: "script", uri: "script/3309/issue3309.js", desc: "Issue3309: Wrong panel message in Script Panel, if page doesn't contain JavaScript", testPage: "script/3309/issue3309.html"},
{group: "script", uri: "script/3400/issue3400.js", desc: "Issue 3400: Debugger buttons not visible when long stack trace", testPage: "script/3400/issue3400.html"},
{group: "script", uri: "script/3402/issue3402.js", desc: "Issue 3402: Can't create/remove a breakpoint", testPage: "script/3402/issue3402.html"},
{group: "script", uri: "script/3918/AsyncJSD.js", desc: "Async JSD for FF4.0", testPage: "script/3918/AsyncJSDPage.html"},
{group: "script", uri: "script/3985/issue3985.js", desc: "Can't break on code inserted twice using iframes, in one iframe", testPage: "script/3985/issue3985.html"},
{group: "script", uri: "script/4213/issue4213.js", desc: "Script panel's location button is not updated", testPage: "script/4213/issue4213.html"},
{group: "script", uri: "script/4724/issue4724.js", desc: ""Disable Breakpoint" is not checked on disabled breakpoints", testPage: "script/4724/issue4724.html"},
{group: "script", uri: "script/4816/issue4816.js", desc: "Script panel claims No JavaScript when it means you're stopped on a breakpoint on some other tab", testPage: "script/4816/issue4816.html"},
{group: "script", uri: "script/4818/issue4818.js", desc: "frame.eval fails for everthing but the newest frame of the stack", testPage: "script/4818/issue4818.html"},
{group: "script", uri: "script/4932/issue4932.js", desc: "The Script panel shows No Javascript on this page even if they are scripts within an iframe", testPage: "script/4932/issue4932.html"},
{group: "script", uri: "script/5044/issue5044.js", desc: "Shortcut for Break On Next", testPage: "script/5044/issue5044.html"},
{group: "script", uri: "script/6476/issue6476.js", desc: "Change directive for sourceURL", testPage: "script/6476/issue6476.html"},
{group: "script", uri: "script/6566/issue6566.js", desc: "getEventListeners command provides wrong source link", testPage: "script/6566/issue6566.html"},
{group: "script/breakpoints", uri: "script/breakpoints/4854/issue4854.js", desc: "Issue 4854: XHR breakpoints can't be removed from Breakpoints side panel", testPage: "script/breakpoints/4854/issue4854.html"},
{group: "script/breakpoints", uri: "script/breakpoints/4889/issue4889.js", desc: "Issue 4889: Folding for breakpoint categories", testPage: "script/breakpoints/4889/issue4889.html"},
{group: "script/breakpoints", uri: "script/breakpoints/5291/issue5291.js", desc: "Issue 5291: Breakpoint condition auto-completion should use variables in scope", testPage: "script/breakpoints/5291/issue5291.html"},
{group: "script/breakpoints", uri: "script/breakpoints/5525/issue5525.js", desc: "Setting error breakpoints causes error in Breakpoints side panel", testPage: "script/breakpoints/5525/issue5525.html"},
{group: "script/breakpoints", uri: "script/breakpoints/6253/issue6253.js", desc: "Issue 6253: Auto-correction of breakpoints location", testPage: "script/breakpoints/6253/issue6253.html" },
{group: "script/breakpoints", uri: "script/breakpoints/7295/issue7295.js", desc: "Detaching and attaching backend thread without page-reload disables breakpoints", testPage: "script/breakpoints/7295/issue7295.html" },
{group: "script/breakpoints", uri: "script/breakpoints/7372/issue7372.js", desc: "Turning off 'Log Calls' for a line hides breakpoints on that line", testPage: "script/breakpoints/7372/issue7372.html" },
{group: "script/breakpoints", uri: "script/breakpoints/7373/issue7373.js", desc: "Debugger breaks on monitored functions", testPage: "script/breakpoints/7373/issue7373.html" },
{group: "script/breakpoints", uri: "script/breakpoints/7470/issue7470.js", desc: "Issue 7470: Breakpoint conditions are disregarded", testPage: "script/breakpoints/7470/issue7470.html"},
{group: "script/breakpoints", uri: "script/breakpoints/7478/issue7478.js", desc: "Breakpoint condition editor doesn't open when called from Script panel context menu ", testPage: "script/breakpoints/7478/issue7478.html" },
{group: "script/callstack", uri: "script/callstack/1811/issue1811.js", desc: "Issue 1811: Add prettyName/displayName support to Profiler output and Stacks", testPage: "script/callstack/1811/issue1811.html"},
{group: "script/callstack", uri: "script/callstack/3596/issue3596.js", desc: "Issue 3596: Stack trace forgets where it is", testPage: "script/callstack/3596/issue3596.html"},
{group: "script/callstack", disabled: "See issue 6789", uri: "script/callstack/3645/issue3645.js", desc: "Issue 3645: _firebugRerun and friends need to be elided from the panel status path", testPage: "script/callstack/3645/issue3645.html"},
{group: "script/callstack", uri: "script/callstack/4415/issue4415.js", desc: "Issue 4415: Callstack panel is broken", testPage: "script/callstack/4415/issue4415.html"},
{group: "script/callstack", disabled: "See issue 6789", uri: "script/callstack/4845/issue4845.js", desc: "Rerun should have a shortcut like the other debugging options", testPage: "script/callstack/4845/issue4845.html"},
{group: "script/callstack", uri: "script/callstack/5400/issue5400.js", desc: "Firebug shows wrong (previous) stacktrace", testPage: "script/callstack/5400/issue5400.html"},
{group: "script/callstack", uri: "script/callstack/5544/issue5544.js", desc: "Issue 5544: Can't set error breakpoint for shallow error", testPage: "script/callstack/5544/issue5544.html"},
{group: "script/stepping", uri: "script/stepping/StepIntoInIFrame/test-driver.js", desc: "Step into function within an iframe", testPage: "script/stepping/StepIntoInIFrame/test.html"},
{group: "script/stepping", disabled: "See bug 970469", uri: "script/stepping/1179/issue1179.js", desc: "Actions do not move the program counter after Step Into if breakpoint is on first line of function", testPage: "script/stepping/1179/issue1179.html"},
{group: "script/stepping", uri: "script/stepping/1179/issue1179-2.js", desc: "Actions do not move the program counter after Step Into if breakpoint is on first line of function", testPage: "script/stepping/1179/issue1179-2.html"},
{group: "script/stepping", disabled: "See issue 6785", uri: "script/stepping/4509/issue4509.js", desc: "\"Run to line\" debugging shortcut is activated neither by Ctrl-click nor by middle-click on line number", testPage: "script/stepping/4509/issue4509.html"},
{group: "script/stepping", uri: "script/stepping/4839/issue4839.js", desc: "Script execution stopped at wrong line", testPage: "script/stepping/4839/issue4839.html"},
{group: "script/stepping", uri: "script/stepping/4880/issue4880.js", desc: "Step into function with frames, does not work", testPage: "script/stepping/4880/issue4880.html"},
{group: "script/watch", uri: "script/watch/4934/issue4934.js", desc: "Issue 4934: Auto-completion should work even in the Watch panel", testPage: "script/breakpoints/4934/issue4934.html"},
{group: "script/watch", uri: "script/watch/5009/issue5009.js", desc: "Watch side panel shows \"Command line closed?\"", testPage: "script/watch/5009/issue5009.html"},
{group: "script/watch", uri: "script/watch/5019/issue5019.js", desc: "Editing a variable in the Watch window doesn't work", testPage: "script/watch/5019/issue5019.html"},
{group: "script/watch", uri: "script/watch/5336/issue5336.js", desc: "HTMLCollection object is undefined in the Script panel", testPage: "script/watch/5336/issue5336.html"},
{group: "script/watch", uri: "script/watch/5639/issue5639.js", desc: "Allow deleting all watch expressions at once", testPage: "script/watch/5639/issue5639.html"},
{group: "script/watch", uri: "script/watch/6855/issue6855.js", desc: "Display the returned value or the exception thrown", testPage: "script/watch/6855/issue6855.html"},
{group: "script/watch", uri: "script/watch/7332/issue7332.js", desc: "Cropped string can't be expanded in the Watch panel", testPage: "script/watch/7332/issue7332.html"},
{group: "dom", uri: "dom/attributes/attributes.js", desc: "Better DOM representation for element attributes", testPage: "dom/attributes/attributes.html" },
{group: "dom", uri: "dom/breakpoints/6432/issue6432.js", desc: "Long string properties don't allow to set a breakpoint for them", testPage: "dom/breakpoints/6432/issue6432.html" },
{group: "dom", uri: "dom/breakpoints/breakOnProperty.js", desc: "Break on property change", testPage: "dom/breakpoints/breakOnProperty.html" },
{group: "dom", uri: "dom/breakpoints/breakOnGlobalProperty.js",desc: "Break on global property change", testPage: "dom/breakpoints/breakOnGlobalProperty.html" },
{group: "dom", uri: "dom/breakpoints/breakOnPropertyCB.js", desc: "Break on property change (Chromebug active)", testPage: "dom/breakpoints/breakOnProperty.html" },
{group: "dom", uri: "dom/storage/storage.js", desc: "DOM Storage", testPage: "dom/storage/storage.html" },
{group: "dom", uri: "dom/1738/issue1738.js", desc: "Properties that don't just have getters must not be displayed as such", testPage: "dom/1738/issue1738.html" },
{group: "dom", uri: "dom/2558/issue2558.js", desc: "Issue 2558: Function arguments not expandable in watch panel even though the object is array-like", testPage: "dom/2558/issue2558.html" },
{group: "dom", uri: "dom/2772/issue2772.js", desc: "Issue 2772: DOM panel on reload no longer selects previous selected node.", testPage: "dom/2772/issue2772.html" },
{group: "dom", uri: "dom/3122/issue3122.js", desc: "Issue 3122: Catch variables are not listed in the watch panel on break ('err' expr in the watch panel).", testPage: "dom/3122/issue3122.html" },
{group: "dom", uri: "dom/3597/issue3597.js", desc: "Issue 3597: Objects turned into string have their DOM panel representation messed up", testPage: "dom/3597/issue3597.html" },
{group: "dom", uri: "dom/4386/issue4386.js", desc: "DOM breakpoints can't be deleted or disabled/enabled from within the Breakpoints Side Panel", testPage: "dom/4386/issue4386.html" },
{group: "dom", uri: "dom/5247/issue5247.js", desc: "Add reps for different types of CSSRules", testPage: "dom/5247/issue5247.html" },
{group: "dom", uri: "dom/6283/issue6283.js", desc: "Console and DOM panel fail on interpreting @page", testPage: "dom/6283/issue6283.html" },
{group: "dom", uri: "dom/6481/issue6481.js", desc: "Closures no longer shown in DOM panel", testPage: "dom/6481/issue6481.html" },
{group: "dom", uri: "dom/6895/issue6895.js", desc: "Only select the string without quotes when editing a string property", testPage: "dom/6895/issue6895.html" },
{group: "dom", uri: "dom/6985/issue6985.js", desc: "Correctly categorize DOM properties and methods", testPage: "dom/6985/issue6985.html" },
{group: "dom", uri: "dom/sidePanel/sidePanel.js", desc: "Existence of the side panel", testPage: "dom/sidePanel/sidePanel.html" },
{group: "net", uri: "net/activation/activation.js", desc: "Verify Net panel content after activation on more tabs (Firebug opened within Firefox)." },
{group: "net", uri: "net/breakpoints/breakOnXHR.js", desc: "XHR Conditional Breakpoints", testPage: "net/breakpoints/breakOnXHR.html" },
{group: "net", uri: "net/breakpoints/breakOnXHRCB.js", desc: "XHR Conditional Breakpoints (Chromebug active)", testPage: "net/breakpoints/breakOnXHR.html" },
{group: "net", uri: "net/listeners/netInfoBodyListener-1.6.js",desc: "netInfoBody listener test", testPage: "net/listeners/netInfoBodyListener-1.6.html" },
{group: "net", uri: "net/url-params/test.js", desc: "Encoded ampersands '&' and the Params tab.", testPage: "net/url-params/test.html" },
{group: "net", uri: "net/369/issue369.1.6.js", desc: "Issue 369: Inspect JSON data in HTTP responses", testPage: "net/369/issue369.1.6.htm" },
{group: "net", uri: "net/372/issue372-1.6.js", desc: "Issue 372: Outgoing XML isn't displayed in 'post'-tab", testPage: "net/372/issue372-1.6.html" },
{group: "net", uri: "net/601/issue601.js", desc: "Issue 601: XHR in console shows stale/cached output", testPage: "net/601/issue601.html"},
{group: "net", uri: "net/654/issue654.js", desc: "IP address included on a Net line entry", testPage: "net/654/issue654.html" },
{group: "net", uri: "net/700/issue700-1.6.js", desc: "Issue 700: HTML preview for net responses", testPage: "net/700/issue700-1.6.html" },
{group: "net", uri: "net/846/issue846.1.6.js", desc: "Issue 846: Wrong data with XMLHttpRequest", testPage: "net/846/Issue846.1.6.htm" },
{group: "net", uri: "net/1256/issue1256.js", desc: "Issue 1256: Firebug displays spaces as plus signs in POST fields", testPage: "net/1256/issue1256.html" },
{group: "net", uri: "net/1275/issue1275.js", desc: "Issue 1275: firebug does not show JSON answers from server", testPage: "net/1275/issue1275.htm" },
{group: "net", uri: "net/1299/issue1299Driver.js", desc: "Issue 1299: Failed to load source for sourceFile." },
{group: "net", uri: "net/1308/issue1308-1.6.js", desc: "Issue 1308: Missing URL-Encoding of reserved characters when using 'Copy Location with Parameters' from Net Panel", testPage: "net/1308/issue1308-1.6.html" },
{group: "net", uri: "net/1456/issue1456.js", desc: "Issue 1456: XMLHttpRequest Я Response totally wrong", testPage: "net/1456/issue1456.htm" },
{group: "net", uri: "net/1461/issue1461.js", desc: "Issue 1461: Failed to load source for sourceFile (FF 3.0.6 FireBug 1.3.2)", testPage: "net/1461/issue1461.html" },
{group: "net", uri: "net/1468/issue1468.js", desc: "Issue 1468: File Locking on File upload when firebug is installed", testPage: "net/1468/issue1468.html" },
{group: "net", uri: "net/1764/issue1764.js", desc: "Net panel misses page load.", testPage: "net/1764/issue1764-1.html" },
{group: "net", uri: "net/1862/issue1862.js", desc: "Enhancement :: create xml tab in request item of net tab", testPage: "net/1862/issue1862.html" },
{group: "net", uri: "net/1867/issue1867.js", desc: "File locked after upload: after uploading a file to a website (via a form) the file handle is not closed", testPage: "net/1867/issue1867.html" },
{group: "net", uri: "net/1927/issue1927.js", desc: "Firebug 1.4.0b3 concatenates AJAX responses if HTTP authentication is required for the resource.", testPage: "net/1927/issue1927.html" },
{group: "net", uri: "net/2221/issue2221-1.5.js", desc: "Issue 2221: POST variables disappear if they contain non-english characters", testPage: "net/2221/issue2221.html" },
{group: "net", uri: "net/2297/issue2297.js", desc: "Reporting failure to load javascript", testPage: "net/2297/issue2297.html" },
{group: "net", uri: "net/2209/issue2209.js", desc: "JSONP responses do not show the JSON tab", testPage: "net/2209/issue2209.html" },
{group: "net", uri: "net/2209/issue2209-2.js", desc: "JSONP responses do not show the JSON tab (JSON with wrong content-type)", testPage: "net/2209/issue2209-2.html" },
{group: "net", uri: "net/2696/issue2696.js", desc: "Issue 2696: Net panel shows blank/empty 'Response' when URL of request has '#' anchor reference", testPage: "net/2696/issue2696.html" },
{group: "net", uri: "net/2739/issue2739.js", desc: "Issue 2739: Net Response tab incorrect", testPage: "net/2739/issue2739.html" },
{group: "net", uri: "net/2763/issue2763.js", desc: "Issue 2763: fbug crash when uploading large XML files and NET panel is enabled", testPage: "net/2763/issue2763.html" },
{group: "net", uri: "net/4156/issue4156.js", desc: "Multiple filters selectable in Net panel", testPage: "net/4156/issue4156.html" },
{group: "net", uri: "net/4382/issue4382.js", desc: "JSON sorting", testPage: "net/4382/issue4382.html" },
{group: "net", uri: "net/4439/issue4439.js", desc: "Net Tab GET and POST responses empty when response's Content-Type is text/json", testPage: "net/4439/issue4439.html" },
{group: "net", uri: "net/4663/issue4663.js", desc: "Aborted requests show NaN MB in the size info tip", testPage: "net/4663/issue4663.html" },
{group: "net", uri: "net/4689/issue4689.js", desc: "Add option to copy parts of JSON data", testPage: "net/4689/issue4689.html" },
{group: "net", uri: "net/4805/issue4805.js", desc: "Distinguish or Highlight HTTPS protocol requests in Net panel", testPage: "net/4805/issue4805.html" },
{group: "net", uri: "net/4905/issue4905.js", desc: "Show the \"Connection\" header in the network/headers part", testPage: "net/4905/issue4905.html" },
{group: "net", uri: "net/5004/issue5004.js", desc: "Only raw http post request parameters view", testPage: "net/5004/issue5004.html" },
{group: "net", uri: "net/5007/issue5007.js", desc: "Headers from POST request body are not displayed anymore", testPage: "net/5007/issue5007.html" },
{group: "net", uri: "net/5324/issue5324.js", desc: "SPDY support in the Net panel", testPage: "net/5324/issue5324.html" },
{group: "net", uri: "net/5592/issue5592.js", desc: "Add option to copy request parameters", testPage: "net/5592/issue5592.html" },
{group: "net", uri: "net/5714/issue5714.js", desc: "Can't resend requests", testPage: "net/5714/issue5714.html" },
{group: "net", uri: "net/6616/issue6616.js", desc: "Copy request as a cURL command", testPage: "net/6616/issue6616.html" },
{group: "net", uri: "net/6817/issue6817.js", desc: "Copy as cURL: fix multipart request", testPage: "net/6817/issue6817.html" },
{group: "net", uri: "net/7298/issue7298.js", desc: "SVG view is broken for cached responses and reponses containing spaces", testPage: "net/7298/issue7298.html" },
{group: "net/filter", uri: "net/filter/176/issue176.js", desc: "Issue 176: net flash tab not recognising flv files", testPage: "net/filter/176/issue176.html" },
{group: "net/filter", uri: "net/filter/6474/issue6474.js", desc: "Fonts filter should also work for fonts with incorrect MIME type", testPage: "net/filter/6474/issue6474.html" },
{group: "net/filter", uri: "net/filter/6530/issue6530.js", desc: "JavaScript filter doesn't work for scripts with incorrect MIME type", testPage: "net/filter/6530/issue6530.html" },
{group: "cookies", uri: "cookies/general/cookiesPanel.js", desc: "Existence of cookie panel", testPage: "cookies/general/cookiesPanel.html" },
{group: "cookies", uri: "cookies/general/cookieInfo.js", desc: "Existence of cookie info", testPage: "cookies/general/cookieInfo.php" },
{group: "cookies", uri: "cookies/general/cookieValues.js", desc: "Escaped and unescaped cookie values", testPage: "cookies/general/cookieValues.php" },
{group: "cookies", uri: "cookies/general/clipboard.js", desc: "Clipboard functionality for the Cookies panel (copy and paste)", testPage: "cookies/general/clipboard.php" },
{group: "cookies", uri: "cookies/general/breakOnNext.js", desc: "Break on Cookie change", testPage: "cookies/general/breakOnNext.php" },
{group: "cookies", uri: "cookies/general/editCookies.js", desc: "Edit Cookie", testPage: "cookies/general/editCookies.php" },
{group: "cookies", uri: "cookies/23/issue23.js", desc: "httpOnly cookies", testPage: "cookies/23/issue23.php" },
{group: "cookies", uri: "cookies/25/issue25.js", desc: "Changing expire time to Session deletes cookie", testPage: "cookies/25/issue25.php" },
{group: "cookies", uri: "cookies/34/issue34.js", desc: "firecookie 0.8 cookies with .domain.com the first period gets erased on editing any attribute", testPage: "cookies/34/issue34.php" },
{group: "cookies", uri: "cookies/39/issue39.js", desc: "Can't create cookies with ';' in it", testPage: "cookies/39/issue39.php" },
{group: "cookies", uri: "cookies/44/issue44.js", desc: "JSON Cookies view", testPage: "cookies/44/issue44.php" },
{group: "cookies", uri: "cookies/45/issue45.js", desc: "When I copy and paste or edit a cookie contents + (plus) signs get converted to spaces.", testPage: "cookies/45/issue45.php" },
{group: "cookies", uri: "cookies/54/issue54.js", desc: "urlencoding of cookies value", testPage: "cookies/54/issue54.php" },
{group: "cookies", uri: "cookies/60/issue60.js", desc: "'[' and ']' characters get badly encoded on cookie name upon editing", testPage: "cookies/60/issue60.php" },
{group: "cookies", uri: "cookies/5560/issue5560.js", desc: "Add column for raw value", testPage: "cookies/5560/issue5560.php" },
{group: "cookies", uri: "cookies/5834/issue5834.js", desc: "Add infotip for cookie size", testPage: "cookies/5834/issue5834.php" },
{group: "cookies", uri: "cookies/6535/issue6535.js", desc: "Show Max-Age for cookies in Net panel", testPage: "cookies/6535/issue6535.php" },
{group: "cookies", uri: "cookies/6547/issue6547.js", desc: "Show cookie Max-Age when attribute is <= 0", testPage: "cookies/6547/issue6547.php" },
{group: "cookies", uri: "cookies/6570/issue6570.js", desc: "Show when server deletes cookie in Net tab", testPage: "cookies/6570/issue6570.php" },
{group: "cookies", uri: "cookies/6605/issue6605.js", desc: "Incorrect cookie encoding for character \"+\"", testPage: "cookies/6605/issue6605.php" }
];
</script>
<h1>Firebug Head Test List</h1>
<div><span>Test driver base URI: </span><span id="driverURI"></span></div>
<div><span>Test case base URI: </span><span id="testcaseURI"></span></div>
<h2>Test Groups</h2>
<div id="tests"></div>
</body>
</html>