public function testDoubleDecorator() { $container = new Container(); $dec1 = new PrefixDecorator('dec1:', $container); $dec2 = new PrefixDecorator('dec2:', $dec1); $container->set('rootindex', 'rootvalue'); $dec1->set('dec1index', 'dec1value'); $dec2->set('dec2index', 'dec2value'); $this->assertEquals('rootvalue', $container->get('rootindex')); $this->assertEquals('dec1value', $container->get('dec1:dec1index')); $this->assertEquals('dec2value', $container->get('dec1:dec2:dec2index')); $this->assertEquals('rootvalue', $dec1->get('../rootindex')); $this->assertEquals('dec1value', $dec1->get('dec1index')); $this->assertEquals('dec2value', $dec1->get('dec2:dec2index')); $this->assertEquals('rootvalue', $dec2->get('../../rootindex')); $this->assertEquals('dec1value', $dec2->get('../dec1index')); $this->assertEquals('dec2value', $dec2->get('dec2index')); }