public function test_constructor() { global $INPUT; $data = array('schemas' => array(array('schema1', 'alias1'), array('schema2', 'alias2')), 'cols' => array('%pageid%', 'first', 'second', 'third', 'fourth', 'afirst', 'asecond', 'athird', 'afourth')); // init with no parameters $expect = $data; $params = array(); $searchConfig = new meta\SearchConfig($data); $dynamic = $searchConfig->getDynamicParameters(); $this->assertEquals($expect, $searchConfig->getConf()); $this->assertEquals($params, $dynamic->getURLParameters()); // init with sort $INPUT->set(meta\SearchConfigParameters::$PARAM_SORT, '^alias2.athird'); $expect['sort'] = array(array('schema2.athird', false)); $params[meta\SearchConfigParameters::$PARAM_SORT] = '^schema2.athird'; $searchConfig = new meta\SearchConfig($data); $dynamic = $searchConfig->getDynamicParameters(); $this->assertEquals($expect, $searchConfig->getConf()); $this->assertEquals($params, $dynamic->getURLParameters()); // init with offset $INPUT->set(meta\SearchConfigParameters::$PARAM_OFFSET, 25); $expect['offset'] = 25; $params[meta\SearchConfigParameters::$PARAM_OFFSET] = 25; $searchConfig = new meta\SearchConfig($data); $dynamic = $searchConfig->getDynamicParameters(); $this->assertEquals($expect, $searchConfig->getConf()); $this->assertEquals($params, $dynamic->getURLParameters()); // init with filters $_REQUEST[meta\SearchConfigParameters::$PARAM_FILTER]['alias1.first*~'] = 'test'; $_REQUEST[meta\SearchConfigParameters::$PARAM_FILTER]['afirst='] = 'test2'; $expect['filter'] = array(array('schema1.first', '*~', 'test', 'AND'), array('schema2.afirst', '=', 'test2', 'AND')); $params[meta\SearchConfigParameters::$PARAM_FILTER . '[schema1.first*~]'] = 'test'; $params[meta\SearchConfigParameters::$PARAM_FILTER . '[schema2.afirst=]'] = 'test2'; $searchConfig = new meta\SearchConfig($data); $dynamic = $searchConfig->getDynamicParameters(); $this->assertEquals($expect, $searchConfig->getConf()); $this->assertEquals($params, $dynamic->getURLParameters()); }