public function setOption($key, $value) { $this->options[$key] = $value; } public function resetPathInfoArray() { foreach (array_diff(array_keys($this->getPathInfoArray()), self::$initialPathArrayKeys) as $key) { unset($this->pathInfoArray[$key]); } } } $dispatcher = new sfEventDispatcher(); $request = new myRequest($dispatcher); // ->getLanguages() $t->diag('->getLanguages()'); $t->is($request->getLanguages(), array(), '->getLanguages() returns an empty array if the client do not send an ACCEPT_LANGUAGE header'); $request->languages = null; $_SERVER['HTTP_ACCEPT_LANGUAGE'] = ''; $t->is($request->getLanguages(), array(), '->getLanguages() returns an empty array if the client send an empty ACCEPT_LANGUAGE header'); $request->languages = null; $_SERVER['HTTP_ACCEPT_LANGUAGE'] = 'en-us,en;q=0.5,fr;q=0.3'; $t->is($request->getLanguages(), array('en_US', 'en', 'fr'), '->getLanguages() returns an array with all accepted languages'); // ->getPreferredCulture() $t->diag('->getPreferredCulture()'); $request->languages = null; $_SERVER['HTTP_ACCEPT_LANGUAGE'] = ''; $t->is($request->getPreferredCulture(array('fr', 'en')), 'fr', '->getPreferredCulture() returns the first given culture if the client do not send an ACCEPT_LANGUAGE header'); $request->languages = null; $_SERVER['HTTP_ACCEPT_LANGUAGE'] = 'en-us,en;q=0.5,fr;q=0.3'; $t->is($request->getPreferredCulture(array('fr', 'en')), 'en', '->getPreferredCulture() returns the preferred culture'); $request->languages = null;