// 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-249
description: >
    Object.create - one property in 'Properties' is a Date object that
    uses Object's [[Get]] method to access the 'get' property (8.10.5
    step 7.a)
---*/

        var dateObj = new Date();

        dateObj.get = function () {
            return "VerifyDateObject";
        };

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

assert.sameValue(newObj.prop, "VerifyDateObject", 'newObj.prop');
