Example #1
0
 public function testConfigExtras()
 {
     $this->assertSame([], $this->context->getConfigExtras());
     $this->assertNull($this->context->get(Context::CONFIG_EXTRAS));
     $configExtras = [new TestConfigExtra('test')];
     $this->context->setConfigExtras($configExtras);
     $this->assertEquals($configExtras, $this->context->getConfigExtras());
     $this->assertEquals($configExtras, $this->context->get(Context::CONFIG_EXTRAS));
     $this->assertTrue($this->context->hasConfigExtra('test'));
     $this->assertFalse($this->context->hasConfigExtra('another'));
     $anotherConfigExtra = new TestConfigExtra('another');
     $configExtras[] = $anotherConfigExtra;
     $this->context->addConfigExtra($anotherConfigExtra);
     $this->assertEquals($configExtras, $this->context->getConfigExtras());
     $this->assertEquals($configExtras, $this->context->get(Context::CONFIG_EXTRAS));
     unset($configExtras[0]);
     $configExtras = array_values($configExtras);
     $this->context->removeConfigExtra('test');
     $this->assertEquals($configExtras, $this->context->getConfigExtras());
     $this->assertEquals($configExtras, $this->context->get(Context::CONFIG_EXTRAS));
     // test remove of non existing extra
     $this->context->removeConfigExtra('test');
     $this->assertEquals($configExtras, $this->context->getConfigExtras());
     $this->assertEquals($configExtras, $this->context->get(Context::CONFIG_EXTRAS));
     $this->context->setConfigExtras([]);
     $this->assertSame([], $this->context->getConfigExtras());
     $this->assertNull($this->context->get(Context::CONFIG_EXTRAS));
 }