1// Copyright JS Foundation and other contributors, http://js.foundation 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15/* argument is not reference */ 16assert (delete 0 === true); 17assert (delete "0" === true); 18assert (delete (a = 1) === true); 19assert (delete delete a === true); 20 21/* argument is unresolvable reference */ 22assert (delete undefined_variable === true); 23 24/* argument is object-based reference */ 25var a = [1]; 26assert (a[0] === 1); 27assert (delete a[0] === true); 28assert (a[0] == undefined); 29 30var b = {c:0}; 31assert (b.c === 0); 32assert (delete b.c === true); 33assert (b.c === undefined); 34 35/* argument is lexical environment-based reference */ 36var a = 1; 37assert (a === 1); 38assert (delete a === false); 39assert (a === 1); 40