// Copyright 2009 the Sputnik authors.  All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
info: >
    When the Object constructor is called with one argument value and
    the value is a native ECMAScript object, do not create a new object but simply return value
es5id: 15.2.2.1_A2_T7
description: The value is a function declaration
---*/

//CHECK#0
if (typeof func !== 'undefined') {
  $ERROR('#0: function expression can\'t be declarated');
}

var n_obj = new Object(function func(){return 1;});

//CHECK#1
if (n_obj.constructor !== Function) {
  $ERROR('#1: When the Object constructor is called and if the value is an Object simply value returns');
}

//CHECK#2
if (n_obj() !== 1) {
  $ERROR('#2: When the Object constructor is called and if the value is an Object simply value returns');
}

//CHECK#3
if (typeof func !== 'undefined') {
  $ERROR('#3: function expression can\'t be declarated');
}