2011-09-07 08:35:18 +02:00
// Copyright 2009 the Sputnik authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
2014-07-22 01:09:02 +02:00
/ * - - -
2018-01-05 18:26:51 +01:00
info : |
2014-07-22 01:09:02 +02:00
When the [ [ HasProperty ] ] method of O is called with property name P and if O has not a property with name P
then If the [ [ Prototype ] ] of O is null , return false or call the [ [ HasProperty ] ] method of [ [ Prototype ] ] with property name P
2014-07-25 00:41:42 +02:00
es5id : 8.12 . 6_ A2 _T2
2014-07-22 01:09:02 +02:00
description : >
Try find not existent property of any Object , but existent
property of this Object prototype
-- - * /
2011-09-07 08:35:18 +02:00
var _ _proto = { phylum : "avis" } ;
//////////////////////////////////////////////////////////////////////////////
//CHECK#1
if ( ! ( "valueOf" in _ _proto ) ) {
$ERROR ( '#1: var __proto={phylum:"avis"}; "valueOf" in __proto' ) ;
}
//
//////////////////////////////////////////////////////////////////////////////
function Robin ( ) { this . name = "robin" } ;
Robin . prototype = _ _proto ;
var _ _my _ _robin = new Robin ;
//////////////////////////////////////////////////////////////////////////////
//CHECK#2
if ( ! ( "phylum" in _ _my _ _robin ) ) {
$ERROR ( '#2: var __proto={phylum:"avis"}; function Robin(){this.name="robin"}; Robin.prototype=__proto; var __my__robin = new Robin; "phylum" in __my__robin' ) ;
}
//
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//CHECK#3
if ( _ _my _ _robin . hasOwnProperty ( "phylum" ) ) {
$ERROR ( '#3: var __proto={phylum:"avis"}; function Robin(){this.name="robin"}; Robin.prototype=__proto; var __my__robin = new Robin; __my__robin.hasOwnProperty("phylum") === false. Actual: ' + ( _ _my _ _robin . hasOwnProperty ( "phylum" ) ) ) ;
}
//
//////////////////////////////////////////////////////////////////////////////