load("bf4b12814bc95f34eeb130127d8438ab.js");
load("93fae755edd261212639eed30afa2ca4.js");
// Copyright 2009 the Sputnik authors.  All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
info: >
    Assume F is a Function object. When the [[HasInstance]] method of F is called with value V and V is an object, the following steps are taken:
    i) Call the [[Get]] method of F with property name "prototype".
    ii) Let O be Result(i) and O is an object.
    iii) Let V be the value of the [[Prototype]] property of V.
    iv) If V is null, return false.
    v)  If O and V refer to the same object or if they refer to objects joined to each other (13.1.2), return true.
    vi) Go to step iii)
es5id: 15.3.5.3_A3_T1
description: F.prototype.type is 1, and V is new F
---*/

var FACTORY;
FACTORY = Function("this.name=\"root\"");

FACTORY.prototype.type=1;

var instance;
instance = new FACTORY;

//CHECK#1
if (!(instance instanceof FACTORY)) {
  $ERROR('#1: If O and V refer to the same object or if they refer to objects joined to each other (13.1.2), return true');
}
