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)); }