// Copyright (c) 2012 Ecma International.  All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
es5id: 15.2.3.5-4-147
description: >
    Object.create - 'configurable' property of one property in
    'Properties' is an Arguments object (8.10.5 step 4.b)
---*/

var argObj = (function() {
  return arguments;
})();

var newObj = Object.create({}, {
  prop: {
    configurable: argObj
  }
});

var beforeDeleted = newObj.hasOwnProperty("prop");

delete newObj.prop;

var afterDeleted = newObj.hasOwnProperty("prop");

assert.sameValue(beforeDeleted, true, 'beforeDeleted');
assert.sameValue(afterDeleted, false, 'afterDeleted');
