зеркало из https://github.com/mozilla/pjs.git
JS Test Library - properly escape embedded tags in output to browser windows, add call to actual GC from the JSDebugger service
This commit is contained in:
Родитель
57b884e6a4
Коммит
c35118dd68
|
@ -49,11 +49,24 @@
|
|||
* <script src="./../browser.js"></script>
|
||||
* <script src="./mytest.js"></script>
|
||||
*/
|
||||
function htmlesc(str) {
|
||||
if (str == '<')
|
||||
return '<';
|
||||
if (str == '>')
|
||||
return '>';
|
||||
if (str == '&')
|
||||
return '&';
|
||||
return str;
|
||||
}
|
||||
|
||||
function writeLineToLog( string ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
document.write( string + "<br>\n");
|
||||
}
|
||||
|
||||
function print( string ) {
|
||||
string = String(string);
|
||||
writeLineToLog( string );
|
||||
}
|
||||
|
||||
|
@ -180,10 +193,22 @@ TEST_XML = function (section, expected, actual)
|
|||
|
||||
function gc()
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
try
|
||||
{
|
||||
new Object();
|
||||
// Thanks to dveditz
|
||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
|
||||
var jsdIDebuggerService = Components.interfaces.jsdIDebuggerService;
|
||||
var service = Components.classes['@mozilla.org/js/jsd/debugger-service;1'].
|
||||
getService(jsdIDebuggerService);
|
||||
service.GC();
|
||||
}
|
||||
catch(ex)
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
{
|
||||
new Object();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -52,20 +52,36 @@
|
|||
|
||||
var GLOBAL = this + '';
|
||||
|
||||
function htmlesc(str) {
|
||||
if (str == '<')
|
||||
return '<';
|
||||
if (str == '>')
|
||||
return '>';
|
||||
if (str == '&')
|
||||
return '&';
|
||||
return str;
|
||||
}
|
||||
|
||||
function writeLineToLog( string ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
document.write( string + "<br>\n");
|
||||
}
|
||||
|
||||
function writeHeaderToLog( string ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
document.write( "<h2>" + string + "</h2>" );
|
||||
}
|
||||
|
||||
function writeFormattedResult( expect, actual, string, passed ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
var s = "<tt>"+ string ;
|
||||
s += "<b>" ;
|
||||
s += ( passed ) ? "<font color=#009900> " + PASSED
|
||||
: "<font color=#aa0000> " + FAILED + expect + "</tt>";
|
||||
writeLineToLog( s + "</font></b></tt>" );
|
||||
document.write( s + "</font></b></tt><br>" );
|
||||
return passed;
|
||||
}
|
||||
|
||||
|
@ -130,12 +146,23 @@ function version(v)
|
|||
return gVersion;
|
||||
}
|
||||
|
||||
|
||||
function gc()
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
try
|
||||
{
|
||||
new Object();
|
||||
// Thanks to dveditz
|
||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
|
||||
var jsdIDebuggerService = Components.interfaces.jsdIDebuggerService;
|
||||
var service = Components.classes['@mozilla.org/js/jsd/debugger-service;1'].
|
||||
getService(jsdIDebuggerService);
|
||||
service.GC();
|
||||
}
|
||||
catch(ex)
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
{
|
||||
new Object();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -52,19 +52,35 @@
|
|||
|
||||
var GLOBAL = this + '';
|
||||
|
||||
function htmlesc(str) {
|
||||
if (str == '<')
|
||||
return '<';
|
||||
if (str == '>')
|
||||
return '>';
|
||||
if (str == '&')
|
||||
return '&';
|
||||
return str;
|
||||
}
|
||||
|
||||
function writeLineToLog( string ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
document.write( string + "<br>\n");
|
||||
}
|
||||
function writeHeaderToLog( string ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
document.write( "<h2>" + string + "</h2>" );
|
||||
}
|
||||
|
||||
function writeFormattedResult( expect, actual, string, passed ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
var s = "<tt>"+ string ;
|
||||
s += "<b>" ;
|
||||
s += ( passed ) ? "<font color=#009900> " + PASSED
|
||||
: "<font color=#aa0000> " + FAILED + expect + "</tt>";
|
||||
writeLineToLog( s + "</font></b></tt>" );
|
||||
document.write( s + "</font></b></tt><br>" );
|
||||
return passed;
|
||||
}
|
||||
|
||||
|
@ -132,9 +148,21 @@ function version(v)
|
|||
|
||||
function gc()
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
try
|
||||
{
|
||||
new Object();
|
||||
// Thanks to dveditz
|
||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
|
||||
var jsdIDebuggerService = Components.interfaces.jsdIDebuggerService;
|
||||
var service = Components.classes['@mozilla.org/js/jsd/debugger-service;1'].
|
||||
getService(jsdIDebuggerService);
|
||||
service.GC();
|
||||
}
|
||||
catch(ex)
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
{
|
||||
new Object();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -52,20 +52,36 @@
|
|||
|
||||
var GLOBAL = this + '';
|
||||
|
||||
function htmlesc(str) {
|
||||
if (str == '<')
|
||||
return '<';
|
||||
if (str == '>')
|
||||
return '>';
|
||||
if (str == '&')
|
||||
return '&';
|
||||
return str;
|
||||
}
|
||||
|
||||
function writeLineToLog( string ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
document.write( string + "<br>\n");
|
||||
}
|
||||
|
||||
function writeHeaderToLog( string ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
document.write( "<h2>" + string + "</h2>" );
|
||||
}
|
||||
|
||||
function writeFormattedResult( expect, actual, string, passed ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
var s = "<tt>"+ string ;
|
||||
s += "<b>" ;
|
||||
s += ( passed ) ? "<font color=#009900> " + PASSED
|
||||
: "<font color=#aa0000> " + FAILED + expect + "</tt>";
|
||||
writeLineToLog( s + "</font></b></tt>" );
|
||||
document.write( s + "</font></b></tt><br>" );
|
||||
return passed;
|
||||
}
|
||||
|
||||
|
|
|
@ -50,7 +50,19 @@
|
|||
* <script src="./mytest.js"></script>
|
||||
*/
|
||||
|
||||
function htmlesc(str) {
|
||||
if (str == '<')
|
||||
return '<';
|
||||
if (str == '>')
|
||||
return '>';
|
||||
if (str == '&')
|
||||
return '&';
|
||||
return str;
|
||||
}
|
||||
|
||||
function writeLineToLog( string ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
document.write( string + "<br>\n");
|
||||
}
|
||||
|
||||
|
@ -143,9 +155,21 @@ window.onerror = reportFailure;
|
|||
|
||||
function gc()
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
try
|
||||
{
|
||||
new Object();
|
||||
// Thanks to dveditz
|
||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
|
||||
var jsdIDebuggerService = Components.interfaces.jsdIDebuggerService;
|
||||
var service = Components.classes['@mozilla.org/js/jsd/debugger-service;1'].
|
||||
getService(jsdIDebuggerService);
|
||||
service.GC();
|
||||
}
|
||||
catch(ex)
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
{
|
||||
new Object();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -52,19 +52,32 @@
|
|||
|
||||
GLOBAL = this + '';
|
||||
|
||||
function htmlesc(str) {
|
||||
if (str == '<')
|
||||
return '<';
|
||||
if (str == '>')
|
||||
return '>';
|
||||
if (str == '&')
|
||||
return '&';
|
||||
return str;
|
||||
}
|
||||
|
||||
function writeLineToLog( string ) {
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
document.write( string + "<br>\n");
|
||||
}
|
||||
function writeHeaderToLog( string ) {
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
document.write( "<h2>" + string + "</h2>" );
|
||||
}
|
||||
|
||||
function writeFormattedResult( expect, actual, string, passed ) {
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
var s = "<tt>"+ string ;
|
||||
s += "<b>" ;
|
||||
s += ( passed ) ? "<font color=#009900> " + PASSED
|
||||
: "<font color=#aa0000> " + FAILED + expect + "</tt>";
|
||||
writeLineToLog( s + "</font></b></tt>" );
|
||||
document.write( s + "</font></b></tt><br>" );
|
||||
return passed;
|
||||
}
|
||||
|
||||
|
@ -129,9 +142,21 @@ function version(v) {
|
|||
|
||||
function gc()
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
try
|
||||
{
|
||||
new Object();
|
||||
// Thanks to dveditz
|
||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
|
||||
var jsdIDebuggerService = Components.interfaces.jsdIDebuggerService;
|
||||
var service = Components.classes['@mozilla.org/js/jsd/debugger-service;1'].
|
||||
getService(jsdIDebuggerService);
|
||||
service.GC();
|
||||
}
|
||||
catch(ex)
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
{
|
||||
new Object();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -52,20 +52,36 @@
|
|||
|
||||
var GLOBAL = this + '';
|
||||
|
||||
function htmlesc(str) {
|
||||
if (str == '<')
|
||||
return '<';
|
||||
if (str == '>')
|
||||
return '>';
|
||||
if (str == '&')
|
||||
return '&';
|
||||
return str;
|
||||
}
|
||||
|
||||
function writeLineToLog( string ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
document.write( string + "<br>\n");
|
||||
}
|
||||
|
||||
function writeHeaderToLog( string ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
document.write( "<h2>" + string + "</h2>" );
|
||||
}
|
||||
|
||||
function writeFormattedResult( expect, actual, string, passed ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
var s = "<tt>"+ string ;
|
||||
s += "<b>" ;
|
||||
s += ( passed ) ? "<font color=#009900> " + PASSED
|
||||
: "<font color=#aa0000> " + FAILED + expect + "</tt>";
|
||||
writeLineToLog( s + "</font></b></tt>" );
|
||||
document.write( s + "</font></b></tt><br>" );
|
||||
return passed;
|
||||
}
|
||||
|
||||
|
@ -132,9 +148,21 @@ function version(v)
|
|||
|
||||
function gc()
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
try
|
||||
{
|
||||
new Object();
|
||||
// Thanks to dveditz
|
||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
|
||||
var jsdIDebuggerService = Components.interfaces.jsdIDebuggerService;
|
||||
var service = Components.classes['@mozilla.org/js/jsd/debugger-service;1'].
|
||||
getService(jsdIDebuggerService);
|
||||
service.GC();
|
||||
}
|
||||
catch(ex)
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
{
|
||||
new Object();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -52,18 +52,34 @@
|
|||
|
||||
GLOBAL = this + '';
|
||||
|
||||
function htmlesc(str) {
|
||||
if (str == '<')
|
||||
return '<';
|
||||
if (str == '>')
|
||||
return '>';
|
||||
if (str == '&')
|
||||
return '&';
|
||||
return str;
|
||||
}
|
||||
|
||||
function writeLineToLog( string ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
document.write( string + "<br>\n");
|
||||
}
|
||||
function writeHeaderToLog( string ) {
|
||||
string = String(string);
|
||||
document.write( "<h2>" + string + "</h2>" );
|
||||
}
|
||||
function writeFormattedResult( expect, actual, string, passed ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
var s = "<tt>"+ string ;
|
||||
s += "<b>" ;
|
||||
s += ( passed ) ? "<font color=#009900> " + PASSED
|
||||
: "<font color=#aa0000> " + FAILED + expect + "</tt>";
|
||||
writeLineToLog( s + "</font></b></tt>" );
|
||||
document.write( s + "</font></b></tt><br>" );
|
||||
return passed;
|
||||
}
|
||||
|
||||
|
@ -129,9 +145,21 @@ function version(v)
|
|||
|
||||
function gc()
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
try
|
||||
{
|
||||
new Object();
|
||||
// Thanks to dveditz
|
||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
|
||||
var jsdIDebuggerService = Components.interfaces.jsdIDebuggerService;
|
||||
var service = Components.classes['@mozilla.org/js/jsd/debugger-service;1'].
|
||||
getService(jsdIDebuggerService);
|
||||
service.GC();
|
||||
}
|
||||
catch(ex)
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
{
|
||||
new Object();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -52,19 +52,35 @@
|
|||
|
||||
GLOBAL = this + '';
|
||||
|
||||
function htmlesc(str) {
|
||||
if (str == '<')
|
||||
return '<';
|
||||
if (str == '>')
|
||||
return '>';
|
||||
if (str == '&')
|
||||
return '&';
|
||||
return str;
|
||||
}
|
||||
|
||||
function writeLineToLog( string ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
document.write( string + "<br>\n");
|
||||
}
|
||||
function writeHeaderToLog( string ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
document.write( "<h2>" + string + "</h2>" );
|
||||
}
|
||||
|
||||
function writeFormattedResult( expect, actual, string, passed ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
var s = "<tt>"+ string ;
|
||||
s += "<b>" ;
|
||||
s += ( passed ) ? "<font color=#009900> " + PASSED
|
||||
: "<font color=#aa0000> " + FAILED + expect + "</tt>";
|
||||
writeLineToLog( s + "</font></b></tt>" );
|
||||
document.write( s + "</font></b></tt><br>" );
|
||||
return passed;
|
||||
}
|
||||
|
||||
|
@ -131,9 +147,21 @@ function version(v)
|
|||
|
||||
function gc()
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
try
|
||||
{
|
||||
new Object();
|
||||
// Thanks to dveditz
|
||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
|
||||
var jsdIDebuggerService = Components.interfaces.jsdIDebuggerService;
|
||||
var service = Components.classes['@mozilla.org/js/jsd/debugger-service;1'].
|
||||
getService(jsdIDebuggerService);
|
||||
service.GC();
|
||||
}
|
||||
catch(ex)
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
{
|
||||
new Object();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -49,7 +49,19 @@
|
|||
* <script src="./../browser.js"></script>
|
||||
* <script src="./mytest.js"></script>
|
||||
*/
|
||||
function htmlesc(str) {
|
||||
if (str == '<')
|
||||
return '<';
|
||||
if (str == '>')
|
||||
return '>';
|
||||
if (str == '&')
|
||||
return '&';
|
||||
return str;
|
||||
}
|
||||
|
||||
function writeLineToLog( string ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
document.write( string + "<br>\n");
|
||||
}
|
||||
|
||||
|
@ -134,10 +146,22 @@ reportFailure = function (msg, page, line)
|
|||
|
||||
function gc()
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
try
|
||||
{
|
||||
new Object();
|
||||
// Thanks to dveditz
|
||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
|
||||
var jsdIDebuggerService = Components.interfaces.jsdIDebuggerService;
|
||||
var service = Components.classes['@mozilla.org/js/jsd/debugger-service;1'].
|
||||
getService(jsdIDebuggerService);
|
||||
service.GC();
|
||||
}
|
||||
catch(ex)
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
{
|
||||
new Object();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -49,7 +49,20 @@
|
|||
* <script src="./../browser.js"></script>
|
||||
* <script src="./mytest.js"></script>
|
||||
*/
|
||||
|
||||
function htmlesc(str) {
|
||||
if (str == '<')
|
||||
return '<';
|
||||
if (str == '>')
|
||||
return '>';
|
||||
if (str == '&')
|
||||
return '&';
|
||||
return str;
|
||||
}
|
||||
|
||||
function writeLineToLog( string ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
document.write( string + "<br>\n");
|
||||
}
|
||||
|
||||
|
@ -137,6 +150,23 @@ reportFailure = function (msg, page, line)
|
|||
|
||||
function gc()
|
||||
{
|
||||
try
|
||||
{
|
||||
// Thanks to dveditz
|
||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
|
||||
var jsdIDebuggerService = Components.interfaces.jsdIDebuggerService;
|
||||
var service = Components.classes['@mozilla.org/js/jsd/debugger-service;1'].
|
||||
getService(jsdIDebuggerService);
|
||||
service.GC();
|
||||
}
|
||||
catch(ex)
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
{
|
||||
new Object();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function quit()
|
||||
|
|
|
@ -53,18 +53,34 @@ var H2 = "<h2>";
|
|||
var H2_ = "</h2>";
|
||||
var HR = "<hr>";
|
||||
|
||||
function htmlesc(str) {
|
||||
if (str == '<')
|
||||
return '<';
|
||||
if (str == '>')
|
||||
return '>';
|
||||
if (str == '&')
|
||||
return '&';
|
||||
return str;
|
||||
}
|
||||
|
||||
function writeLineToLog( string ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
document.write( string + "<br>\n" );
|
||||
}
|
||||
function writeHeaderToLog( string ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
document.write( "<h2>" + string + "</h2>\n" );
|
||||
}
|
||||
function writeFormattedResult( expect, actual, string, passed ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
var s = "<tt>"+ string ;
|
||||
s += "<b>" ;
|
||||
s += ( passed ) ? "<font color=#009900> " + PASSED
|
||||
: "<font color=#aa0000> " + FAILED + expect + "</tt>";
|
||||
writeLineToLog( s + "</font></b></tt>" );
|
||||
document.write( s + "</font></b></tt><br>" );
|
||||
return passed;
|
||||
}
|
||||
function ToInteger( t ) {
|
||||
|
@ -152,10 +168,21 @@ function version(v)
|
|||
|
||||
function gc()
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
try
|
||||
{
|
||||
new Object();
|
||||
// Thanks to dveditz
|
||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
|
||||
var jsdIDebuggerService = Components.interfaces.jsdIDebuggerService;
|
||||
var service = Components.classes['@mozilla.org/js/jsd/debugger-service;1'].
|
||||
getService(jsdIDebuggerService);
|
||||
service.GC();
|
||||
}
|
||||
catch(ex)
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
{
|
||||
new Object();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -67,18 +67,34 @@ var H2 = "<h2>";
|
|||
var H2_ = "</h2>";
|
||||
var HR = "<hr>";
|
||||
|
||||
function htmlesc(str) {
|
||||
if (str == '<')
|
||||
return '<';
|
||||
if (str == '>')
|
||||
return '>';
|
||||
if (str == '&')
|
||||
return '&';
|
||||
return str;
|
||||
}
|
||||
|
||||
function writeLineToLog( string ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
document.write( string + "<br>\n");
|
||||
}
|
||||
function writeHeaderToLog( string ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
document.write( "<h2>" + string + "</h2>" );
|
||||
}
|
||||
function writeFormattedResult( expect, actual, string, passed ) {
|
||||
string = String(string);
|
||||
string = string.replace(/[<>&]/g, htmlesc);
|
||||
var s = "<tt>"+ string ;
|
||||
s += "<b>" ;
|
||||
s += ( passed ) ? "<font color=#009900> " + PASSED
|
||||
: "<font color=#aa0000> " + FAILED + expect + "</tt>";
|
||||
writeLineToLog( s + "</font></b></tt>" );
|
||||
document.write( s + "</font></b></tt><br>" );
|
||||
return passed;
|
||||
}
|
||||
|
||||
|
@ -145,10 +161,21 @@ function version(v)
|
|||
|
||||
function gc()
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
try
|
||||
{
|
||||
new Object();
|
||||
// Thanks to dveditz
|
||||
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
|
||||
var jsdIDebuggerService = Components.interfaces.jsdIDebuggerService;
|
||||
var service = Components.classes['@mozilla.org/js/jsd/debugger-service;1'].
|
||||
getService(jsdIDebuggerService);
|
||||
service.GC();
|
||||
}
|
||||
catch(ex)
|
||||
{
|
||||
// Thanks to igor.bukanov@gmail.com
|
||||
for (var i = 0; i != 1 << 15; ++i)
|
||||
{
|
||||
new Object();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче