function testPrototypeInheritance() { $foo = \arc\prototype::create(['foo' => 'bar', 'bar' => function () { return $this->foo; }]); $bar = \arc\prototype::extend($foo, ['foo' => 'rab']); $this->assertEquals($foo->foo, 'bar'); $this->assertEquals($bar->foo, 'rab'); $this->assertEquals($foo->bar(), 'bar'); $this->assertEquals($bar->bar(), 'rab'); $this->assertTrue(\arc\prototype::hasOwnProperty($bar, 'foo')); $this->assertFalse(\arc\prototype::hasOwnProperty($bar, 'bar')); }