// Copyright 2011 Google Inc.  All rights reserved.
/**
 * Detects whether the value of a function's "prototype" property
 * as seen by normal object operations might deviate from the value
 * as seem by Object.getOwnPropertyDescriptor
 *
 * @path ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A4.js
 * @description Checks if reading a function's .prototype directly
 * agrees with reading it via Object.getOwnPropertyDescriptor, after
 * having set it by Object.defineProperty.
 */

function foo() {}

Object.defineProperty(foo, 'prototype', { value: {} });
if (foo.prototype !==
    Object.getOwnPropertyDescriptor(foo, 'prototype').value) {
  $ERROR("A function.prototype's descriptor lies");
}

