18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* The contents of this file are subject to the Netscape Public 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* License Version 1.1 (the "License"); you may not use this file 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* except in compliance with the License. You may obtain a copy of 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* the License at http://www.mozilla.org/NPL/ 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Software distributed under the License is distributed on an "AS 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* implied. See the License for the specific language governing 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* rights and limitations under the License. 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* The Original Code is mozilla.org code. 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* The Initial Developer of the Original Code is Netscape 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Communications Corporation. Portions created by Netscape are 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Copyright (C) 1998 Netscape Communications Corporation. 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* All Rights Reserved. 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Contributor(s): jband@netscape.com, pschwartau@netscape.com 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Date: 14 October 2001 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* SUMMARY: Regression test for Bugzilla bug 104584 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* See http://bugzilla.mozilla.org/show_bug.cgi?id=104584 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Testing that we don't crash on this code. The idea is to 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* call F,G WITHOUT providing an argument. This caused a crash 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* on the second call to obj.toString() or print(obj) below - 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/ 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project//----------------------------------------------------------------------------- 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar bug = 104584; 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar summary = "Testing that we don't crash on this code -"; 328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectprintBugNumber (bug); 348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectprintStatus (summary); 358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectF(); 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectG(); 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectfunction F(obj) 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if(!obj) 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project obj = {}; 438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project obj.toString(); 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project gc(); 458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project obj.toString(); 468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectfunction G(obj) 508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if(!obj) 528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project obj = {}; 538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project print(obj); 548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project gc(); 558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project print(obj); 568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 57