/** @test */ public function parametersCanBeInjectedIntoObject() { $object = new Tx_PtExtbase_Tests_Unit_State_Stubs_GetPostVarObject(); $object->setObjectNamespace('key1.key2.key3'); $this->gpVarAdapter->injectParametersInObject($object); $injectedValues = $object->getValues(); $this->assertEquals($injectedValues, $this->postVars['key1']['key2']['key3']); }
/** * Initializes the filter * * @param bool $initAfterReset * @return void */ public function init($initAfterReset = false) { $this->gpVarAdapter->injectParametersInObject($this); /** * What happens during initialization: * * 1. When being constructed, filter gets injected: * 1.1. Filter configuration from TS * 1.2. Session data from session adapter * 1.3. Get / Post vars from gpVarAdapter * * 2. After construction, init() is called * 2.1. Init calls method to init filter by TS configuration * 2.2. Init calls method to init filter by session data * 2.3. Init calls method to init filter by get / post vars * 2.4. Sets the filter active * * 3. Store filter data to session * * 4. Create filter query * * I you want to change the way, a filter initializes itsel, you have * to override init() in your own filter implementation! */ $this->initGenericFilterByTSConfig(); // We only want to reset a filter to its TS default value, if TS configuration says so if (!$initAfterReset || $initAfterReset && $this->filterConfig->getResetToDefaultValue()) { $this->initFilterByTsConfig(); } $this->initGenericFilterBySession(); $this->initFilterBySession(); $this->initGenericFilterByGPVars(); $this->initFilterByGpVars(); $this->setActiveState(); $this->initFilter(); $this->buildFilterQuery(); }