1 /* 2 * Copyright (c) 2014 Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24 /** 25 * @test 26 * @option -Dnashorn.debug=true 27 * @fork 28 */ 29 30 load(__DIR__ + "maputil.js"); 31 32 // check that builtin objects share property map 33 34 assertSameMap(new Boolean(true), new Boolean(false)); 35 assertSameMap(new Number(3), new Number(Math.PI)); 36 assertSameMap(new String('hello'), new String('world')); 37 assertSameMap(new Object(), new Object()); 38 assertSameMap(/hello/, /world/); 39 // try w/without regexp flags 40 assertSameMap(/hello/i, /world/g); 41 assertSameMap(new Date(), new Date()); 42 assertSameMap(new Date(2000, 1, 1), new Date(1972, 5, 6)); 43 assertSameMap(Function(), Function()); 44 assertSameMap(Function("x", "return x"), Function("x", "return x*x")); 45 assertSameMap(new Error(), new Error()); 46 assertSameMap(new Error('foo'), new Error('bar')); 47 assertSameMap(new EvalError(), new EvalError()); 48 assertSameMap(new EvalError('foo'), new EvalError('bar')); 49 assertSameMap(new RangeError(), new RangeError()); 50 assertSameMap(new RangeError('foo'), new RangeError('bar')); 51 assertSameMap(new ReferenceError(), new ReferenceError()); 52 assertSameMap(new ReferenceError('foo'), new ReferenceError('bar')); 53 assertSameMap(new SyntaxError(), new SyntaxError()); 54 assertSameMap(new SyntaxError('foo'), new SyntaxError('bar')); 55 assertSameMap(new TypeError(), new TypeError()); 56 assertSameMap(new TypeError('foo'), new TypeError('bar')); 57 assertSameMap(new URIError(), new URIError()); 58 assertSameMap(new URIError('foo'), new URIError('bar'));