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