blob: 21209630ef83972c9ee758800cc935a242ec6897 [file] [log] [blame]
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
function write(v) { WScript.Echo(v + ""); }
function foo() {}
write(new String('he' + 'llo') && new Object());
write(new String('he' + 'llo') && new Object());
write(new String('he' + 'llo') && [1, 2, 3]);
write(new String('he' + 'llo') && [1 ,2 , 3]);
write(new String('he' + 'llo') && new Array(3));
write(new String('he' + 'llo') && Array(3));
write(new String('he' + 'llo') && new Array(1 ,2 ,3));
write(new String('he' + 'llo') && Array(1));
write(new String('he' + 'llo') && foo);
write(new Object() && undefined);
write(new Object() && null);
write(new Object() && true);
write(new Object() && false);
write(new Object() && Boolean(true));
write(new Object() && Boolean(false));
write(new Object() && new Boolean(true));
write(new Object() && new Boolean(false));
write(new Object() && NaN);
write(new Object() && +0);
write(new Object() && -0);
write(new Object() && 0);
write(new Object() && 0.0);
write(new Object() && -0.0);
write(new Object() && +0.0);
write(new Object() && 1);
write(new Object() && 10);
write(new Object() && 10.0);
write(new Object() && 10.1);
write(new Object() && -1);
write(new Object() && -10);
write(new Object() && -10.0);
write(new Object() && -10.1);
write(new Object() && Number.MAX_VALUE);
write(new Object() && Number.MIN_VALUE);
write(new Object() && Number.NaN);
write(new Object() && Number.POSITIVE_INFINITY);
write(new Object() && Number.NEGATIVE_INFINITY);
write(new Object() && new Number(NaN));
write(new Object() && new Number(+0));
write(new Object() && new Number(-0));
write(new Object() && new Number(0));
write(new Object() && new Number(0.0));
write(new Object() && new Number(-0.0));
write(new Object() && new Number(+0.0));
write(new Object() && new Number(1));
write(new Object() && new Number(10));
write(new Object() && new Number(10.0));
write(new Object() && new Number(10.1));
write(new Object() && new Number(-1));
write(new Object() && new Number(-10));
write(new Object() && new Number(-10.0));
write(new Object() && new Number(-10.1));
write(new Object() && new Number(Number.MAX_VALUE));
write(new Object() && new Number(Number.MIN_VALUE));
write(new Object() && new Number(Number.NaN));
write(new Object() && new Number(Number.POSITIVE_INFINITY));
write(new Object() && new Number(Number.NEGATIVE_INFINITY));
write(new Object() && '');
write(new Object() && 0xa);
write(new Object() && 04);
write(new Object() && 'hello');
write(new Object() && 'hel' + 'lo');
write(new Object() && String(''));
write(new Object() && String('hello'));
write(new Object() && String('h' + 'ello'));
write(new Object() && new String(''));
write(new Object() && new String('hello'));
write(new Object() && new String('he' + 'llo'));
write(new Object() && new Object());
write(new Object() && new Object());
write(new Object() && [1, 2, 3]);
write(new Object() && [1 ,2 , 3]);
write(new Object() && new Array(3));
write(new Object() && Array(3));
write(new Object() && new Array(1 ,2 ,3));
write(new Object() && Array(1));
write(new Object() && foo);
write(new Object() && undefined);
write(new Object() && null);
write(new Object() && true);
write(new Object() && false);
write(new Object() && Boolean(true));
write(new Object() && Boolean(false));
write(new Object() && new Boolean(true));
write(new Object() && new Boolean(false));
write(new Object() && NaN);
write(new Object() && +0);
write(new Object() && -0);
write(new Object() && 0);
write(new Object() && 0.0);
write(new Object() && -0.0);
write(new Object() && +0.0);
write(new Object() && 1);
write(new Object() && 10);
write(new Object() && 10.0);
write(new Object() && 10.1);
write(new Object() && -1);
write(new Object() && -10);
write(new Object() && -10.0);
write(new Object() && -10.1);
write(new Object() && Number.MAX_VALUE);
write(new Object() && Number.MIN_VALUE);
write(new Object() && Number.NaN);
write(new Object() && Number.POSITIVE_INFINITY);
write(new Object() && Number.NEGATIVE_INFINITY);
write(new Object() && new Number(NaN));
write(new Object() && new Number(+0));
write(new Object() && new Number(-0));
write(new Object() && new Number(0));
write(new Object() && new Number(0.0));
write(new Object() && new Number(-0.0));
write(new Object() && new Number(+0.0));
write(new Object() && new Number(1));
write(new Object() && new Number(10));
write(new Object() && new Number(10.0));
write(new Object() && new Number(10.1));
write(new Object() && new Number(-1));
write(new Object() && new Number(-10));
write(new Object() && new Number(-10.0));
write(new Object() && new Number(-10.1));
write(new Object() && new Number(Number.MAX_VALUE));
write(new Object() && new Number(Number.MIN_VALUE));
write(new Object() && new Number(Number.NaN));
write(new Object() && new Number(Number.POSITIVE_INFINITY));
write(new Object() && new Number(Number.NEGATIVE_INFINITY));
write(new Object() && '');
write(new Object() && 0xa);
write(new Object() && 04);
write(new Object() && 'hello');
write(new Object() && 'hel' + 'lo');
write(new Object() && String(''));
write(new Object() && String('hello'));
write(new Object() && String('h' + 'ello'));
write(new Object() && new String(''));
write(new Object() && new String('hello'));
write(new Object() && new String('he' + 'llo'));
write(new Object() && new Object());
write(new Object() && new Object());
write(new Object() && [1, 2, 3]);
write(new Object() && [1 ,2 , 3]);
write(new Object() && new Array(3));
write(new Object() && Array(3));
write(new Object() && new Array(1 ,2 ,3));
write(new Object() && Array(1));
write(new Object() && foo);
write([1, 2, 3] && undefined);
write([1, 2, 3] && null);
write([1, 2, 3] && true);
write([1, 2, 3] && false);
write([1, 2, 3] && Boolean(true));
write([1, 2, 3] && Boolean(false));
write([1, 2, 3] && new Boolean(true));
write([1, 2, 3] && new Boolean(false));
write([1, 2, 3] && NaN);
write([1, 2, 3] && +0);
write([1, 2, 3] && -0);
write([1, 2, 3] && 0);
write([1, 2, 3] && 0.0);
write([1, 2, 3] && -0.0);
write([1, 2, 3] && +0.0);
write([1, 2, 3] && 1);
write([1, 2, 3] && 10);
write([1, 2, 3] && 10.0);
write([1, 2, 3] && 10.1);
write([1, 2, 3] && -1);
write([1, 2, 3] && -10);
write([1, 2, 3] && -10.0);
write([1, 2, 3] && -10.1);
write([1, 2, 3] && Number.MAX_VALUE);
write([1, 2, 3] && Number.MIN_VALUE);
write([1, 2, 3] && Number.NaN);
write([1, 2, 3] && Number.POSITIVE_INFINITY);
write([1, 2, 3] && Number.NEGATIVE_INFINITY);
write([1, 2, 3] && new Number(NaN));
write([1, 2, 3] && new Number(+0));
write([1, 2, 3] && new Number(-0));
write([1, 2, 3] && new Number(0));
write([1, 2, 3] && new Number(0.0));
write([1, 2, 3] && new Number(-0.0));
write([1, 2, 3] && new Number(+0.0));
write([1, 2, 3] && new Number(1));
write([1, 2, 3] && new Number(10));
write([1, 2, 3] && new Number(10.0));
write([1, 2, 3] && new Number(10.1));
write([1, 2, 3] && new Number(-1));
write([1, 2, 3] && new Number(-10));
write([1, 2, 3] && new Number(-10.0));
write([1, 2, 3] && new Number(-10.1));
write([1, 2, 3] && new Number(Number.MAX_VALUE));
write([1, 2, 3] && new Number(Number.MIN_VALUE));
write([1, 2, 3] && new Number(Number.NaN));
write([1, 2, 3] && new Number(Number.POSITIVE_INFINITY));
write([1, 2, 3] && new Number(Number.NEGATIVE_INFINITY));
write([1, 2, 3] && '');
write([1, 2, 3] && 0xa);
write([1, 2, 3] && 04);
write([1, 2, 3] && 'hello');
write([1, 2, 3] && 'hel' + 'lo');
write([1, 2, 3] && String(''));
write([1, 2, 3] && String('hello'));
write([1, 2, 3] && String('h' + 'ello'));
write([1, 2, 3] && new String(''));
write([1, 2, 3] && new String('hello'));
write([1, 2, 3] && new String('he' + 'llo'));
write([1, 2, 3] && new Object());
write([1, 2, 3] && new Object());
write([1, 2, 3] && [1, 2, 3]);
write([1, 2, 3] && [1 ,2 , 3]);
write([1, 2, 3] && new Array(3));
write([1, 2, 3] && Array(3));
write([1, 2, 3] && new Array(1 ,2 ,3));
write([1, 2, 3] && Array(1));
write([1, 2, 3] && foo);
write([1 ,2 , 3] && undefined);
write([1 ,2 , 3] && null);
write([1 ,2 , 3] && true);
write([1 ,2 , 3] && false);
write([1 ,2 , 3] && Boolean(true));
write([1 ,2 , 3] && Boolean(false));
write([1 ,2 , 3] && new Boolean(true));
write([1 ,2 , 3] && new Boolean(false));
write([1 ,2 , 3] && NaN);
write([1 ,2 , 3] && +0);
write([1 ,2 , 3] && -0);
write([1 ,2 , 3] && 0);
write([1 ,2 , 3] && 0.0);
write([1 ,2 , 3] && -0.0);
write([1 ,2 , 3] && +0.0);
write([1 ,2 , 3] && 1);
write([1 ,2 , 3] && 10);
write([1 ,2 , 3] && 10.0);
write([1 ,2 , 3] && 10.1);
write([1 ,2 , 3] && -1);
write([1 ,2 , 3] && -10);
write([1 ,2 , 3] && -10.0);
write([1 ,2 , 3] && -10.1);
write([1 ,2 , 3] && Number.MAX_VALUE);
write([1 ,2 , 3] && Number.MIN_VALUE);
write([1 ,2 , 3] && Number.NaN);
write([1 ,2 , 3] && Number.POSITIVE_INFINITY);
write([1 ,2 , 3] && Number.NEGATIVE_INFINITY);
write([1 ,2 , 3] && new Number(NaN));
write([1 ,2 , 3] && new Number(+0));
write([1 ,2 , 3] && new Number(-0));
write([1 ,2 , 3] && new Number(0));
write([1 ,2 , 3] && new Number(0.0));
write([1 ,2 , 3] && new Number(-0.0));
write([1 ,2 , 3] && new Number(+0.0));
write([1 ,2 , 3] && new Number(1));
write([1 ,2 , 3] && new Number(10));
write([1 ,2 , 3] && new Number(10.0));
write([1 ,2 , 3] && new Number(10.1));
write([1 ,2 , 3] && new Number(-1));
write([1 ,2 , 3] && new Number(-10));
write([1 ,2 , 3] && new Number(-10.0));
write([1 ,2 , 3] && new Number(-10.1));
write([1 ,2 , 3] && new Number(Number.MAX_VALUE));
write([1 ,2 , 3] && new Number(Number.MIN_VALUE));
write([1 ,2 , 3] && new Number(Number.NaN));
write([1 ,2 , 3] && new Number(Number.POSITIVE_INFINITY));
write([1 ,2 , 3] && new Number(Number.NEGATIVE_INFINITY));
write([1 ,2 , 3] && '');
write([1 ,2 , 3] && 0xa);
write([1 ,2 , 3] && 04);
write([1 ,2 , 3] && 'hello');
write([1 ,2 , 3] && 'hel' + 'lo');
write([1 ,2 , 3] && String(''));
write([1 ,2 , 3] && String('hello'));
write([1 ,2 , 3] && String('h' + 'ello'));
write([1 ,2 , 3] && new String(''));
write([1 ,2 , 3] && new String('hello'));
write([1 ,2 , 3] && new String('he' + 'llo'));
write([1 ,2 , 3] && new Object());
write([1 ,2 , 3] && new Object());
write([1 ,2 , 3] && [1, 2, 3]);
write([1 ,2 , 3] && [1 ,2 , 3]);
write([1 ,2 , 3] && new Array(3));
write([1 ,2 , 3] && Array(3));
write([1 ,2 , 3] && new Array(1 ,2 ,3));
write([1 ,2 , 3] && Array(1));
write([1 ,2 , 3] && foo);
write(new Array(3) && undefined);
write(new Array(3) && null);
write(new Array(3) && true);
write(new Array(3) && false);
write(new Array(3) && Boolean(true));
write(new Array(3) && Boolean(false));
write(new Array(3) && new Boolean(true));
write(new Array(3) && new Boolean(false));
write(new Array(3) && NaN);
write(new Array(3) && +0);
write(new Array(3) && -0);
write(new Array(3) && 0);
write(new Array(3) && 0.0);
write(new Array(3) && -0.0);
write(new Array(3) && +0.0);
write(new Array(3) && 1);
write(new Array(3) && 10);
write(new Array(3) && 10.0);
write(new Array(3) && 10.1);
write(new Array(3) && -1);
write(new Array(3) && -10);
write(new Array(3) && -10.0);
write(new Array(3) && -10.1);
write(new Array(3) && Number.MAX_VALUE);
write(new Array(3) && Number.MIN_VALUE);
write(new Array(3) && Number.NaN);
write(new Array(3) && Number.POSITIVE_INFINITY);
write(new Array(3) && Number.NEGATIVE_INFINITY);
write(new Array(3) && new Number(NaN));
write(new Array(3) && new Number(+0));
write(new Array(3) && new Number(-0));
write(new Array(3) && new Number(0));
write(new Array(3) && new Number(0.0));
write(new Array(3) && new Number(-0.0));
write(new Array(3) && new Number(+0.0));
write(new Array(3) && new Number(1));
write(new Array(3) && new Number(10));
write(new Array(3) && new Number(10.0));
write(new Array(3) && new Number(10.1));
write(new Array(3) && new Number(-1));
write(new Array(3) && new Number(-10));
write(new Array(3) && new Number(-10.0));
write(new Array(3) && new Number(-10.1));
write(new Array(3) && new Number(Number.MAX_VALUE));
write(new Array(3) && new Number(Number.MIN_VALUE));
write(new Array(3) && new Number(Number.NaN));
write(new Array(3) && new Number(Number.POSITIVE_INFINITY));
write(new Array(3) && new Number(Number.NEGATIVE_INFINITY));
write(new Array(3) && '');
write(new Array(3) && 0xa);
write(new Array(3) && 04);
write(new Array(3) && 'hello');
write(new Array(3) && 'hel' + 'lo');
write(new Array(3) && String(''));
write(new Array(3) && String('hello'));
write(new Array(3) && String('h' + 'ello'));
write(new Array(3) && new String(''));
write(new Array(3) && new String('hello'));
write(new Array(3) && new String('he' + 'llo'));
write(new Array(3) && new Object());
write(new Array(3) && new Object());
write(new Array(3) && [1, 2, 3]);
write(new Array(3) && [1 ,2 , 3]);
write(new Array(3) && new Array(3));
write(new Array(3) && Array(3));
write(new Array(3) && new Array(1 ,2 ,3));
write(new Array(3) && Array(1));
write(new Array(3) && foo);
write(Array(3) && undefined);
write(Array(3) && null);
write(Array(3) && true);
write(Array(3) && false);
write(Array(3) && Boolean(true));
write(Array(3) && Boolean(false));
write(Array(3) && new Boolean(true));
write(Array(3) && new Boolean(false));
write(Array(3) && NaN);
write(Array(3) && +0);
write(Array(3) && -0);
write(Array(3) && 0);
write(Array(3) && 0.0);
write(Array(3) && -0.0);
write(Array(3) && +0.0);
write(Array(3) && 1);
write(Array(3) && 10);
write(Array(3) && 10.0);
write(Array(3) && 10.1);
write(Array(3) && -1);
write(Array(3) && -10);
write(Array(3) && -10.0);
write(Array(3) && -10.1);
write(Array(3) && Number.MAX_VALUE);
write(Array(3) && Number.MIN_VALUE);
write(Array(3) && Number.NaN);
write(Array(3) && Number.POSITIVE_INFINITY);
write(Array(3) && Number.NEGATIVE_INFINITY);
write(Array(3) && new Number(NaN));
write(Array(3) && new Number(+0));
write(Array(3) && new Number(-0));
write(Array(3) && new Number(0));
write(Array(3) && new Number(0.0));
write(Array(3) && new Number(-0.0));
write(Array(3) && new Number(+0.0));
write(Array(3) && new Number(1));
write(Array(3) && new Number(10));
write(Array(3) && new Number(10.0));
write(Array(3) && new Number(10.1));
write(Array(3) && new Number(-1));
write(Array(3) && new Number(-10));
write(Array(3) && new Number(-10.0));
write(Array(3) && new Number(-10.1));
write(Array(3) && new Number(Number.MAX_VALUE));
write(Array(3) && new Number(Number.MIN_VALUE));
write(Array(3) && new Number(Number.NaN));
write(Array(3) && new Number(Number.POSITIVE_INFINITY));
write(Array(3) && new Number(Number.NEGATIVE_INFINITY));
write(Array(3) && '');
write(Array(3) && 0xa);
write(Array(3) && 04);
write(Array(3) && 'hello');
write(Array(3) && 'hel' + 'lo');
write(Array(3) && String(''));
write(Array(3) && String('hello'));
write(Array(3) && String('h' + 'ello'));
write(Array(3) && new String(''));
write(Array(3) && new String('hello'));
write(Array(3) && new String('he' + 'llo'));
write(Array(3) && new Object());
write(Array(3) && new Object());
write(Array(3) && [1, 2, 3]);
write(Array(3) && [1 ,2 , 3]);
write(Array(3) && new Array(3));
write(Array(3) && Array(3));
write(Array(3) && new Array(1 ,2 ,3));
write(Array(3) && Array(1));
write(Array(3) && foo);
write(new Array(1 ,2 ,3) && undefined);
write(new Array(1 ,2 ,3) && null);
write(new Array(1 ,2 ,3) && true);
write(new Array(1 ,2 ,3) && false);
write(new Array(1 ,2 ,3) && Boolean(true));
write(new Array(1 ,2 ,3) && Boolean(false));
write(new Array(1 ,2 ,3) && new Boolean(true));
write(new Array(1 ,2 ,3) && new Boolean(false));
write(new Array(1 ,2 ,3) && NaN);
write(new Array(1 ,2 ,3) && +0);
write(new Array(1 ,2 ,3) && -0);
write(new Array(1 ,2 ,3) && 0);
write(new Array(1 ,2 ,3) && 0.0);
write(new Array(1 ,2 ,3) && -0.0);
write(new Array(1 ,2 ,3) && +0.0);
write(new Array(1 ,2 ,3) && 1);
write(new Array(1 ,2 ,3) && 10);
write(new Array(1 ,2 ,3) && 10.0);
write(new Array(1 ,2 ,3) && 10.1);
write(new Array(1 ,2 ,3) && -1);
write(new Array(1 ,2 ,3) && -10);
write(new Array(1 ,2 ,3) && -10.0);
write(new Array(1 ,2 ,3) && -10.1);
write(new Array(1 ,2 ,3) && Number.MAX_VALUE);
write(new Array(1 ,2 ,3) && Number.MIN_VALUE);
write(new Array(1 ,2 ,3) && Number.NaN);
write(new Array(1 ,2 ,3) && Number.POSITIVE_INFINITY);
write(new Array(1 ,2 ,3) && Number.NEGATIVE_INFINITY);
write(new Array(1 ,2 ,3) && new Number(NaN));
write(new Array(1 ,2 ,3) && new Number(+0));
write(new Array(1 ,2 ,3) && new Number(-0));
write(new Array(1 ,2 ,3) && new Number(0));
write(new Array(1 ,2 ,3) && new Number(0.0));
write(new Array(1 ,2 ,3) && new Number(-0.0));
write(new Array(1 ,2 ,3) && new Number(+0.0));
write(new Array(1 ,2 ,3) && new Number(1));
write(new Array(1 ,2 ,3) && new Number(10));
write(new Array(1 ,2 ,3) && new Number(10.0));
write(new Array(1 ,2 ,3) && new Number(10.1));
write(new Array(1 ,2 ,3) && new Number(-1));
write(new Array(1 ,2 ,3) && new Number(-10));
write(new Array(1 ,2 ,3) && new Number(-10.0));
write(new Array(1 ,2 ,3) && new Number(-10.1));
write(new Array(1 ,2 ,3) && new Number(Number.MAX_VALUE));
write(new Array(1 ,2 ,3) && new Number(Number.MIN_VALUE));
write(new Array(1 ,2 ,3) && new Number(Number.NaN));
write(new Array(1 ,2 ,3) && new Number(Number.POSITIVE_INFINITY));
write(new Array(1 ,2 ,3) && new Number(Number.NEGATIVE_INFINITY));
write(new Array(1 ,2 ,3) && '');
write(new Array(1 ,2 ,3) && 0xa);
write(new Array(1 ,2 ,3) && 04);
write(new Array(1 ,2 ,3) && 'hello');
write(new Array(1 ,2 ,3) && 'hel' + 'lo');
write(new Array(1 ,2 ,3) && String(''));
write(new Array(1 ,2 ,3) && String('hello'));
write(new Array(1 ,2 ,3) && String('h' + 'ello'));
write(new Array(1 ,2 ,3) && new String(''));
write(new Array(1 ,2 ,3) && new String('hello'));
write(new Array(1 ,2 ,3) && new String('he' + 'llo'));
write(new Array(1 ,2 ,3) && new Object());
write(new Array(1 ,2 ,3) && new Object());
write(new Array(1 ,2 ,3) && [1, 2, 3]);
write(new Array(1 ,2 ,3) && [1 ,2 , 3]);
write(new Array(1 ,2 ,3) && new Array(3));
write(new Array(1 ,2 ,3) && Array(3));
write(new Array(1 ,2 ,3) && new Array(1 ,2 ,3));
write(new Array(1 ,2 ,3) && Array(1));
write(new Array(1 ,2 ,3) && foo);
write(Array(1) && undefined);
write(Array(1) && null);
write(Array(1) && true);
write(Array(1) && false);
write(Array(1) && Boolean(true));
write(Array(1) && Boolean(false));
write(Array(1) && new Boolean(true));
write(Array(1) && new Boolean(false));
write(Array(1) && NaN);
write(Array(1) && +0);
write(Array(1) && -0);
write(Array(1) && 0);
write(Array(1) && 0.0);
write(Array(1) && -0.0);
write(Array(1) && +0.0);
write(Array(1) && 1);
write(Array(1) && 10);
write(Array(1) && 10.0);
write(Array(1) && 10.1);
write(Array(1) && -1);
write(Array(1) && -10);
write(Array(1) && -10.0);
write(Array(1) && -10.1);
write(Array(1) && Number.MAX_VALUE);
write(Array(1) && Number.MIN_VALUE);
write(Array(1) && Number.NaN);
write(Array(1) && Number.POSITIVE_INFINITY);
write(Array(1) && Number.NEGATIVE_INFINITY);
write(Array(1) && new Number(NaN));
write(Array(1) && new Number(+0));
write(Array(1) && new Number(-0));
write(Array(1) && new Number(0));
write(Array(1) && new Number(0.0));
write(Array(1) && new Number(-0.0));
write(Array(1) && new Number(+0.0));
write(Array(1) && new Number(1));
write(Array(1) && new Number(10));
write(Array(1) && new Number(10.0));
write(Array(1) && new Number(10.1));
write(Array(1) && new Number(-1));
write(Array(1) && new Number(-10));
write(Array(1) && new Number(-10.0));
write(Array(1) && new Number(-10.1));
write(Array(1) && new Number(Number.MAX_VALUE));
write(Array(1) && new Number(Number.MIN_VALUE));
write(Array(1) && new Number(Number.NaN));
write(Array(1) && new Number(Number.POSITIVE_INFINITY));
write(Array(1) && new Number(Number.NEGATIVE_INFINITY));
write(Array(1) && '');
write(Array(1) && 0xa);
write(Array(1) && 04);
write(Array(1) && 'hello');
write(Array(1) && 'hel' + 'lo');
write(Array(1) && String(''));
write(Array(1) && String('hello'));
write(Array(1) && String('h' + 'ello'));
write(Array(1) && new String(''));
write(Array(1) && new String('hello'));
write(Array(1) && new String('he' + 'llo'));
write(Array(1) && new Object());
write(Array(1) && new Object());
write(Array(1) && [1, 2, 3]);
write(Array(1) && [1 ,2 , 3]);
write(Array(1) && new Array(3));
write(Array(1) && Array(3));
write(Array(1) && new Array(1 ,2 ,3));
write(Array(1) && Array(1));
write(Array(1) && foo);
write(foo && undefined);
write(foo && null);
write(foo && true);
write(foo && false);
write(foo && Boolean(true));
write(foo && Boolean(false));
write(foo && new Boolean(true));
write(foo && new Boolean(false));
write(foo && NaN);
write(foo && +0);
write(foo && -0);
write(foo && 0);
write(foo && 0.0);
write(foo && -0.0);
write(foo && +0.0);
write(foo && 1);
write(foo && 10);
write(foo && 10.0);
write(foo && 10.1);
write(foo && -1);
write(foo && -10);
write(foo && -10.0);
write(foo && -10.1);
write(foo && Number.MAX_VALUE);
write(foo && Number.MIN_VALUE);
write(foo && Number.NaN);
write(foo && Number.POSITIVE_INFINITY);
write(foo && Number.NEGATIVE_INFINITY);
write(foo && new Number(NaN));
write(foo && new Number(+0));
write(foo && new Number(-0));
write(foo && new Number(0));
write(foo && new Number(0.0));
write(foo && new Number(-0.0));
write(foo && new Number(+0.0));
write(foo && new Number(1));
write(foo && new Number(10));
write(foo && new Number(10.0));
write(foo && new Number(10.1));
write(foo && new Number(-1));
write(foo && new Number(-10));
write(foo && new Number(-10.0));
write(foo && new Number(-10.1));
write(foo && new Number(Number.MAX_VALUE));
write(foo && new Number(Number.MIN_VALUE));
write(foo && new Number(Number.NaN));
write(foo && new Number(Number.POSITIVE_INFINITY));
write(foo && new Number(Number.NEGATIVE_INFINITY));
write(foo && '');
write(foo && 0xa);
write(foo && 04);
write(foo && 'hello');
write(foo && 'hel' + 'lo');
write(foo && String(''));
write(foo && String('hello'));
write(foo && String('h' + 'ello'));
write(foo && new String(''));
write(foo && new String('hello'));
write(foo && new String('he' + 'llo'));
write(foo && new Object());
write(foo && new Object());
write(foo && [1, 2, 3]);
write(foo && [1 ,2 , 3]);
write(foo && new Array(3));
write(foo && Array(3));
write(foo && new Array(1 ,2 ,3));
write(foo && Array(1));
write(foo && foo);