diff options
Diffstat (limited to 'js/src/tests/js1_5/extensions/regress-407720.js')
-rw-r--r-- | js/src/tests/js1_5/extensions/regress-407720.js | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/js/src/tests/js1_5/extensions/regress-407720.js b/js/src/tests/js1_5/extensions/regress-407720.js new file mode 100644 index 000000000..9ecfedfce --- /dev/null +++ b/js/src/tests/js1_5/extensions/regress-407720.js @@ -0,0 +1,52 @@ +// |reftest| skip-if(!xulRuntime.shell) slow +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +//----------------------------------------------------------------------------- +var BUGNUMBER = 407720; +var summary = 'js_FindClassObject causes crashes with getter/setter - Browser only'; +var actual = 'No Crash'; +var expect = 'No Crash'; + +printBugNumber(BUGNUMBER); +printStatus (summary); + +// stop the test after 60 seconds +var start = new Date(); + +if (typeof document != 'undefined') +{ + // delay test driver end + gDelayTestDriverEnd = true; + document.write('<iframe onload="onLoad()"><\/iframe>'); +} +else +{ + actual = 'No Crash'; + reportCompare(expect, actual, summary); +} + +function onLoad() +{ + + if ( (new Date() - start) < 60*1000) + { + var x = frames[0].Window.prototype; + x.a = x.b = x.c = 1; + x.__defineGetter__("HTML document.all class", function() {}); + frames[0].document.all; + + // retry + frames[0].location = "about:blank"; + } + else + { + actual = 'No Crash'; + + reportCompare(expect, actual, summary); + gDelayTestDriverEnd = false; + jsTestDriverEnd(); + } +} |